after fb_shutdown(), end-of-process cleanup should not do anything
------------------------------------------------------------------

                 Key: CORE-4475
                 URL: http://tracker.firebirdsql.org/browse/CORE-4475
             Project: Firebird Core
          Issue Type: Bug
          Components: API / Client Library
    Affects Versions: 2.5.2
         Environment: MacOS X 10.9, development build of Firebird
            Reporter: Lionel Elie Mamane


LibreOffice embeds FireBird, telling it to use a subdirectory of the 
LibreOffice tempdir for the firebird lockdir.

At process shutdown, ~Cleanup from file init.cpp is called, which calls this 
stack:
allClean()
Firebird::InstanceControl::destructors()
Firebird::InstanceControl::InstanceList::destructors()
Firebird::InstanceControl::InstanceLink<jrd::StorageInstance, ...>::dtor
jrd::StorageInstance::dtor
~ConfigStorage
ISC_remove_map_file(sh_mem const*)
ISC_remove_map_file(char const*)
gds_prefix_lock
os_utils::createLockDirectory(char cont*)

However, the LibreOffice temporary directory, which is the parent of the 
firebird lockdir, has been deleted by then, which causes the mkdir() to fail, 
throwing an exception that eventually causes (in development build) firebird to 
call abort().

So we changed LibreOffice to call fb_shutdown(0, 1) when it does not need 
firebird anymore, expecting that then ~Cleanup would not be called, or become a 
noop or ... We checked that fb_shutdown is actually called, and returns 
success. However, ~Cleanup still tries to do work, for that to create a 
lockdir, which fails and abort().

Please make fb_shutdown() make all the cleanups so that nothing is done at 
process exit() time anymore.

-- 
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

        

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to