Possible races while Service destruction ----------------------------------------
Key: CORE-4303 URL: http://tracker.firebirdsql.org/browse/CORE-4303 Project: Firebird Core Issue Type: Bug Components: Engine Affects Versions: 3.0 Alpha 1, 2.5.2 Update 1, 2.5.3, 3.0 Alpha 2 Reporter: Roman Simakov This destructor sometimes is called concurrently with existing Service::ExistenceGuard object in another thread Service::~Service() { removeFromAllServices(); delete svc_trace_manager; svc_trace_manager = NULL; if (svc_current_guard) { svc_current_guard->release(); } } Variable svc_current_guard is not null exactly in such moment. But after check another thread with ExistenceGuard can continue its work and ExistenceGuard object will be destroyed and svc_current_guard will be released. In this case ~Service will try to leave svc->svc_existence_lock the second time which leads to abort. -- 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 ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel