Bug#669905: Iceweasel crashes with "bus error" on startup on sparc

Jurij Smakov jurij at wooyd.org
Sat Apr 21 19:59:01 UTC 2012


Package: iceweasel
Version: 10.0.3esr-3
Severity: serious

Hello,

Latest iceweasel version in testing/unstable crashes immediately after 
launch on sparc:

GNU gdb (GDB) 7.4-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "sparc-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/lib/iceweasel/firefox-bin...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/lib/iceweasel/firefox-bin 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/sparc-linux-gnu/libthread_db.so.1".
[New Thread 0xf4c73b70 (LWP 7401)]
[New Thread 0xf40afb70 (LWP 7402)]
[New Thread 0xf38afb70 (LWP 7403)]
[New Thread 0xf2cffb70 (LWP 7404)]
[New Thread 0xf24ffb70 (LWP 7405)]
[New Thread 0xf1cffb70 (LWP 7406)]
[New Thread 0xf0a97b70 (LWP 7408)]
Program received signal SIGBUS, Bus error.
XPCCallContext::XPCCallContext (this=0xffff566c, callerLanguage=XPCContext::LANG_JS, cx=0xf7924340, callBeginRequest=0, obj=0xf0c9d900, flattenedJSObject=0xf0c9d900, 
    wrapper=0x0, tearOff=0x0) at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/xpconnect/src/XPCCallContext.cpp:83
83	/build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/xpconnect/src/XPCCallContext.cpp: No such file or directory.
(gdb) bt
#0  XPCCallContext::XPCCallContext (this=0xffff566c, callerLanguage=XPCContext::LANG_JS, cx=0xf7924340, callBeginRequest=0, obj=0xf0c9d900, 
    flattenedJSObject=0xf0c9d900, wrapper=0x0, tearOff=0x0)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/xpconnect/src/XPCCallContext.cpp:83
#1  0xf6deef30 in XPCLazyCallContext::GetXPCCallContext (this=0xffff5648)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/xpconnect/src/xpcprivate.h:1335
#2  0xf6df191c in XPCConvert::NativeInterface2JSObject (lccx=..., d=0xffff5930, dest=0x0, aHelper=..., iid=0xf735bd00, Interface=0xf758ffd4, allowNativeWrapper=true, 
    isGlobal=false, pErr=0xffff55dc) at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/xpconnect/src/XPCConvert.cpp:1086
#3  0xf6e14f7c in xpc_qsXPCOMObjectToJsval (lccx=..., aHelper=..., iid=0xf735bd00, iface=0xf758ffd4, rval=0xffff5930)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/xpconnect/src/XPCQuickStubs.cpp:1093
#4  0xf6e2fa54 in nsIDOMNode_GetChildNodes (cx=<optimized out>, obj=<optimized out>, id=-255324416, vp=0xffff5930)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/build-xulrunner/js/xpconnect/src/dom_quickstubs.cpp:4738
#5  0xf7689f2c in CallJSPropertyOp (id=<optimized out>, op=<optimized out>, vp=0xffff5930, receiver=0xf0c9d900, cx=0xf7924340) at ../../../js/src/jscntxtinlines.h:347
#6  get (vp=0xffff5930, pobj=0xf0c9d8c8, obj=0xf0c9d900, receiver=0xf0c9d900, cx=0xf7924340, this=0xf0ca51c8) at ../../../js/src/jsscopeinlines.h:293
#7  js_NativeGetInline (getHow=1, vp=0xffff5930, shape=0xf0ca51c8, pobj=0xf0c9d8c8, obj=0xf0c9d900, receiver=0xf0c9d900, cx=0xf7924340)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/src/jsobj.cpp:5762
#8  js_GetPropertyHelperInline (vp=0xffff5930, getHow=1, id=<optimized out>, receiver=0xf0c9d900, obj=0xf0c9d900, cx=0xf7924340)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/src/jsobj.cpp:5942
#9  js_GetPropertyHelper (cx=0xf7924340, obj=0xf0c9d900, id=<optimized out>, getHow=1, vp=0xffff5930)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/src/jsobj.cpp:5951
#10 0xf765f678 in js::Interpret (cx=0xf7924340, entryFrame=0xf1000440, interpMode=js::JSINTERP_NORMAL)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/src/jsinterp.cpp:3484
#11 0xf766ecb8 in js::InvokeKernel (cx=0xf7924340, args=..., construct=js::NO_CONSTRUCT)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/src/jsinterp.cpp:647
#12 0xf75ed9f4 in Invoke (args=..., cx=0xf7924340, construct=<optimized out>)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/src/jsinterp.h:148
#13 array_readonlyCommon<ArrayForEachBehavior> (args=<synthetic pointer>, cx=0xf7924340)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/src/jsarray.cpp:3390
#14 array_forEach (cx=0xf7924340, argc=<optimized out>, vp=0xf10003e0) at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/src/jsarray.cpp:3427
#15 0xf766ebec in CallJSNative (args=..., native=<optimized out>, cx=0xf7924340) at ../../../js/src/jscntxtinlines.h:297
#16 js::InvokeKernel (cx=0xf7924340, args=..., construct=js::NO_CONSTRUCT)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/src/jsinterp.cpp:629
#17 0xf765eb88 in js::Interpret (cx=0xf7924340, entryFrame=0xf10002b0, interpMode=js::JSINTERP_NORMAL)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/src/jsinterp.cpp:3948
#18 0xf766ecb8 in js::InvokeKernel (cx=0xf7924340, args=..., construct=js::NO_CONSTRUCT)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/src/jsinterp.cpp:647
#19 0xf766f154 in Invoke (construct=js::NO_CONSTRUCT, args=..., cx=0xf7924340)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/src/jsinterp.h:148
#20 js::Invoke (cx=0xf7924340, thisv=..., fval=..., argc=2, argv=0xffff63f0, rval=0xffff6508)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/src/jsinterp.cpp:679
#21 0xf75e38d8 in JS_CallFunctionValue (cx=0xf7924340, obj=0xf0c9c0d0, fval=..., argc=2, argv=0xffff63f0, rval=0xffff6508)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/src/jsapi.cpp:5199
#22 0xf6e06730 in nsXPCWrappedJSClass::CallMethod (this=0xf1432890, wrapper=<optimized out>, methodIndex=<optimized out>, info=0xf79b6780, nativeParams=0xffff6640)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/xpconnect/src/XPCWrappedJSClass.cpp:1530
#23 0xf6e013ec in nsXPCWrappedJS::CallMethod (this=0xefedb2c0, methodIndex=3, info=0xf79b6780, params=0xffff6640)
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/js/xpconnect/src/XPCWrappedJS.cpp:611
#24 0xf7192c74 in PrepareAndDispatch (self=0xefe1bd40, methodIndex=<optimized out>, args=<optimized out>)
---Type <return> to continue, or q <return> to quit---
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc_solaris.cpp:115
#25 0xf71944c0 in SharedStub ()
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_sparc_solaris.s:72
#26 0xf71944c0 in SharedStub ()
    at /build/buildd-iceweasel_10.0.3esr-3-sparc-Mahwh3/iceweasel-10.0.3esr/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_sparc_solaris.s:72
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) disass
Dump of assembler code for function XPCCallContext::XPCCallContext(XPCContext::LangType, JSContext*, JSBool, JSObject*, JSObject*, XPCWrappedNative*, XPCWrappedNativeTearOff*):
   0xf6de3800 <+0>:	save  %sp, -112, %sp
   0xf6de3804 <+4>:	sethi  %hi(0x41c00), %g1
   0xf6de3808 <+8>:	clr  [ %i0 + 4 ]
   0xf6de380c <+12>:	sethi  %hi(0x754000), %l7
   0xf6de3810 <+16>:	call  0xf6657960 <__sparc_get_pc_thunk.l7>
   0xf6de3814 <+20>:	add  %l7, 0x200, %l7	! 0x754200
   0xf6de3818 <+24>:	xor  %g1, -888, %g1
   0xf6de381c <+28>:	add  %l7, %g1, %g1
   0xf6de3820 <+32>:	add  %g1, 8, %g1
   0xf6de3824 <+36>:	call  0xf6de0708 <nsXPConnect::GetXPConnect()>
   0xf6de3828 <+40>:	st  %g1, [ %i0 ]
   0xf6de382c <+44>:	clr  [ %i0 + 0xc ]
   0xf6de3830 <+48>:	ld  [ %fp + 0x5c ], %g1
   0xf6de3834 <+52>:	mov  %i1, %o1
   0xf6de3838 <+56>:	mov  %i3, %o2
   0xf6de383c <+60>:	st  %o0, [ %i0 + 8 ]
   0xf6de3840 <+64>:	mov  %i4, %o3
   0xf6de3844 <+68>:	mov  %i0, %o0
   0xf6de3848 <+72>:	st  %g1, [ %i0 + 0x34 ]
   0xf6de384c <+76>:	clr  %o4
   0xf6de3850 <+80>:	clr  %o5
   0xf6de3854 <+84>:	ld  [ %fp + 0x60 ], %g1
   0xf6de3858 <+88>:	clr  [ %i0 + 0x10 ]
   0xf6de385c <+92>:	st  %g1, [ %i0 + 0x38 ]
   0xf6de3860 <+96>:	mov  2, %g1
   0xf6de3864 <+100>:	st  %i2, [ %i0 + 0x14 ]
   0xf6de3868 <+104>:	st  %g1, [ %sp + 0x5c ]
   0xf6de386c <+108>:	mov  -1, %g1
=> 0xf6de3870 <+112>:	clrx  [ %i0 + 0x18 ]
   0xf6de3874 <+116>:	st  %i1, [ %i0 + 0x20 ]
   0xf6de3878 <+120>:	st  %i5, [ %i0 + 0x30 ]
   0xf6de387c <+124>:	clrb  [ %i0 + 0x78 ]
   0xf6de3880 <+128>:	clrb  [ %i0 + 0x90 ]
   0xf6de3884 <+132>:	st  %g1, [ %sp + 0x60 ]
   0xf6de3888 <+136>:	clr  [ %sp + 0x64 ]
   0xf6de388c <+140>:	call  0xf6de3538 <XPCCallContext::Init(XPCContext::LangType, int, JSObject*, JSObject*, XPCCallContext::WrapperInitOptions, int, unsigned int, JS::Value*, JS::Value*)>
   0xf6de3890 <+144>:	clr  [ %sp + 0x68 ]
   0xf6de3894 <+148>:	rett  %i7 + 8
   0xf6de3898 <+152>:	nop 
End of assembler dump.
(gdb) info reg i0
i0             0xffff566c	-43412

This is an unaligned memory access, clrx argument must be 8-byte 
aligned. 

Best regards,
-- 
Jurij Smakov                                           jurij at wooyd.org
Key: http://www.wooyd.org/pgpkey/                      KeyID: C99E03CC





More information about the pkg-mozilla-maintainers mailing list