SuperServer could hung on database shutdown
-------------------------------------------
Key: CORE-4952
URL: http://tracker.firebirdsql.org/browse/CORE-4952
Project: Firebird Core
Issue Type: Bug
Components: Engine
Affects Versions: 3.0 Beta 2
Environment: SuperServer only
Reporter: Vlad Khorsun
Internal deadlock could happen when database is shutting down.
1. Shutdown thread
00 ntdll!KiFastSystemCallRet
01 kernel32!WaitForSingleObject+0x12
02 engine12!Firebird::Semaphore::tryEnter+0x20
03 engine12!CCH_shutdown+0x169
04 engine12!JRD_shutdown_database+0x571
engine12!Firebird::IProviderBaseImpl<Jrd::JProvider,Firebird::CheckStatusWrapper,Firebird::IPluginBaseImpl<Jrd::JProvider,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IReferenceCountedImpl<Jrd::JProvider,Firebird::
CCH_shutdown owns bcb->bcb_syncObject and waits for bcb->bcb_writer_sem
semaphor (signalling that cache_writer thread is gone)
2. cache_writer thread
00 ntdll!KiFastSystemCallRet
01 kernel32!WaitForSingleObject+0x12
02 engine12!Firebird::Synchronize::sleep+0x16
03 engine12!Firebird::Synchronize::sleep+0xe
04 engine12!Firebird::SyncObject::wait+0xbb
05 engine12!Firebird::SyncObject::lock+0xab
06 engine12!get_buffer+0x1ba
07 engine12!cache_writer+0x2a8
cache_writer waits for bcb->bcb_syncObject forever
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel