Thunderbird crashes on launch on aarch64 in zesty

Bug #1686087 reported by Ramana Radhakrishnan
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
thunderbird (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Running thunderbird on my arm64 box gives me the following backtrace.

Description: Ubuntu 17.04
Release: 17.04

0x0000ffffb60764a8 <+104>: and x0, x0, #0x7ffffff00000
   0x0000ffffb60764ac <+108>: add x0, x0, #0xff, lsl #12
=> 0x0000ffffb60764b0 <+112>: ldr x20, [x0, #4080]

That indicates a pointer is being clamped to 47 bits which is wrong. could this be rebuilt please ?

#0 0x0000ffffb60764b0 in js::gc::Cell::storeBuffer() const (this=<optimized out>) at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/js/src/gc/Heap.h:1343
#1 0x0000ffffb60764b0 in js::HeapSlot::post(js::NativeObject*, js::HeapSlot::Kind, unsigned int, JS::Value const&) (target=..., slot=0, kind=js::HeapSlot::Slot, owner=0xffffaa02c070, this=0xffffaa02c090)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/js/src/gc/Barrier.h:703
#2 0x0000ffffb60764b0 in js::HeapSlot::set(js::NativeObject*, js::HeapSlot::Kind, unsigned int, JS::Value const&) (this=0xffffaa02c090, owner=0xffffaa02c070, slot=0, v=..., kind=js::HeapSlot::Slot)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/js/src/gc/Barrier.h:690
#3 0x0000ffffb607808c in js::NativeObject::setReservedSlot(unsigned int, JS::Value const&) (v=..., index=0, this=<optimized out>)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/js/src/vm/NativeObject.h:890
#4 0x0000ffffb607808c in js::ClonedBlockObject::create(JSContext*, JS::Handle<js::StaticBlockObject*>, JS::Handle<JSObject*>) (cx=cx@entry=0xffffb1df9c00, block=block@entry=..., enclosing=enclosing@entry=...)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/js/src/vm/ScopeObject.cpp:859
#5 0x0000ffffb607af3c in js::ClonedBlockObject::createGlobal(JSContext*, JS::Handle<js::GlobalObject*>) (cx=cx@entry=0xffffb1df9c00, global=global@entry=...)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/js/src/vm/ScopeObject.cpp:890
#6 0x0000ffffb5fe7c3c in js::GlobalObject::createInternal(JSContext*, js::Class const*) (cx=cx@entry=0xffffb1df9c00, clasp=clasp@entry=0xffffb73a5f80 <JSRuntime::createSelfHostingGlobal(JSContext*)::shgClass>)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/js/src/vm/GlobalObject.cpp:258
#7 0x0000ffffb6065b54 in JSRuntime::createSelfHostingGlobal(JSContext*) (cx=cx@entry=0xffffb1df9c00) at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/js/src/vm/SelfHosting.cpp:1722
#8 0x0000ffffb6065d44 in JSRuntime::initSelfHosting(JSContext*) (this=this@entry=0xffffae350000, cx=cx@entry=0xffffb1df9c00)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/js/src/vm/SelfHosting.cpp:1754
#9 0x0000ffffb5ef1e84 in js::NewContext(JSRuntime*, unsigned long) (rt=0xffffae350000, stackChunkSize=stackChunkSize@entry=8192)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/js/src/jscntxt.cpp:122
#10 0x0000ffffb5ef1ec4 in JS_NewContext(JSRuntime*, unsigned long) (rt=<optimized out>, stackChunkSize=stackChunkSize@entry=8192)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/js/src/jsapi.cpp:566
#11 0x0000ffffb495f934 in XPCJSContextStack::InitSafeJSContext() (this=0xffffae3f00b0) at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/js/xpconnect/src/XPCJSContextStack.cpp:122
#12 0x0000ffffb4977d04 in nsXPConnect::InitStatics() () at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/js/xpconnect/src/nsXPConnect.cpp:126
#13 0x0000ffffb49633c0 in xpcModuleCtor() () at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/js/xpconnect/src/XPCModule.cpp:13
#14 0x0000ffffb5a1805c in Initialize() () at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/layout/build/nsLayoutModule.cpp:428
#15 0x0000ffffb45800b8 in nsComponentManagerImpl::KnownModule::Load() (this=0xffffb1dc55c0) at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/xpcom/components/nsComponentManager.cpp:883
#16 0x0000ffffb4580f30 in nsFactoryEntry::GetFactory() (this=0xffffb1da5940) at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/xpcom/components/nsComponentManager.cpp:1919
#17 0x0000ffffb4581798 in nsComponentManagerImpl::CreateInstanceByContractID(char const*, nsISupports*, nsID const&, void**) (this=0xffffb1d90470, aContractID=0xffffb627abc9 "@mozilla.org/moz/jsloader;1", aDelegate=0x0, aIID=..., aResult=0xffffffffd960) at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/xpcom/components/nsComponentManager.cpp:1217
#18 0x0000ffffb45830c4 in nsComponentManagerImpl::GetServiceByContractID(char const*, nsID const&, void**) (this=0xffffb1d90470, aContractID=0xffffb627abc9 "@mozilla.org/moz/jsloader;1", aIID=..., aResult=aResult@entry=0xffffffffd9d0) at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/xpcom/components/nsComponentManager.cpp:1577
#19 0x0000ffffb45a5b48 in CallGetService(char const*, nsID const&, void**) (aContractID=<optimized out>, aIID=..., aResult=aResult@entry=0xffffffffd9d0)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/xpcom/glue/nsComponentManagerUtils.cpp:69
#20 0x0000ffffb45a5b64 in nsGetServiceByContractID::operator()(nsID const&, void**) const (this=this@entry=0xffffffffd9c8, aIID=..., aInstancePtr=aInstancePtr@entry=0xffffffffd9d0)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/xpcom/glue/nsComponentManagerUtils.cpp:280
#21 0x0000ffffb459dd3c in nsCOMPtr_base::assign_from_gs_contractid(nsGetServiceByContractID, nsID const&) (this=this@entry=0xffffffffda50, aGS=..., aIID=...)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/xpcom/glue/nsCOMPtr.cpp:103
#22 0x0000ffffb45a2410 in nsCOMPtr<nsISupports>::nsCOMPtr(nsGetServiceByContractID) (aGS=..., this=0xffffffffda50) at ../../dist/include/nsCOMPtr.h:855
#23 0x0000ffffb45a2410 in NS_InitXPCOM2(nsIServiceManager**, nsIFile*, nsIDirectoryServiceProvider*) (aResult=aResult@entry=0xffffb23313d0, aBinDirectory=<optimized out>, aAppFileLocationProvider=<optimized out>) at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/xpcom/build/XPCOMInit.cpp:735
#24 0x0000ffffb45a2588 in NS_InitXPCOM2(nsIServiceManager**, nsIFile*, nsIDirectoryServiceProvider*) (aResult=aResult@entry=0xffffb23313d0, aBinDirectory=<optimized out>, aAppFileLocationProvider=<optimized out>) at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/xpcom/build/XPCOMInit.cpp:492
#25 0x0000ffffb5c10e28 in ScopedXPCOMStartup::Initialize() (this=0xffffb23313d0) at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/toolkit/xre/nsAppRunner.cpp:1539
#26 0x0000ffffb5c14bdc in XREMain::XRE_main(int, char**, nsXREAppData const*) (this=this@entry=0xffffffffdb98, argc=argc@entry=1, argv=argv@entry=0xfffffffff0c8, aAppData=aAppData@entry=0xffffffffdda8)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/toolkit/xre/nsAppRunner.cpp:4380
#27 0x0000ffffb5c14dc8 in XRE_main(int, char**, nsXREAppData const*, uint32_t) (argc=1, argv=0xfffffffff0c8, aAppData=0xffffffffdda8, aFlags=<optimized out>)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mozilla/toolkit/xre/nsAppRunner.cpp:4486
#28 0x00000000004050ac in do_main(int, char**, nsIFile*) (argc=argc@entry=1, argv=argv@entry=0xfffffffff0c8, xreDirectory=0xffffb7871a60)
    at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mail/app/nsMailApp.cpp:195
#29 0x0000000000404810 in main(int, char**) (argc=1, argv=0xfffffffff0c8) at /build/thunderbird-OW_yEF/thunderbird-45.8.0+build1/mail/app/nsMailApp.cpp:332

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in mozilla-thunderbird (Ubuntu):
status: New → Confirmed
Revision history for this message
Ramana Radhakrishnan (ramana) wrote :

I realize that "rebuild" isn't sufficient here. The thing I hear is that there was a mistaken assumption about VA size in Thunderbird and there were fixes in upstream firefox / js engine for it and this part was not rebuilt when Thunderbird was rebuilt for this release.

Revision history for this message
Ramana Radhakrishnan (ramana) wrote :

Regardless of whether the fix maybe a rebuild or not , the thunderbird package is completely borked on 17.04 on arm64.

Ramana

Revision history for this message
Ramana Radhakrishnan (ramana) wrote :

Ok on doing further research I'm reliably informed that this patch

https://hg.mozilla.org/mozilla-central/rev/dfaafbaaa291

might be a fix to the problem.

It appears that this isn't included in the source base on a quick inspection. I'm traveling in the next week so I won't be able to test this very soon with a rebuild myself, but hopefully this gives some more help.

apologies that my original bug report wasn't useful enough.

Colin Watson (cjwatson)
affects: mozilla-thunderbird (Ubuntu) → thunderbird (Ubuntu)
Revision history for this message
Adam Conrad (adconrad) wrote :

We suspect this should be fixed in the upcoming releases of Thundrbird 52.x ... If you want a sneak peek, you can have a poke at https://launchpad.net/~ubuntu-mozilla-security/+archive/ubuntu/ppa/+packages but I'd expect those packages (or newer) to hit the archive shortly.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers