We've been doing some testing here - and after 1300 runs of a writer test - we managed to produce the following trace.
It -looks- as if we have a hung app - waiting for an event that never arrives. Almost certainly a consequence of the horror that is osl::Condition - and its various inadequacies.
The solution is probably to phase out osl::Condition in favor of any alternative - eg. the boost Condition. Particularly for this threadpool.
Created attachment 128957 [details]
There's also std::condition_variable in C++11...
Working on switching it to std:: threading foo ... fun.
Pushed an initial patch to gerrit; -much- saner using a real condition it turns out =)
Michael Meeks committed a patch related to this issue.
It has been pushed to "master":
tdf#104126 - comphelper thread-pool, use reliable std::condition_variable.
It will be available in 5.4.0.
The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
Affected users are encouraged to test the fix and report feedback.
Presumed fixed, if not replaced with another bug =)