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