To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=112448
------- Additional comments from [email protected] Fri Jul 16 06:07:40 +0000 2010 ------- The attached patch fixes the problem. My findings: If a remote process dies during a remote call, the code in JobQueue::enter() breaks the loop if the first callstack entry is 0 (comment says disposed!). However, in this situation the m_cndWait condition variable may still be signaled. The next remote call (to a different process) that reuses this JobQueue now runs into a race condition: m_cndWait is still signalled, but the remote response hasn't arrived yet. JobQueue::enter() will find condition variable signaled, but will find the m_lstJob lits empty. It walks over the assertion !m_lstJob.empty() and finally returns 0, which causes the caller to not clear its exception variable. Additionally, I found that ClientJob::m_bExceptionOccured isn't initialized in the constructor (this made debugging hard...). --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
