GNOME Bugzilla – Bug 466574
Race condition in GIOP timeout code and one more...
Last modified: 2007-08-15 13:29:39 UTC
Steps to reproduce: 1. Test timeout code with more than the regression test 2. Watch errors 3. Think Stack trace: n/a Other information: The new GIOP timeout code introduced two new bugs. Neither bug was not caught by the regression test but only observed when using 2.14.8 in a more stressing context. The test environment was Evolution with evolution-brutus. The bugs was: 1) A race when creating a mutex in giop_timeout_add() 2) It was possible to add more than one timeout source for the same LincConnection in giop_send_buffer_write() The observed results of these two bugs was "Illegal reads" and trying to write to NULL. I have a patch that fixes these bugs and will attach it as soon as bugzilla allows me to do so (when "File bug" has been pressed).
Created attachment 93642 [details] [review] Fixes the two bugs I'll post this patch to the list and will commit it ASAP if there are no major objections.
patch looks fine & cleanup looks nice too.
OK - committed. Thanks, jules
This fixed make check hanging for me too, so it was triggered by the regression tests here at least. Thanks!
While I'm happy that the fix fixed the regression test for you, I'm also curious how the regression tests could hang if you used vanilla 2.14.8. The regression tests never failed for me. I discovered the sad symptoms of the bug while testing evolution-brutus. Somewhat puzzling...