F20 + Eclipse + Google Talk Plugin = A Bad Time

by rgrunber

A little while ago, a colleague discovered a strange issue that seems to make Eclipse crash fairly predictably. With the release of Fedora 20, I’ve seen others discover this bug. It’s known upstream and the obvious approaches (Comments 18, and 21) don’t seem to work as expected. It seems that disabling plugin support isn’t enough because the API itself is likely calling dlopen to load the plugins and maybe inserting them into some registry. This is sufficient to cause the crash. I was thinking about maybe disabling the dlopen call altogether on the relevant plugins as a temporary workaround / proof of concept, and it seems like a promising approach.

To be honest, I haven’t tried running this for any significant period of time so this is somewhere in between just a toy example and a workaround for people who really need both Eclipse and Google Talk Plugin on their systems. This isn’t ideal, but probably an improvement from ‘yum remove -y google-talkplugin’, and I couldn’t help trying a random hack to “fix” it.

It looks like SystemTap is a really awesome, versatile tool, but maybe I’m pushing square pegs through a round hole as well. I guess I should take on world peace for my next post .. using SystemTap (I’m sure there’s a tapset for that).

Thanks for pointing that out! Setting mozilla/xulrunner as the renderer is probably the best way to avoid that crash. While this does work, there are a few noticeable, but minor issues :

– Eclipse’s internal web browser will not work. This is because Fedora Eclipse doesn’t support xulrunner ( Explanation at https://bugs.eclipse.org/bugs/show_bug.cgi?id=420030#c3 ).
– The Help System will load in the default external browser (eg. Firefox) rather than its own window.
– Any functionality in Eclipse that uses a web standard to format/render text (eg. JavaDoc Hover Help) will not work. One would see things like badly formatted text and no hyperlinks.

On the plus side, at least one doesn’t have to constantly run a SystemTap script🙂