[
https://issues.apache.org/jira/browse/LOGCXX-537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17462068#comment-17462068
]
Robert Middleton commented on LOGCXX-537:
-----------------------------------------
I've updated the branch/PR with some fixes. The double wait should now be
gone, and the reconnection should work fine. If you are able to take a look at
it and test on your system, that would be good. Note that this is an ABI
change, so you will need to recompile any code that uses log4cxx.
There still seems to be a problem with the test timing out sometimes, but that
seems to be sporadic and unrelated to these fixes.
> double mutex lock
> -----------------
>
> Key: LOGCXX-537
> URL: https://issues.apache.org/jira/browse/LOGCXX-537
> Project: Log4cxx
> Issue Type: Bug
> Components: Appender
> Affects Versions: 0.12.1
> Environment: Ubuntu 18.04
> Reporter: Truman Lackey
> Priority: Major
> Fix For: 0.13.0
>
>
> There is a possibility of the SocketAppender calling
> std::unique_lock<log4cxx::shared_mutex> lock(mutex) twice causing a deadlock
> exception. In socketappenderskeleton.cpp connect call if the exception is
> caught on line 118 then fireConnector() will be called. On line 160 the
> mutex is attempted to be locked again but it has already been locked in the
> appendersleketo.cpp doAppend call. This causes log4cxx to throw a
> std::err::resource_deadlock_would_occur
--
This message was sent by Atlassian Jira
(v8.20.1#820001)