Closed Bug 1477176 Opened 6 years ago Closed 6 years ago

segfault in mozjemalloc::SplitRun on ppc64le

Categories

(Core :: Memory Allocator, defect)

Unspecified
Linux
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1507035

People

(Reporter: joel, Unassigned)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3493.3 Safari/537.36

Steps to reproduce:

Launch firefox


Actual results:

Segfault


Expected results:

Mozilla started
#0  0x0000000010005724 in arena_t::SplitRun(arena_run_t*, unsigned long, bool, bool) (this=0x7ffff7700000, aRun=0x7ffff4a10000, aSize=<optimized out>, aLarge=false, aZero=false)
    at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2336
#1  0x00000000100064d0 in arena_t::AllocRun(unsigned long, bool, bool) (this=0x7ffff7700000, aSize=65536, aLarge=<optimized out>, aZero=<optimized out>) at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2562
#2  0x000000001000765c in arena_t::GetNonFullBinRun(arena_bin_t*) (this=<optimized out>, aBin=0x7ffff7700790)
    at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2812
#3  0x000000001000d0c8 in arena_t::MallocSmall(unsigned long, bool) (this=0x7ffff7700000, aSize=<optimized out>, aZero=<optimized out>) at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2958
#4  0x000000001000f948 in arena_t::Malloc(unsigned long, bool) (this=0x7ffff7700000, aSize=<optimized out>, aZero=255) at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:3015
#5  0x000000001000f948 in BaseAllocator::calloc(unsigned long, unsigned long) (this=<optimized out>, aNum=1, aSize=<optimized out>) at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:4194
#6  0x000000001000dbf4 in Allocator<MozJemallocBase>::calloc(unsigned long, unsigned long) (arg1=<optimized out>, arg2=<optimized out>) at /home/joel/src/mozilla-central/memory/build/malloc_decls.h:38
#7  0x0000000010008fc8 in Allocator<ReplaceMallocBase>::calloc(unsigned long, unsigned long) (arg1=1, arg2=512)
    at /home/joel/src/mozilla-central/memory/build/malloc_decls.h:38
#8  0x0000000010008fc8 in calloc(size_t, size_t) (arg1=1, arg2=512)
    at /home/joel/src/mozilla-central/memory/build/malloc_decls.h:38
#9  0x00007ffff5aa4620 in g_malloc0 () at /usr/lib/powerpc64le-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff5aa49d0 in g_malloc0_n () at /usr/lib/powerpc64le-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff5a75b2c in  () at /usr/lib/powerpc64le-linux-gnu/libglib-2.0.so.0
#12 0x00007ffff5a7726c in g_hash_table_insert () at /usr/lib/powerpc64le-linux-gnu/libglib-2.0.so.0
#13 0x00007ffff5abb178 in g_intern_static_string () at /usr/lib/powerpc64le-linux-gnu/libglib-2.0.so.0



#0  0x0000000010005724 in arena_t::SplitRun(arena_run_t*, unsigned long, bool, bool) (this=0x7ffff7700000, aRun=0x7ffff4a10000, aSize=<optimized out>, aLarge=false, aZero=false) at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2336
        chunk = 0x7ffff4a00000
        run_ind = 1
        need_pages = 1
        old_ndirty = <optimized out>
        total_pages = <optimized out>
        i = <optimized out>
        rem_pages = <optimized out>
#1  0x00000000100064d0 in arena_t::AllocRun(unsigned long, bool, bool) (this=0x7ffff7700000, aSize=65536, aLarge=<optimized out>, aZero=<optimized out>) at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2562
        mapelm = <optimized out>
        run = 0x7ffff4a10000
#2  0x000000001000765c in arena_t::GetNonFullBinRun(arena_bin_t*) (this=<optimized out>, aBin=0x7ffff7700790) at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2812
        mapelm = <optimized out>
        run = <optimized out>
        i = <optimized out>
        remainder = <optimized out>
#3  0x000000001000d0c8 in arena_t::MallocSmall(unsigned long, bool) (this=0x7ffff7700000, aSize=<optimized out>, aZero=<optimized out>) at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2958
        bin = 0x7ffff7700790
        run = <optimized out>
        ret = <optimized out>
#4  0x000000001000f948 in arena_t::Malloc(unsigned long, bool) (this=0x7ffff7700000, aSize=<optimized out>, aZero=255) at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:3015
        allocSize = 512
        ret = <optimized out>
#5  0x000000001000f948 in BaseAllocator::calloc(unsigned long, unsigned long) (this=<optimized out>, aNum=1, aSize=<optimized out>) at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:4194
        allocSize = 512
        ret = <optimized out>
#6  0x000000001000dbf4 in Allocator<MozJemallocBase>::calloc(unsigned long, unsigned long) (arg1=<optimized out>, arg2=<optimized out>) at /home/joel/src/mozilla-central/memory/build/malloc_decls.h:38
        allocator = {mArena = 0x0}
I am running Ubuntu 18.10 (dev) on ppc64le under wayland. I get this crash with the packaged browser, and reproduced it with a local build of trunk (changeset:   427367:4aa8eb6e5ca7)
OS: Unspecified → Linux
(In reply to Joel from comment #2)
> I am running Ubuntu 18.10 (dev) on ppc64le under wayland. I get this crash
> with the packaged browser, and reproduced it with a local build of trunk
> (changeset:   427367:4aa8eb6e5ca7)

The above is a bit confusing. 
Can you please confirm that the crash reproduces with Mozilla Nightly official build? (if it does a crash report should be also be available-> about:crashes)(https://download.mozilla.org/?product=firefox-devedition-latest-ssl&os=linux64&lang=en-US)

I'm also inclined to believe that the comment 0 report is either a instability in 18.10 or something related to the build in the canonical version or maybe even some wayland related issues.

But I'd also thread carefully and not dismiss this without proper investigation. Let's involve some people who have a better idea than myself on what might be going on here before advancing anywhere with this issue. Tom, Mike can you take a look at this?
Flags: needinfo?(tom)
Flags: needinfo?(mh+mozilla)
Flags: needinfo?(joel)
(In reply to Adrian Florinescu [:adrian_sv] from comment #3)
> (In reply to Joel from comment #2)
> > I am running Ubuntu 18.10 (dev) on ppc64le under wayland. I get this crash
> > with the packaged browser, and reproduced it with a local build of trunk
> > (changeset:   427367:4aa8eb6e5ca7)
> 
> The above is a bit confusing. 
> Can you please confirm that the crash reproduces with Mozilla Nightly
> official build? (if it does a crash report should be also be available->
> about:crashes)(https://download.mozilla.org/?product=firefox-devedition-
> latest-ssl&os=linux64&lang=en-US)

These builds are for x86, so I can't reproduce using those. This is why I did my own build.

Can you explain what you find confusing?
Flags: needinfo?(joel)
(In reply to Joel from comment #4)
> These builds are for x86, so I can't reproduce using those. This is why I
> did my own build.
> 
> Can you explain what you find confusing?

I guess it was I that I am just that unfamiliar with PPC arhitecture :). Apologies for the extra leg information I've asked for.
(In reply to Joel from comment #1)
> #0  0x0000000010005724 in arena_t::SplitRun(arena_run_t*, unsigned long,
> bool, bool) (this=0x7ffff7700000, aRun=0x7ffff4a10000, aSize=<optimized
> out>, aLarge=false, aZero=false) at
> /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2336
>         chunk = 0x7ffff4a00000

If the line information is correct, the corresponding code is:
    old_ndirty = chunk->ndirty;

which is puzzling, as chunk is not a null pointer, and looks like a valid chunk address.

Can you paste the output of the following gdb commands:
- print $_siginfo
- info proc mappings
Flags: needinfo?(mh+mozilla) → needinfo?(joel)
(In reply to Mike Hommey [:glandium] from comment #6)
> (In reply to Joel from comment #1)
> > #0  0x0000000010005724 in arena_t::SplitRun(arena_run_t*, unsigned long,
> > bool, bool) (this=0x7ffff7700000, aRun=0x7ffff4a10000, aSize=<optimized
> > out>, aLarge=false, aZero=false) at
> > /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2336
> >         chunk = 0x7ffff4a00000
> 
> If the line information is correct, the corresponding code is:
>     old_ndirty = chunk->ndirty;
> 
> which is puzzling, as chunk is not a null pointer, and looks like a valid
> chunk address.

i did a re-build with debugging turned on, and I hit this assertion:

Assertion failure: aSize <= gMaxLargeClass, at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2532

Program received signal SIGSEGV, Segmentation fault.
0x0000000010006834 in arena_t::AllocRun (this=0x7ffff7700000, aSize=<optimized out>, 
    aLarge=<optimized out>, aZero=<optimized out>)
    at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2533
2533	  MOZ_ASSERT((aSize & gPageSizeMask) == 0);


I've since applied this patch, as it's (mostly) true on ppc64 these days:

diff --git a/memory/build/mozjemalloc.cpp b/memory/build/mozjemalloc.cpp
--- a/memory/build/mozjemalloc.cpp
+++ b/memory/build/mozjemalloc.cpp
@@ -181,7 +181,7 @@ using namespace mozilla;
 // Debug builds are opted out too, for test coverage.
 #ifndef MOZ_DEBUG
 #if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) &&         \
-  !defined(__aarch64__)
+  !defined(__aarch64__) && !defined(__powerpc__)
 #define MALLOC_STATIC_PAGESIZE 1

It's a patch that appears to be carried by Debian and Fedora, for a number of years.

> Can you paste the output of the following gdb commands:
> - print $_siginfo
> - info proc mappings

See attached.
Flags: needinfo?(joel)
Attached file proc mappings
What is your kernel page size?
(try the `getconf PAGE_SIZE` command)
$ getconf PAGESIZE
65536

All the current ppc64 distros are 64K.
ppc64le doesn't #define __powerpc64__?
It does: 

$ clang -dM -E - < /dev/null | grep powerpc
#define __powerpc64__ 1
#define __powerpc__ 1
So without MALLOC_STATIC_PAGESIZE, you should be under:

#elif defined(__powerpc64__)
static const size_t gPageSize = 64_KiB;

which should work.
That is, you should have the same values for gPageSize, gMaxSubPageClass, gNumSubPageClasses, gPageSize2Pow, gPageSizeMask, gChunkNumPages, gChunkHeaderNumPages and gMaxLargeClass with and without MALLOC_STATIC_PAGESIZE. Can you check that out?
Component: Untriaged → Memory Allocator
Product: Firefox → Core
Flags: needinfo?(tom)
(In reply to Mike Hommey [:glandium] from comment #14)
> So without MALLOC_STATIC_PAGESIZE, you should be under:
> 
> #elif defined(__powerpc64__)
> static const size_t gPageSize = 64_KiB;
> 
> which should work.

I think it's the other way around? 

We don't enter that ifdef block when MALLOC_STATIC_PAGESIZE is not defined, so we end up with the non-cost gPageSize.

(In reply to Mike Hommey [:glandium] from comment #15)
> That is, you should have the same values for gPageSize, gMaxSubPageClass,
> gNumSubPageClasses, gPageSize2Pow, gPageSizeMask, gChunkNumPages,
> gChunkHeaderNumPages and gMaxLargeClass with and without
> MALLOC_STATIC_PAGESIZE. Can you check that out?

Without static pagesize:

(gdb) p gPageSizeMask 
$1 = 65535
(gdb) p gPageSize
$2 = 65536
(gdb) p gMaxSubPageClass 
$3 = 32768
(gdb) p gNumSubPageClasses 
$5 = 6 '\006'
(gdb) p gPageSize2Pow
$6 = 16 '\020'
(gdb) p gPageSizeMask
$7 = 65535
(gdb) p gChunkNumPages
$8 = 16
(gdb) p gChunkHeaderNumPages
$9 = 1
(gdb) p gMaxLargeClass
$10 = 983040

With static pagesize (64k):

(gdb) p gPageSizeMask 
$1 = 65535
(gdb) p gPageSize
$2 = 65536
(gdb) p gMaxSubPageClass 
$3 = 32768
(gdb) p gNumSubPageClasses
$8 = 6 '\006'
(gdb) p gPageSize2Pow
$9 = 16 '\020'
(gdb) p gPageSizeMask 
$4 = 65535
(gdb) p gChunkNumPages 
$5 = 16
(gdb) p gChunkHeaderNumPages 
$6 = 1
(gdb) p gMaxLargeClass 
$7 = 983040

So yes, the sizes come out the same.
So how come this works when you disable MALLOC_STATIC_PAGESIZE and doesn't when you don't?
Also, with aSize = 65536 and gMaxLargeClass 983040, how can you hit this assertion:

Assertion failure: aSize <= gMaxLargeClass, at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2532
It doesn't work in either case. I was letting you know that I'd applied that patch; I think we can ignore that though.

Here's the full backtrace that I'm seeing now, with --enable-debug:

Assertion failure: aSize <= gMaxLargeClass, at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2532

Program received signal SIGSEGV, Segmentation fault.
0x0000000010006704 in arena_t::AllocRun (this=0x7ffff7700000, aSize=<optimized out>, aLarge=<optimized out>, 
    aZero=<optimized out>) at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2533
2533	  MOZ_ASSERT((aSize & gPageSizeMask) == 0);
(gdb) bt
#0  0x0000000010006704 in arena_t::AllocRun(unsigned long, bool, bool) (this=0x7ffff7700000, aSize=<optimized out>, aLarge=<optimized out>, aZero=<optimized out>) at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2533
#1  0x00000000100074f0 in arena_t::GetNonFullBinRun(arena_bin_t*) (this=<optimized out>, aBin=0x7ffff77008a8)
    at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2817
#2  0x000000001000db6c in arena_t::MallocSmall(unsigned long, bool) (this=<optimized out>, aSize=<optimized out>, aZero=<optimized out>) at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:2963
#3  0x000000001001081c in arena_t::Malloc(unsigned long, bool) (this=<optimized out>, aSize=<optimized out>, aZero=255)
    at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:3020
#4  0x000000001001081c in BaseAllocator::calloc(unsigned long, unsigned long) (this=<optimized out>, aNum=1, aSize=16368)
    at /home/joel/src/mozilla-central/memory/build/mozjemalloc.cpp:4199
#5  0x000000001000ebb8 in Allocator<MozJemallocBase>::calloc(unsigned long, unsigned long) (arg1=<optimized out>, arg2=<optimized out>) at /home/joel/src/mozilla-central/memory/build/malloc_decls.h:38
#6  0x00000000100091a0 in Allocator<ReplaceMallocBase>::calloc(unsigned long, unsigned long) (arg1=1, arg2=16368)
    at /home/joel/src/mozilla-central/memory/build/malloc_decls.h:38
#7  0x00000000100091a0 in calloc(size_t, size_t) (arg1=1, arg2=16368)
    at /home/joel/src/mozilla-central/memory/build/malloc_decls.h:38
#8  0x00007ffff5854620 in g_malloc0 () at /usr/lib/powerpc64le-linux-gnu/libglib-2.0.so.0
#9  0x00007ffff58821e8 in g_slice_alloc () at /usr/lib/powerpc64le-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff5825d10 in g_hash_table_new_full () at /usr/lib/powerpc64le-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff5825df0 in g_hash_table_new () at /usr/lib/powerpc64le-linux-gnu/libglib-2.0.so.0
#12 0x00007ffff586a934 in  () at /usr/lib/powerpc64le-linux-gnu/libglib-2.0.so.0
#13 0x00007ffff57ed524 in  () at /usr/lib/powerpc64le-linux-gnu/libglib-2.0.so.0
#14 0x00007ffff7fbd410 in call_init (env=<optimized out>, argv=<optimized out>, argc=<optimized out>, l=<optimized out>)
    at dl-init.c:72
#15 0x00007ffff7fbd410 in _dl_init (main_map=0x7ffff76b6000, argc=<optimized out>, argv=0x7ffffffff1e8, env=0x7ffff7640100)
    at dl-init.c:119
#16 0x00007ffff7fc73e4 in dl_open_worker (a=<optimized out>) at dl-open.c:522
#17 0x00007ffff7aa2a08 in __GI__dl_catch_exception (exception=0x7fffffffb718, operate=0x7ffff7fc6a60 <dl_open_worker>, args=0x7fffffffb6d0) at dl-error-skeleton.c:196
#18 0x00007ffff7fc7f4c in _dl_open (file=<error reading variable: value has been optimized out>, mode=<optimized out>, caller_dlopen=0x10039414 <mozilla::GetBootstrap(char const*)+692>, nsid=-2, argc=<optimized out>, argv=0x7ffffffff1e8, env=0x7ffff7640100) at dl-open.c:605
#19 0x00007ffff7ed12bc in dlopen_doit (a=0x7fffffffbb88) at dlopen.c:66
#20 0x00007ffff7aa2a08 in __GI__dl_catch_exception (exception=0x7fffffffbae0, operate=0x7ffff7ed1230 <dlopen_doit>, args=0x7fffffffbb88) at dl-error-skeleton.c:196
#21 0x00007ffff7aa2ae8 in __GI__dl_catch_error (objname=0x7ffff7650170, errstring=0x7ffff7650178, mallocedp=0x7ffff7650168, operate=<optimized out>, args=<optimized out>) at dl-error-skeleton.c:215
#22 0x00007ffff7ed2500 in _dlerror_run (operate=0x7ffff7ed1230 <dlopen_doit>, args=0x7fffffffbb88) at dlerror.c:162
#23 0x00007ffff7ed13d4 in __dlopen (file=<optimized out>, mode=<optimized out>) at dlopen.c:87
#24 0x0000000010039414 in GetLibHandle(char const*) (aDependentLib=<optimized out>)
    at /home/joel/src/mozilla-central/xpcom/glue/standalone/nsXPCOMGlue.cpp:100
#25 0x0000000010039414 in ReadDependentCB(char const*) (aDependentLib=<optimized out>)
    at /home/joel/src/mozilla-central/xpcom/glue/standalone/nsXPCOMGlue.cpp:157
#26 0x0000000010039414 in XPCOMGlueLoad(char const*) (aXPCOMFile=<optimized out>)
    at /home/joel/src/mozilla-central/xpcom/glue/standalone/nsXPCOMGlue.cpp:333
#27 0x0000000010039414 in mozilla::GetBootstrap(char const*) (aXPCOMFile=<optimized out>)
    at /home/joel/src/mozilla-central/xpcom/glue/standalone/nsXPCOMGlue.cpp:399
#28 0x0000000010005670 in InitXPCOMGlue() () at /home/joel/src/mozilla-central/browser/app/nsBrowserApp.cpp:245
#29 0x0000000010005310 in main(int, char**, char**) (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>)
    at /home/joel/src/mozilla-central/browser/app/nsBrowserApp.cpp:300
(gdb) p gMaxLargeClass 
$2 = 983040

 gMaxLargeClass = 983040
 aSize=16368
aSize *is* <= gMaxLargeClass. How come this assertion fails? miscompilation?
Firefox 62.0 also segfaults.

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000006abaf7ce98c in arena_t::SplitRun (this=0x7e5643f00000, aRun=0x7e5641110000, aSize=1048576, aLarge=false, aZero=false)
    at /build/firefox-7aeU2O/firefox-62.0+build2/memory/build/mozjemalloc.cpp:2343
2343	/build/firefox-7aeU2O/firefox-62.0+build2/memory/build/mozjemalloc.cpp: No such file or directory.
(gdb) bt
#0  0x000006abaf7ce98c in arena_t::SplitRun(arena_run_t*, unsigned long, bool, bool) (this=0x7e5643f00000, aRun=0x7e5641110000, aSize=1048576, aLarge=false, aZero=false)
    at /build/firefox-7aeU2O/firefox-62.0+build2/memory/build/mozjemalloc.cpp:2343
#1  0x000006abaf7ced3c in arena_t::AllocRun(unsigned long, bool, bool) (this=0x7e5643f00000, aSize=1048576, aLarge=false, aZero=false)
    at /build/firefox-7aeU2O/firefox-62.0+build2/memory/build/mozjemalloc.cpp:2567
#2  0x000006abaf7d0f90 in arena_t::GetNonFullBinRun(arena_bin_t*) (this=<optimized out>, aBin=0x7e5643f008d8)
    at /build/firefox-7aeU2O/firefox-62.0+build2/memory/build/mozjemalloc.cpp:2817
#3  0x000006abaf7d308c in arena_t::MallocSmall(unsigned long, bool) (aZero=true, aSize=<optimized out>, this=0x7e5643f00000)
    at /build/firefox-7aeU2O/firefox-62.0+build2/memory/build/mozjemalloc.cpp:2963
#4  0x000006abaf7d308c in arena_t::Malloc(unsigned long, bool) (aZero=true, aSize=<optimized out>, this=0x7e5643f00000)
    at /build/firefox-7aeU2O/firefox-62.0+build2/memory/build/mozjemalloc.cpp:3020
#5  0x000006abaf7d308c in BaseAllocator::calloc(unsigned long, unsigned long) (aSize=<optimized out>, aNum=<optimized out>, this=<synthetic pointer>)
    at /build/firefox-7aeU2O/firefox-62.0+build2/memory/build/mozjemalloc.cpp:4199
#6  0x000006abaf7d308c in Allocator<MozJemallocBase>::calloc(unsigned long, unsigned long) (arg2=<optimized out>, arg1=<optimized out>)
    at /build/firefox-7aeU2O/firefox-62.0+build2/memory/build/malloc_decls.h:38
#7  0x000006abaf7d308c in calloc(size_t, size_t) (arg1=<optimized out>, arg2=<optimized out>) at /build/firefox-7aeU2O/firefox-62.0+build2/memory/build/malloc_decls.h:38
#8  0x00007e5641e2b8e0 in xcb_connect_to_fd () at /usr/lib/powerpc64le-linux-gnu/libxcb.so.1
#9  0x00007e5641e3318c in xcb_connect_to_display_with_auth_info () at /usr/lib/powerpc64le-linux-gnu/libxcb.so.1
#10 0x00007e5641e339b0 in xcb_connect () at /usr/lib/powerpc64le-linux-gnu/libxcb.so.1
#11 0x00007e5642cb6758 in _XConnectXCB () at /usr/lib/powerpc64le-linux-gnu/libX11.so.6
#12 0x00007e5642c9db88 in XOpenDisplay () at /usr/lib/powerpc64le-linux-gnu/libX11.so.6
#13 0x00007e563ebcbad0 in glxtest() () at /build/firefox-7aeU2O/firefox-62.0+build2/toolkit/xre/glxtest.cpp:174
#14 0x00007e563ebcbf3c in fire_glxtest_process() () at /build/firefox-7aeU2O/firefox-62.0+build2/toolkit/xre/glxtest.cpp:279
#15 0x00007e563ebbd0d4 in XREMain::XRE_mainInit(bool*) (this=0x7fffe0c4bf08, aExitFlag=0x7fffe0c4be88) at /build/firefox-7aeU2O/firefox-62.0+build2/toolkit/xre/nsAppRunner.cpp:3269
#16 0x00007e563ebc4774 in XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) (this=0x7fffe0c4bf08, argc=1, argv=0x7fffe0c4d5f8, aConfig=...)
    at /build/firefox-7aeU2O/firefox-62.0+build2/toolkit/xre/nsAppRunner.cpp:4862
#17 0x00007e563ebc5180 in XRE_main(int, char**, mozilla::BootstrapConfig const&) (argc=<optimized out>, argv=0x7fffe0c4d5f8, aConfig=...)
    at /build/firefox-7aeU2O/firefox-62.0+build2/toolkit/xre/nsAppRunner.cpp:4984
#18 0x00007e563ebc7074 in mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) (this=<optimized out>, argc=<optimized out>, argv=<optimized out>, aConfig=...) at /build/firefox-7aeU2O/firefox-62.0+build2/toolkit/xre/Bootstrap.cpp:49
#19 0x000006abaf7c6228 in do_main(int, char**, char**) (argc=<optimized out>, argv=0x7fffe0c4d5f8, envp=<optimized out>)
    at /build/firefox-7aeU2O/firefox-62.0+build2/browser/app/nsBrowserApp.cpp:233
#20 0x000006abaf7c58b8 in main(int, char**, char**) (argc=<optimized out>, argv=0x7fffe0c4d5f8, envp=0x7fffe0c4d608)
    at /build/firefox-7aeU2O/firefox-62.0+build2/browser/app/nsBrowserApp.cpp:311
I have this issue too on 60.3 ESR on debian stretch ppc64le

I think it should fixed asap considering firefox is completly unusable
Bug 1507035 might fix this. Can you check if that's the case?
Flags: needinfo?(joel)
Thanks Mike! I did a build without --disable-jemalloc and it launches. I think we can close this one.
Flags: needinfo?(joel)
Status: UNCONFIRMED → RESOLVED
Closed: 6 years ago
Resolution: --- → DUPLICATE
Could you please add this patch on ESR too?
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: