Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Embedded Firebird crashes inside of Jrd::LockManager::blocking_action_thread() [CORE3767] #4111

Open
firebird-automations opened this issue Feb 20, 2012 · 1 comment

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Petr Silar (psilar)

Votes: 2

We have several dumps of our application indicating crash inside of Firebird's embedded engine as follows (release 2.5.1.26351):

> .ecxr
eax=02a04924 ebx=76e31136 ecx=765b0ac4 edx=00000000 esi=ffffffff edi=02a04924
eip=039519c0 esp=08f4f7c4 ebp=00000001 iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246
fbembed!event_blocked:
039519c0 8b4808 mov ecx,dword ptr [eax+8] ds:002b:02a0492c=????????

>kb
ChildEBP RetAddr Args to Child
08f4f7c0 03951b06 00000001 0403491c 009ac044 fbembed!event_blocked [c:\..\firebird\src\jrd\isc_sync.cpp @ 717]
08f4f7d8 03a8d708 02a04924 00000001 00000000 fbembed!ISC_event_wait+0x66 [c:\..\firebird\src\jrd\isc_sync.cpp @ 1418]
08f4f848 03a8ded9 0392ed45 009ac044 3af780b6 fbembed!Jrd::LockManager::blocking_action_thread+0x178 [c:\..\firebird\src\lock\lock.cpp @ 1568]
08f4f84c 0392ed45 009ac044 3af780b6 00000000 fbembed!Jrd::LockManager::blocking_action_thread+0x9 [c:..\firebird\src\lock\lock_proto.h @ 403]
08f4f874 71fe29bb 009ad5e0 3afca5c2 00000000 fbembed!`anonymous namespace'::threadStart+0x55 [c:\..\firebird\src\jrd\threadstart.cpp @ 140]
WARNING: Stack unwind information not available. Following frames may be wrong.
08f4f8ac 71fe2a47 00000000 76e3339a 0a9b69f0 msvcr80+0x29bb
08f4f8c0 77c09ef2 0a9b69f0 76c1b716 00000000 msvcr80+0x2a47
08f4f900 77c09ec5 71fe29e1 0a9b69f0 00000000 ntdll!__RtlUserThreadStart+0x70
08f4f918 00000000 71fe29e1 0a9b69f0 00000000 ntdll!_RtlUserThreadStart+0x1b

Most of the crashes are from the moment when computer is waking up from hibernation.

[Guess:] It seems to me as insufficient fix of CORE2064. If I understand the code well, during LockManager's instance destruction, when the single turn of blocking_action_thread's loop takes too long, LockManager's destructor simply lefts the thread alone and frees itself which finally leads to access violation in the thread.

@firebird-automations
Copy link
Collaborator Author

Commented by: Hennadii Zabula (zabulus)

I have same issue in 2.5.3.26778

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant