| Summary: | [ds] Using BundleContext.registerService() from a custom/non-SCR thread can deadlock | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | Bjorn M <bm> | ||||
| Component: | Compendium | Assignee: | equinox.compendium-inbox <equinox.compendium-inbox> | ||||
| Status: | RESOLVED WORKSFORME | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | bechler, jawr, s.boshev, tjwatson | ||||
| Version: | 3.6 | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Linux | ||||||
| Whiteboard: | stalebug | ||||||
| Attachments: |
|
||||||
|
Description
Bjorn M
Created attachment 193690 [details]
Stacktrace
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie. It is shameful there was not a single comment on this bug besides from the originator. We have since upgraded to using Felix SCR implementation which has been more thoroughly tested with multithreaded scenarios. I am fairly confident such issues described in this bug work with the Felix SCR implementation. Ha, I remember this bug! 2011, what a time to be alive. Surprisingly I even had this login information saved even if I don't have any control over the email anymore. Anyway, I have no idea if the bug is still there or not, but I can provide some closure if anyone out there wonder what we did about it. Essentially we determined that there were no way we would be able to fix the Equinox implementation so we switched to Felix instead. Unfortunately it turned out that Felix had just as many multi-threading bugs. While trying to figure out if we could fix _those_ bugs instead, we eventually concluded that the problem was in the OSGi interfaces themselves. There were simply no way the interfaces could be implemented that would be safe for our usecases. So I ended up writing a custom component manager over a weekend and then we removed all traces of OSGi from our application. Worked like a charm! I wish we had open sourced it. Please remember that this was yeeears ago. None of these issues might be applicable today. It's always fun to tell the story about it though. |