Running fbserver.exe and fbembed.dll on the same computer (same session) with 
different locations for FIREBIRD_LOCK leads to deadlock because of fb_trace file
--------------------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: CORE-4046
                 URL: http://tracker.firebirdsql.org/browse/CORE-4046
             Project: Firebird Core
          Issue Type: Bug
    Affects Versions: 2.5.2
         Environment: - Windows XP / Windows 7 (User has full rights)
            Reporter: Martin Schwedhelm


1. Start fbServer with FIREBIRD_LOCK="C:\A"
2. Start client application which uses fbembed.dll with FIREBIRD_LOCK="C:\B"
3. Try to open a database in the client application via fbembed.dll.

The problem only occurs if the user has full rights. In my opinion the reason 
for that is the following code snippet:

TraceConfigStorage.cpp (line 101)

if (fb_utils::isGlobalKernelPrefix() ||
    !pfnProcessIdToSessionId ||
    pfnProcessIdToSessionId(GetCurrentProcessId(), &sesID) == 0 ||
    sesID == 0)
{
  filename.printf(TRACE_FILE); // TODO: it must be per engine instance
}
else
{
  filename.printf("%s.%u", TRACE_FILE, sesID);
}

Without "fb_utils::isGlobalKernelPrefix()" everything works as expected, but I 
don't know if that could have side effects.

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

        

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to