After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 466574 - Race condition in GIOP timeout code and one more...
Race condition in GIOP timeout code and one more...
Status: RESOLVED FIXED
Product: ORBit2
Classification: Deprecated
Component: general
2.14.x
Other All
: Normal critical
: ---
Assigned To: ORBit maintainers
ORBit maintainers
Depends on:
Blocks:
 
 
Reported: 2007-08-14 12:02 UTC by Jules Colding
Modified: 2007-08-15 13:29 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18


Attachments
Fixes the two bugs (6.07 KB, patch)
2007-08-14 12:03 UTC, Jules Colding
none Details | Review

Description Jules Colding 2007-08-14 12:02:50 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).
Comment 1 Jules Colding 2007-08-14 12:03:51 UTC
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.
Comment 2 Michael Meeks 2007-08-14 13:01:11 UTC
patch looks fine & cleanup looks nice too.
Comment 3 Jules Colding 2007-08-14 13:10:45 UTC
OK - committed.

Thanks,
  jules
Comment 4 Kjartan Maraas 2007-08-15 13:14:10 UTC
This fixed make check hanging for me too, so it was triggered by the regression tests here at least. Thanks!
Comment 5 Jules Colding 2007-08-15 13:29:39 UTC
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...