Build ff on armv7hl fails with Assertion failure: !joinable()

RESOLVED DUPLICATE of bug 1337263

Status

()

Core
JavaScript Engine
RESOLVED DUPLICATE of bug 1337263
a year ago
4 months ago

People

(Reporter: stransky, Unassigned)

Tracking

51 Branch
ARM
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

a year ago
Created attachment 8829785 [details]
complete build log

Firefox can't be built on armv7hl:

Executing /builddir/build/BUILD/firefox-51.0/firefox-51.0/objdir/dist/bin/xpcshell -g /builddir/build/BUILD/firefox-51.0/firefox-51.0/objdir/dist/bin/ -a /builddir/build/BUILD/firefox-51.0/firefox-51.0/objdir/dist/bin/ -f /builddir/build/BUILD/firefox-51.0/firefox-51.0/toolkit/mozapps/installer/precompile_cache.js -e precompile_startupcache("resource://gre/");
Assertion failure: !joinable(), at /builddir/build/BUILD/firefox-51.0/firefox-51.0/js/src/threading/Thread.h:122

Fedora rawhide, gcc 6.3.1

Comment 1

10 months ago
Hi,

Seems the same is happening for us on Ubuntu/armhf now for spidermonkey 52. We noticed this when our package tests for gjs (uses spidermonkey) started to segfault. (initially reported to https://bugzilla.gnome.org/show_bug.cgi?id=786578)

I just downloaded esr52 tip (52dc0f52595d), configured/built as:

  SHELL=/bin/sh ../configure --enable-posix-nspr-emulation --with-system-zlib --with-intl-api AUTOCONF=autoconf2.13
  make -j4

and "js" segfaults on exit like:
 
Thread 1 "js" received signal SIGSEGV, Segmentation fault.
js::Thread::~Thread (this=0xf720d270, __in_chrg=<optimized out>) at /root/mozilla-esr52-52dc0f52595d/js/src/threading/Thread.h:122
122         MOZ_RELEASE_ASSERT(!joinable());
(gdb) bt full
#0  js::Thread::~Thread (this=0xf720d270, __in_chrg=<optimized out>)
    at /root/mozilla-esr52-52dc0f52595d/js/src/threading/Thread.h:122
        this = 0xf720d270
#1  0xaaf385a4 in mozilla::Maybe<js::Thread>::reset (this=0xf720d268)
    at /root/mozilla-esr52-52dc0f52595d/js/src/build_DBJ.OBJ/dist/include/mozilla/Maybe.h:419
No locals.
#2  js::HelperThread::destroy (this=0xf720d000) at /root/mozilla-esr52-52dc0f52595d/js/src/vm/HelperThreads.cpp:1392
No locals.
#3  js::GlobalHelperThreadState::finishThreads (this=0xf72191c0) at /root/mozilla-esr52-52dc0f52595d/js/src/vm/HelperThreads.cpp:766
        thread = @0xf720d000: {threadData = {mIsSome = true, mStorage = {u = {
                mBytes = '\000' <repeats 12 times>, "\060\201 \367\000\000\000\000\000\000\000\000\060\320 \367\000\000\000\000 ", '\000' <repeats 135 times>, "\300\320 \367\000\000\000\000 ", '\000' <repeats 135 times>..., mDummy = 0}}}, thread = {mIsSome = true,
            mStorage = {u = {mBytes = "\000\000\000\000\b\320 \367\000\000\000", mDummy = 17807461659401256960}}}, terminate = true,
          pause = {<mozilla::detail::AtomicBase<unsigned int, (mozilla::MemoryOrdering)0>> = {
              mValue = {<std::__atomic_base<unsigned int>> = {static _S_alignment = 4,
                  _M_i = 0}, <No data fields>}}, <No data fields>}, currentTask = {mIsSome = false, mStorage = {u = {
                mBytes = "p\357\376\377\000\000\000\000\006\000\000\000\000\000\000", mDummy = 4294897520}}}}
        __for_begin = 0xf720d000
#4  0xaaf38a2c in js::GlobalHelperThreadState::finish (this=<optimized out>)
    at /root/mozilla-esr52-52dc0f52595d/js/src/vm/HelperThreads.cpp:755
No locals.
#5  js::DestroyHelperThreadsState () at /root/mozilla-esr52-52dc0f52595d/js/src/vm/HelperThreads.cpp:55
No locals.
#6  0xaabbb088 in JS_ShutDown () at /root/mozilla-esr52-52dc0f52595d/js/src/vm/Initialization.cpp:150
No locals.
#7  0xaab32204 in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>)
    at /root/mozilla-esr52-52dc0f52595d/js/src/shell/js.cpp:7993
        availMem = <optimized out>
        environmentPreparer = {<js::ScriptEnvironmentPreparer> = {
            _vptr.ScriptEnvironmentPreparer = 0xab486c0c <vtable for EnvironmentPreparer+8>}, cx = 0xf7220000}
        rcStdout = {fp = 0xf756bd60 <_IO_2_1_stdout_>, numRefs = 2}
        rcStderr = {fp = 0xf756bcc0 <_IO_2_1_stderr_>, numRefs = 2}
        op = {options = {<js::SystemAllocPolicy> = {<No data fields>}, static kElemIsPod = true, static kMaxInlineBytes = 1024,
            static kInlineCapacity = 0, static kInlineBytes = 1, mBegin = 0xf7211200, mLength = 68, mCapacity = 128, mStorage = {
              u = {mBytes = "\344", mDummy = 5526538215961327332}}, static sMaxInlineStorage = <optimized out>},
          arguments = {<js::SystemAllocPolicy> = {<No data fields>}, static kElemIsPod = true, static kMaxInlineBytes = 1024,
            static kInlineCapacity = 0, static kInlineBytes = 1, mBegin = 0xf720a050, mLength = 2, mCapacity = 2, mStorage = {u = {
                mBytes = "=", mDummy = 18446450710263365693}}, static sMaxInlineStorage = <optimized out>},
          helpOption = {<js::cli::detail::Option> = {_vptr.Option = 0xab485f70 <vtable for js::cli::detail::BoolOption+8>,
              longflag = 0xab3dceec "help", help = 0xab3dcfc0 "Display help information", kind = js::cli::detail::OptionKindBool,
              shortflag = 104 'h', terminatesOptions = false}, argno = 4294899428, value = false},
          versionOption = {<js::cli::detail::Option> = {_vptr.Option = 0xab485f70 <vtable for js::cli::detail::BoolOption+8>,
              longflag = 0xab3dbff4 "version", help = 0xab3dcfdc "Display version information and exit",
              kind = js::cli::detail::OptionKindBool, shortflag = 118 'v', terminatesOptions = false}, argno = 4152294632,
            value = false}, usage = 0xab3dd004 "Usage: {progname} [options] [[script] scriptArgs*]",
          version = 0xab3fa3dc "JavaScript-C52.3.1",
          descr = 0xab3dd038 "The SpiderMonkey shell provides a command line interface to the JavaScript engine. Code and file options provided via the command line are run left to right. If provided, the optional script argument "..., descrWidth = 72,
          helpWidth = 80, nextArgument = 0, restArgument = 1,
          static prognameMeta = 0xab3db664 <js::cli::OptionParser::prognameMeta> "{progname}"}
        nurseryBytes = <optimized out>
        cx = 0xf7220000
        sc = {
          mTuple = {<mozilla::detail::PairHelper<ShellContext*, JS::DeletePolicy<ShellContext>, (mozilla::detail::StorageType)1, (mozilla::detail::StorageType)0>> = {<JS::DeletePolicy<ShellContext>> = {<No data fields>}, mFirstA = 0xf7261000}, <No data fields>}}

If I can be of any more help, please let me know.

Comment 2

10 months ago
Ah, some more relevant information that I forgot. This is an arm64 host running an armhf (32 bit) container - so an arm64 kernel. In the host's dmesg, I see:

[Tue Aug 29 12:16:41 2017] js[27439]: unhandled level 1 translation fault (11) at 0x00000000, esr 0x92000045
[Tue Aug 29 12:16:41 2017] pgd = ffff800101eaa000
[Tue Aug 29 12:16:41 2017] [00000000] *pgd=000000011deb8003, *pud=0000000000000000

[Tue Aug 29 12:16:41 2017] CPU: 1 PID: 27439 Comm: js Not tainted 4.4.0-83-generic #106-Ubuntu
[Tue Aug 29 12:16:41 2017] Hardware name: linux,dummy-virt (DT)
[Tue Aug 29 12:16:41 2017] task: ffff800003829a00 ti: ffff80018ebd0000 task.ti: ffff80018ebd0000
[Tue Aug 29 12:16:41 2017] PC is at 0xaabf37e0
[Tue Aug 29 12:16:41 2017] LR is at 0xf706e24d
[Tue Aug 29 12:16:41 2017] pc : [<00000000aabf37e0>] lr : [<00000000f706e24d>] pstate: 600f0010
[Tue Aug 29 12:16:41 2017] sp : 00000000ffbd16f0
[Tue Aug 29 12:16:41 2017] x12: 00000000ab561cc8 
[Tue Aug 29 12:16:41 2017] x11: 00000000f6e0d270 x10: 00000000f6e192e4 
[Tue Aug 29 12:16:41 2017] x9 : 0000000000000001 x8 : 00000000f7398ce8 
[Tue Aug 29 12:16:41 2017] x7 : 00000000ab561c7c x6 : 00000000f6e0d270 
[Tue Aug 29 12:16:41 2017] x5 : 00000000f7114e00 x4 : 0000000000000000 
[Tue Aug 29 12:16:41 2017] x3 : 00000000ab4811fc x2 : 00000000abfcae08 
[Tue Aug 29 12:16:41 2017] x1 : 0000000000000000 x0 : 0000000000000000 

I find https://hg.mozilla.org/releases/mozilla-esr52/rev/dfaafbaaa291 which might be pertinent, but I don't know if it is, or how to apply that to a 32 bit userland.

Comment 3

10 months ago
I think my comments mean that what I'm seeing is bug #1328222

Comment 4

10 months ago
make (In reply to Iain Lane from comment #3)
> I think my comments mean that what I'm seeing is bug #1328222

make that bug #1337263
Status: NEW → RESOLVED
Last Resolved: 4 months ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1337263
You need to log in before you can comment on or make changes to this bug.