Segfault when engine's dynamic library is unloaded right after closing worker
threads (GC and/or cache writer)
--------------------------------------------------------------------------------------------------------------
Key: CORE-5452
URL: http://tracker.firebirdsql.org/browse/CORE-5452
Project: Firebird Core
Issue Type: Bug
Components: Engine
Affects Versions: 3.0.1, 3.0.0, 4.0 Initial
Environment: POSIX (reported and reproduced on Linux)
Reporter: Alexander Peshkov
The issue was reported multiple times in fb devel list, I will mention here
Damyan Ivanov and Stephan Bergmann.
The reason of a bug is related with a method of worker thread shutdown based on
semaphore. At the very end of thread code shutdown semaphore is released. Code
that initiated worker thread shutdown waits for that semaphore and continues
execution when shutdown semaphore is released. That's almost always OK but
sometimes thread may get frozen after releasing shutdown semaphore (to make bug
reproducible I've emulated this with long cycle after semaphore release) and
when it tries to resume dynamic library is already unloaded from RAM causing
attempt to execute code at wrong address. That's why we always get blind stacks
for a thread which caused segfault.
--
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
------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel