Bug 759123

Summary: Firefox crashes in libmozjs185 (libproxy dependency)
Product: [openSUSE] openSUSE 12.2 Reporter: Wolfgang Rosenauer <wolfgang>
Component: FirefoxAssignee: E-mail List <bnc-team-mozilla>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P5 - None CC: afaerber, dimstar, foolishewe, martin, Mathias.Homann, meissner, saulbordes, thomas, vkrevs
Version: Final   
Target Milestone: Final   
Hardware: Other   
OS: Other   
Whiteboard: maint:planned:update
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Wolfgang Rosenauer 2012-04-25 17:58:56 UTC
Personally I see quite some crashes of Firefox happening in libmozjs185 starting with Firefox 13 (currently in beta).
Checking Mozilla crash statistics reveals that it also happens for users of earlier versions (as current 12).
Firefox does not pull in that library but libproxy would in certain cases.

We need to do something about it and I'm not sure what the best approach is. And we should track it here as well.
Comment 1 Vadim Krevs 2012-06-06 11:23:34 UTC
Same here - started happening once I updated to Firefox 13 from OBS. Happens most often when opening a page with a flash video (youtube, filebox, etc). Also, the crash does not occur with 64-bit build of Firefox 13 from mozilla.org. 

Here is a stacktrace from Firefox 13 from OBS for openSUSE 12.2/x86_64:


rpm -qa | egrep -i "mozilla|firefox|xul|moz"|sort
MozillaFirefox-13.0-1.1.x86_64
MozillaFirefox-branding-openSUSE-5.0-17.1.x86_64
MozillaFirefox-debuginfo-13.0-1.1.x86_64
MozillaFirefox-devel-13.0-1.1.x86_64
MozillaThunderbird-13.0-3.1.x86_64
MozillaThunderbird-debuginfo-13.0-3.1.x86_64
MozillaThunderbird-devel-13.0-3.1.x86_64
MozillaThunderbird-translations-common-13.0-3.1.x86_64
ca-certificates-mozilla-1.76-3.1.1.noarch
libmozjs185-1_0-1.8.5-3.6.x86_64
libproxy1-pacrunner-mozjs-0.4.7-7.4.1.x86_64
mozilla-js-13.0-1.1.x86_64
mozilla-js192-1.9.2.28-2.12.2.x86_64
mozilla-js192-32bit-1.9.2.28-2.12.2.x86_64
mozilla-kde4-integration-0.6.3-24.1.x86_64
mozilla-nspr-32bit-4.9.1-2.1.x86_64
mozilla-nspr-4.9.1-2.1.x86_64
mozilla-nspr-debuginfo-4.9.1-2.1.x86_64
mozilla-nspr-devel-4.9.1-2.1.x86_64
mozilla-nss-3.13.5-1.1.x86_64
mozilla-nss-32bit-3.13.5-1.1.x86_64
mozilla-nss-certs-3.13.5-1.1.x86_64
mozilla-nss-certs-32bit-3.13.5-1.1.x86_64
mozilla-nss-certs-debuginfo-3.13.5-1.1.x86_64
mozilla-nss-debuginfo-3.13.5-1.1.x86_64
mozilla-nss-devel-3.13.5-1.1.x86_64
mozilla-xulrunner192-1.9.2.28-2.12.2.x86_64
mozilla-xulrunner192-32bit-1.9.2.28-2.12.2.x86_64
mozilla-xulrunner192-debuginfo-1.9.2.28-2.12.2.x86_64
mozilla-xulrunner192-devel-1.9.2.28-2.12.2.x86_64
mozilla-xulrunner192-gnome-1.9.2.28-2.12.2.x86_64
mozilla-xulrunner192-gnome-32bit-1.9.2.28-2.12.2.x86_64
mozilla-xulrunner192-translations-common-1.9.2.28-2.12.2.x86_64
mozilla-xulrunner192-translations-common-32bit-1.9.2.28-2.12.2.x86_64
xulrunner-13.0-1.1.x86_64
xulrunner-debuginfo-13.0-1.1.x86_64
xulrunner-devel-13.0-1.1.x86_64

Program received signal SIGSEGV, Segmentation fault.
0x00007fffce260730 in ?? ()
(gdb) bt
#0  0x00007fffce260730 in ?? ()
#1  0x00007fffcbd63979 in ?? () from /usr/lib64/libmozjs185.so.1.0
#2  0x00007ffff5a5cd28 in js::LooselyEqual (cx=0x7fffe1c08700, lval=<optimized out>, rval=<optimized out>, result=0x7fffffff9570)
    at /usr/src/debug/mozilla/js/src/jsinterp.cpp:757
#3  0x00007ffff5a63dd8 in js::Interpret (cx=0x7fffe1c08700, entryFrame=0x7fffe38000a8, interpMode=js::JSINTERP_NORMAL)
    at /usr/src/debug/mozilla/js/src/jsinterp.cpp:2236
#4  0x00007ffff5a6be76 in js::InvokeKernel (cx=0x7fffe1c08700, args=..., construct=<optimized out>)
    at /usr/src/debug/mozilla/js/src/jsinterp.cpp:529
#5  0x00007ffff5a6c406 in Invoke (construct=js::NO_CONSTRUCT, args=..., cx=0x7fffe1c08700)
    at /usr/src/debug/mozilla/js/src/jsinterp.h:172
#6  js::Invoke (cx=0x7fffe1c08700, thisv=..., fval=..., argc=1, argv=<optimized out>, rval=0x7fffffff9bf8)
    at /usr/src/debug/mozilla/js/src/jsinterp.cpp:561
#7  0x00007ffff59e7c5c in JS_CallFunctionValue (cx=<optimized out>, obj=<optimized out>, fval=..., argc=<optimized out>, 
    argv=<optimized out>, rval=<optimized out>) at /usr/src/debug/mozilla/js/src/jsapi.cpp:5432
#8  0x00007ffff548b20f in nsXPCWrappedJSClass::CallMethod (this=0x7fffd9a72ac0, wrapper=0x7fffe1e1d9f8, methodIndex=3, info=
    0x7fffe6416218, nativeParams=0x7fffffff9ea8) at /usr/src/debug/mozilla/js/xpconnect/src/XPCWrappedJSClass.cpp:1518
#9  0x00007ffff5486661 in nsXPCWrappedJS::CallMethod (this=0x7fffd3b89280, methodIndex=3, info=0x7fffe6416218, params=<optimized out>)
    at /usr/src/debug/mozilla/js/xpconnect/src/XPCWrappedJS.cpp:617
#10 0x00007ffff57eca95 in PrepareAndDispatch (self=0x7fffd1ec7240, methodIndex=<optimized out>, args=<optimized out>, gpregs=
    0x7fffffff9f80, fpregs=0x7fffffff9fb0) at /usr/src/debug/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_x86_64_linux.cpp:153
#11 0x00007ffff57ebf8b in SharedStub () from /usr/lib64/firefox/libxul.so
#12 0x00007ffff515359c in nsEventListenerManager::HandleEventInternal (this=0x7fffd3b89e00, aPresContext=0x7fffd55f5000, aEvent=
    0x7fffffffa280, aDOMEvent=0x7fffffffa1d8, aCurrentTarget=0x7fffcf6f22b0, aFlags=6, aEventStatus=0x7fffffffa1e0, aPusher=
    0x7fffffffa1f0) at /usr/src/debug/mozilla/content/events/src/nsEventListenerManager.cpp:800
#13 0x00007ffff5167adb in HandleEvent (aEventStatus=0x7fffffffa1e0, aCurrentTarget=<optimized out>, aDOMEvent=0x7fffffffa1d8, 
    aEvent=<optimized out>, aPresContext=<optimized out>, this=<optimized out>, aPusher=0x7fffffffa1f0, aFlags=6)
    at /usr/src/debug/mozilla/content/events/src/nsEventListenerManager.h:169
#14 HandleEvent (aPusher=0x7fffffffa1f0, aFlags=6, aVisitor=..., this=0x7fffd9aaf498, aMayHaveNewListenerManagers=<optimized out>)
    at /usr/src/debug/mozilla/content/events/src/nsEventDispatcher.cpp:216
#15 nsEventTargetChainItem::HandleEvent (this=0x7fffd9aaf498, aVisitor=..., aFlags=6, aMayHaveNewListenerManagers=false, aPusher=
    0x7fffffffa1f0) at /usr/src/debug/mozilla/content/events/src/nsEventDispatcher.cpp:192
#16 0x00007ffff5167da8 in nsEventTargetChainItem::HandleEventTargetChain (this=0x7fffd9aaf700, aVisitor=..., aFlags=6, aCallback=
    0x7fffffffa308, aMayHaveNewListenerManagers=false, aPusher=0x7fffffffa1f0)
    at /usr/src/debug/mozilla/content/events/src/nsEventDispatcher.cpp:348
#17 0x00007ffff51685e9 in nsEventDispatcher::Dispatch (aTarget=<optimized out>, aPresContext=0x7fffd55f5000, aEvent=0x7fffffffa280, 
    aDOMEvent=0x0, aEventStatus=0x7fffffffa31c, aCallback=0x7fffffffa308, aTargets=0x0)
    at /usr/src/debug/mozilla/content/events/src/nsEventDispatcher.cpp:682
#18 0x00007ffff5157ef8 in nsEventStateManager::DispatchMouseEvent (this=0x7fffd3aeece0, aEvent=<optimized out>, 
    aMessage=<optimized out>, aTargetContent=0x7fffcf6f22b0, aRelatedContent=<optimized out>)
    at /usr/src/debug/mozilla/content/events/src/nsEventStateManager.cpp:3805
#19 0x00007ffff515a7e5 in nsEventStateManager::NotifyMouseOut (this=0x7fffd3aeece0, aEvent=0x7fffffffa898, aMovingInto=0x7fffd1fe66b0)
    at /usr/src/debug/mozilla/content/events/src/nsEventStateManager.cpp:3916
#20 0x00007ffff515a8ec in nsEventStateManager::NotifyMouseOver (this=0x7fffd3aeece0, aEvent=0x7fffffffa898, aContent=0x7fffd1fe66b0)
    at /usr/src/debug/mozilla/content/events/src/nsEventStateManager.cpp:3964
#21 0x00007ffff515a9f4 in nsEventStateManager::GenerateMouseEnterExit (this=0x7fffd3aeece0, aEvent=0x7fffffffa898)
    at /usr/src/debug/mozilla/content/events/src/nsEventStateManager.cpp:4003
#22 0x00007ffff515c116 in nsEventStateManager::PreHandleEvent (this=0x7fffd3aeece0, aPresContext=0x7fffd55f5000, aEvent=0x7fffffffa898, 
    aTargetFrame=0x7fffd1f9ccd0, aStatus=0x7fffffffa83c) at /usr/src/debug/mozilla/content/events/src/nsEventStateManager.cpp:1148
#23 0x00007ffff4f70e1b in PresShell::HandleEventInternal (this=0x7fffd1d44d60, aEvent=0x7fffffffa898, aStatus=0x7fffffffa83c)
---Type <return> to continue, or q <return> to quit---q
Comment 2 Wolfgang Rosenauer 2012-06-06 11:50:03 UTC
Now as Firefox 13 will be released this crash is happening for "everyone".
Dimstar, in light of the short timeframe until 12.2 what can we do for that? Should I "conflict" in Firefox with the libproxy mozjs package or should be pull it from the release for now?
Comment 3 Dominique Leuenberger 2012-06-06 11:58:22 UTC
For 12.2 I think it's best to not ship the mozjs pacrunner;
as an additional safety, you can conflcit libproxt1-mozjs <= 0.4.7

this will evidently cause webkit pacrunner to be pulled in though.

I'll work on the libproxy package to drop the mozjs pacrunner for now.
Comment 4 Wolfgang Rosenauer 2012-06-08 17:22:05 UTC
*** Bug 765964 has been marked as a duplicate of this bug. ***
Comment 5 Marcus Meissner 2012-06-08 19:07:45 UTC
adding a Conflicts: libproxy1-pacrunner-mozjs <= currentversion-release 
will cause a conflict to be displayed by the packagemanagement stack.
Comment 6 Marcus Meissner 2012-06-08 19:36:13 UTC
is this easily fixable in libproxy?

we could onbsolete the libproxypack package, but this is probably not good either
Comment 7 Dominique Leuenberger 2012-06-08 19:44:36 UTC
We (libproxy devs) gave up trying to follow the moz API changes... And hoped that the release of a stable API would improve things.

In long term we're planning on getting theprescriber on the snide, but that will take some more time.

For 12.2 the best will be to not enable the mozjs PAC runner and obsolete it.

Just disabling does not work, but I have apatch ready in svn foot that. Well test and submit on the weekend.
Comment 8 Bernhard Wiedemann 2012-06-09 15:00:08 UTC
This is an autogenerated message for OBS integration:
This bug (759123) was mentioned in
https://build.opensuse.org/request/show/124319 Factory / libproxy
Comment 9 Wolfgang Rosenauer 2012-06-15 20:41:19 UTC
*** Bug 766321 has been marked as a duplicate of this bug. ***
Comment 10 Vadim Krevs 2012-06-16 10:05:08 UTC
Firefox 13 from the updates OBS packages no longer crashes. Thanks!
Comment 11 Bernhard Wiedemann 2012-06-16 12:00:08 UTC
This is an autogenerated message for OBS integration:
This bug (759123) was mentioned in
https://build.opensuse.org/request/show/125186 Factory / MozillaFirefox
Comment 12 Dominique Leuenberger 2012-06-16 12:56:18 UTC
(In reply to comment #11)
> This is an autogenerated message for OBS integration:
> This bug (759123) was mentioned in
> https://build.opensuse.org/request/show/125186 Factory / MozillaFirefox

I'm generally NOT convinced that this obsoletes should live in the FF package.
It's just wrong.

It has already been added to the libproxy 0.4.7 package in Factory, where it belongs (I do see need for this obsoletes in the repo itself, but NOT in Factory)
Comment 13 Wolfgang Rosenauer 2012-06-16 14:06:05 UTC
The Obsoletes was added to have a solution for 12.1 and 11.4 actually. I don't like it and it does not work for "non-patches" where it just does not allow Firefox to be updated as long as the mozjs libproxy module is installed.

I will build some conditionals around it so I can still use the same spec everywhere. (as in %suse_version < 1220)
Comment 14 Wolfgang Rosenauer 2012-08-01 05:57:02 UTC
*** Bug 773517 has been marked as a duplicate of this bug. ***
Comment 15 Wolfgang Rosenauer 2012-08-28 14:20:45 UTC
*** Bug 777658 has been marked as a duplicate of this bug. ***
Comment 16 Wolfgang Rosenauer 2012-08-28 14:22:50 UTC
This was addressed for 12.2.
There is not much we can do about released products besides telling users what to do manually.
Comment 17 Wolfgang Rosenauer 2012-08-31 16:29:00 UTC
*** Bug 778302 has been marked as a duplicate of this bug. ***
Comment 18 Wolfgang Rosenauer 2012-09-06 20:05:59 UTC
*** Bug 778351 has been marked as a duplicate of this bug. ***
Comment 19 Wolfgang Rosenauer 2012-10-08 11:17:02 UTC
*** Bug 783914 has been marked as a duplicate of this bug. ***