Summary: | {www-client/firefox,mail-clientthunderbird}-bin-{15,16},seamonkey-bin-2.13.2 with net-libs/libproxy-0.4.10 crash on exit | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | vltg0903 |
Component: | [OLD] Library | Assignee: | Mozilla Gentoo Team <mozilla> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bruno, dark.shadow, enrico.tagliavini, fcoiffie, nandhp |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | backtrace |
Description
vltg0903
2012-10-21 11:31:15 UTC
Sounds like https://bugs.mageia.org/show_bug.cgi?id=6299 http://ftp.nluug.nl/ibiblio/distributions/mageia/distrib/cauldron/SRPMS/core/release/libproxy-0.4.10-1.mga3.src.rpm contains: -DWITH_MOZJS=OFF That's your "spidermonkey" USE flag. What does crashing on exit mean? Do you see any special output? Sorry, should have made that clearer. As soon as I shut down either application, the mozilla crash reporter starts and tells me that the application crashed. The details from the crash reporter are this: Add-ons: tbtestpilot@labs.mozilla.com:1.3.9,{972ce4c6-7e08-4474-a285-3208198ce6fd}:15.0.1 BuildID: 20120907140327 CrashTime: 1350895999 EMCheckCompatibility: true FramePoisonBase: 7ffffffff0dea000 FramePoisonSize: 4096 InstallTime: 1347449270 Notes: OpenGL: Tungsten Graphics, Inc -- Mesa DRI Intel(R) Sandybridge Desktop -- 3.0 Mesa 8.0.4 -- texture_from_pixmap ProductID: {3550f703-e582-4d05-9a08-453d09bdfdc6} ProductName: Thunderbird ReleaseChannel: release SecondsSinceLastCrash: 30 StartupTime: 1350895995 Theme: classic/1.0 Throttleable: 1 Vendor: Version: 15.0.1 This report also contains technical information about the state of the application when it crashed. Unfortunately, it doesn't say what this 'technical information is', and I don't see a stack trace anywhere. There is no helpful console output either. I can confirm this. It causes crashes in firefox (non-bin) when it's running and at exit. Additionally, it causes a segfault at thunderbird (non-bin) startup (after checking updates for add-ons). Reverting to 0.4.7 fixes the problems. spidermonkey USE flag is enabled here too. Note that neither rebuilding firefox nor thunderbird will fix the segfaults, the cause is definitely within libproxy (and very likely the spidermonkey USE flag). updated to spidermonkey-1.8.5-r2 today, and I have this problem as well: firefox does not start, segfaulting without returning an error message. furthermore: I just updated libproxy to 0.4.10-r1, with USE="-spidermonkey -webkit", and I still have this crash. If the problem is really related to spidermonkey, you should check all of the packages using it, not just libproxy. While I had my share of trouble with libproxy[spidermonkey] awhile ago, the reason for this (as noted in comment 1) is a symbol clash between js symbols used in firefox and those in the installed in spidermonkey, so the problem could be triggered by *any* app/lib linking with spidermonkey, that's loaded in firefox. Created attachment 327478 [details]
backtrace
This is the backtrace generated with firefox 16 compiled with USE=debug and splitdebug enabled. This issue is solved compiling libproxy with USE=webkit -spidermonkey. Please block libproxy[spidermonkey] at least in every mozilla application. This is a very nasty issue to understand for users.
Cheers
@comment 8: if the problem lies in a symbol clash, backtraces will usually be quite misleading - they will point to code that's most likely will be correct. (In reply to comment #9) > @comment 8: if the problem lies in a symbol clash, backtraces will usually > be quite misleading - they will point to code that's most likely will be > correct. Surely I don't understand the backtrace I posted, I'm still not used to this stuff, but compiling libproxy with USE spidermonkey makes firefox not usable. The vodafone website, google street view, my bank website, all of the crashes and it is very easy to reproduce. If there is still doubt it is a fault of libmozjs then feel free to ask me some more testing given I can easly reproduce the issue. Otherwise please block libproxy[spidermonkey] ASAP @comment 10: not quite what I've meant. The backtrace is actually nice, but if the problem really is a symbol clash (which it most likely *is*), it's not as useful for debugging the problem, as it would be in the usual segfault case. Other than enforcing libproxy[-spidermonkey] not much can be done, as any attempt of a real fix would require upstream to use something alike to symbol versioning... I'll just say it would be a very special kind of 'fun' convincing them to do that. My problem was (sort of) back with bug 373397, even if I managed to trigger it several firefox releases later (and initially thought it was flash related). (In reply to comment #11) > @comment 10: not quite what I've meant. > The backtrace is actually nice, but if the problem really is a symbol clash > (which it most likely *is*), it's not as useful for debugging the problem, > as it would be in the usual segfault case. Ok thank you for pointing this out. > Other than enforcing libproxy[-spidermonkey] not much can be done, as any > attempt of a real fix would require upstream to use something alike to > symbol versioning... I'll just say it would be a very special kind of 'fun' > convincing them to do that. I agree. That's why I stress for blocking spidermonkey. In the short term it seems to be the only workaround. This is a nasty issue since it involves web browsers and email clients from mozilla, both widespread and very important program for daily usage. (In reply to comment #7) > If the problem is really related to spidermonkey, you should check all of > the packages using it, not just libproxy. > While I had my share of trouble with libproxy[spidermonkey] awhile ago, the > reason for this (as noted in comment 1) is a symbol clash between js symbols > used in firefox and those in the installed in spidermonkey, so the problem > could be triggered by *any* app/lib linking with spidermonkey, that's loaded > in firefox. I did a quick tests against firefox-16.0.1 with the freewrl browser plugin; freewrl (via libFreeWRL) does link to spidermonkey (mandatory) but the plugin launches separate sub-processes of freewrl rather than directly loading the spidermonkey-linked library; this may be why it works fine and doesn't have any symbol collisions. Given that the newer firefoxes/thunderbirds are using what is essentially packaged as spidermonkey-1.8.7 in gentoo (currently p.masked), would building libproxy[spidermonkey] against spidermonkey-1.8.7 alleviate the symbol collisions? (In reply to comment #13) > (In reply to comment #7) > > If the problem is really related to spidermonkey, you should check all of > > the packages using it, not just libproxy. > > While I had my share of trouble with libproxy[spidermonkey] awhile ago, the > > reason for this (as noted in comment 1) is a symbol clash between js symbols > > used in firefox and those in the installed in spidermonkey, so the problem > > could be triggered by *any* app/lib linking with spidermonkey, that's loaded > > in firefox. > > > I did a quick tests against firefox-16.0.1 with the freewrl browser plugin; > freewrl (via libFreeWRL) does link to spidermonkey (mandatory) but the > plugin launches separate sub-processes of freewrl rather than directly > loading the spidermonkey-linked library; this may be why it works fine and > doesn't have any symbol collisions. > > Given that the newer firefoxes/thunderbirds are using what is essentially > packaged as spidermonkey-1.8.7 in gentoo (currently p.masked), would > building libproxy[spidermonkey] against spidermonkey-1.8.7 alleviate the > symbol collisions? Answered my own question -- it does not. FF-bin-16.0.1 crashes (and reports the crash) immediately on startup, with libproxy-1.4.10-r1[spidemronkey] against spidermonkey-1.8.7-r1 ... I haven't been able to confirm for sure that libproxy actually works with spidermonkey-1.8.7 since i have no proxy to bounce through nor any ability (apparently) to set up a temporary one, however other libproxy consumers do not crash so I expect it is working OK outside of firefox-bin + 31 Oct 2012; Ian Stakenvicius <axs@gentoo.org> firefox-bin-15.0.1.ebuild, + firefox-bin-16.0.2.ebuild: + Interim solution to block net-libs/libproxy[spidermonkey] due to mozjs symbol + collisions that cause crashes, bug 439148 + It's not a great solution but it'll keep users from having crashes, especially if/when spidermonkey-1.8.7 is unmasked since then the crash is immediate rather than on exit. I confirmed that the firefox-bin ESR builds are exempt from this bug (at least my tests succeeded with no crashes) An update regarding thunderbird-bin -- when libproxy[spidermonkey] is compiled against spidermonkey-1.8.5 , the ESR releases do not crash. However when compiled against spidermonkey-1.8.7 they do crash after load and while checking for mail. By comparison I had no luck getting FF ESR to crash at all. As such it is possible that older versions of thunderbird-bin are potentially affected by libproxy[spidermonkey] (or any-other-plugin[spidermonkey]) conflicts as well that just haven't manifested to date. However, I only added the mask to TB-bin 15.x and above. tests against seamonkey-bin-2.13.2 have the same issue, whenever the 'mail' component is started. This bug also applies to non-bin ebuilds. I experienced exactly the same problem with www-client/firefox. Random segmentation faults if libproxy is built with USE=spidermonkey. Rebuilt it with USE=-spidermonkey and the segmentation faults are gone. Now that net-libs/libproxy[spidermonkey] is blocked in firefox-bin-*.ebuild: 31 Oct 2012; Ian Stakenvicius <axs@gentoo.org> firefox-bin-15.0.1.ebuild, firefox-bin-16.0.2.ebuild: Interim solution to block net-libs/libproxy[spidermonkey] due to mozjs symbol collisions that cause crashes, bug 439148 Why not also block it in firefox-*.ebuild? (In reply to comment #18) > > Why not also block it in firefox-*.ebuild? This has been fixed a different way in the non-bin ebuilds -- symbol versioning has been added to both spidermonkey (1.8.5-r2 and above, iirc) as well as {firefox,thunderbird}-17 and above, which allows libmozjs and libxul to co-exist in memory without firefox or libproxy trying to use the wrong library. (note i will need to confirm that the patches are indeed in the tree, I'm pretty sure they are and have been for a few weeks now) ALL mozilla products now have versioning support for libs. |