[ https://issues.apache.org/jira/browse/LOGCXX-317?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thorsten Schöning resolved LOGCXX-317. -------------------------------------- Resolution: Fixed I applied the patch because regarding LOGCXX-359 the former mentioned change doesn't resolve the issue, wheres the patch of the reporter did for him. > Log4cxx triggers locking inversion, which can result in a deadlock > ------------------------------------------------------------------ > > Key: LOGCXX-317 > URL: https://issues.apache.org/jira/browse/LOGCXX-317 > Project: Log4cxx > Issue Type: Bug > Affects Versions: 0.10.0 > Environment: Operating System: Windows 2003 R2 > Compiler: Visual Studio 2005 SP1 > log4cxx 0.10.0 was compiled as a DLL. > Note: the reported issue is independent of the above data. > Reporter: Bart Van Assche > Assignee: Curt Arnold > Attachments: call-stacks.txt, > helgrind-locking-order-violation-report.txt, > locking-order-violation-example.cpp, locking-order-violation-fix.patch > > Original Estimate: 24h > Remaining Estimate: 24h > > Calling log4cxx::configureAndWatch() results in Logger::mutex being locked > first, and Hierarchy::mutex being locked nested. > Calling log4cxx::getLogger() results in Hierarchy::mutex being locked first, > and Logger::mutex being locked nested. > See also the attachment for the full call stacks. > Such behavior is called locking inversion and can result in a sporadic > deadlock. > This issue has been found via Intel Thread Checker. > Note: there are also other tools that can detect locking inversion, e.g. the > Helgrind tool included with the Valgrind suite. -- This message was sent by Atlassian JIRA (v6.1.5#6160)