Hi, About 6 months ago, I had a deadlock issue that regularly stopped production servers. While I was opening a bugzilla ticket, I found that this was already reported back in 2009. This issue is still opened as it was difficult to reproduce. On that issue, I added:
[1] An explanation of why a deadlock is possible. [1] Stacktraces of deadlocked threads from a production server. [2] A small unit test that adds a Thread.sleep() to the PropertyCache to make it always reproducable. [3] A patch solving this issue. [4] Explanations of why the patch rewrites the existing PropertyCache class. This was then reviewed and unit tests were added [5]. On top of this, I have committed the fix in my private branch and it works well on several big production systems. This is as far as I can go before a FOP committer takes it further. I am writing this because: - Deadlocks should be fixed. When they occur, there is no way around them. - The trunk is moving, the patch is aging and it will be more difficult to apply it over time. - It is discouraging for submitting more patches. Alexios Giotis [1] https://issues.apache.org/bugzilla/show_bug.cgi?id=46962#c3 [2] https://issues.apache.org/bugzilla/attachment.cgi?id=27342 [3] https://issues.apache.org/bugzilla/attachment.cgi?id=27477&action=diff [4] https://issues.apache.org/bugzilla/show_bug.cgi?id=46962#c7 [5] https://issues.apache.org/bugzilla/show_bug.cgi?id=46962#c9