Not conclusive yet, as the client's only been running about three days, but it looks as though this simple fix solved the problem.
The answer seems to be that Thread::Semaphore is, ironically, not thread-safe.
| [reply] |
The answer seems to be that Thread::Semaphore is, ironically, not thread-safe.
Thanks for the update, and please do continue to keep us (me) informed.
Unfortunately there are a bunch of modules in the Thread::* namespace that were never tested in multi-core or multi-cpu setups. Getting a handle on which ones are broken is useful information.
Better yet, once you're convinced that Thread::Semaphore is the source of your problems, a bug report against it might see it corrected, or at least a documentation change to reflect the problem.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |