Open kencu opened 6 years ago
I'm working at building gdb 7.6.8 104Fx patchlevel 4 but running into some hiccups with makeinfo.
[Edit: that makeinfo issue appears to have been fixed by disabling the newer makeinfo installed by MacPorts, and using the ancient one installed on 10.4.11 by default ]
I'm not totally sure I have gdb built correctly. But the parts that did build seem to work, so here's what it gave me:
gdb:
++DOCSHELL 0x1e08800 == 3 [pid = 25311] [id = 3]
++DOMWINDOW == 5 (0x1e05c00) [pid = 25311] [serial = 5] [outer = 0x0]
++DOCSHELL 0x1cc3800 == 4 [pid = 25311] [id = 4]
++DOMWINDOW == 6 (0x1ca7c00) [pid = 25311] [serial = 6] [outer = 0x0]
[25311] ###!!! ASSERTION: Double-initing a frame?: '!mContent', file /Users/cunningh/tenfourfox/layout/generic/nsFrame.cpp, line 513
[25311] ###!!! ASSERTION: Double-initing a frame?: '!mContent', file /Users/cunningh/tenfourfox/layout/generic/nsFrame.cpp, line 513
[25311] ###!!! ASSERTION: Double-initing a frame?: '!mContent', file /Users/cunningh/tenfourfox/layout/generic/nsFrame.cpp, line 513
[25311] ###!!! ASSERTION: Shouldn't happen: '!aNewFrame->GetNextSibling()', file /Users/cunningh/tenfourfox/layout/base/nsCSSFrameConstructor.cpp, line 1185
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0xa1b1c1f3
0x0a71eb58 in ?? ()
(gdb) bt
#0 0x0a71eb58 in ?? ()
#1 0x0a7f3ddc in ?? ()
#2 0x0a6b9bc4 in ?? ()
#3 0x0a6f35ac in ?? ()
#4 0x0a6f3bb4 in ?? ()
#5 0x0a710508 in ?? ()
#6 0x0a6f26b0 in ?? ()
#7 0x0a6fb62c in ?? ()
#8 0x0a6fc108 in ?? ()
#9 0x0a75402c in ?? ()
#10 0x0a29d848 in ?? ()
#11 0x0a2a93d8 in ?? ()
#12 0x0a2b0844 in ?? ()
#13 0x0a2b3010 in ?? ()
#14 0x0a2b3478 in ?? ()
#15 0x0810e800 in ?? ()
#16 0x080ad8e4 in ?? ()
#17 0x080cbde8 in ?? ()
#18 0x080cc228 in ?? ()
#19 0x07fba194 in ?? ()
#20 0x07fd49dc in ?? ()
#21 0x0801f788 in ?? ()
#22 0x0a3678c0 in ?? ()
#23 0x0a3c26b0 in ?? ()
#24 0x907df300 in __CFRunLoopDoSources0 ()
#25 0x907de830 in __CFRunLoopRun ()
#26 0x907de2b0 in CFRunLoopRunSpecific ()
#27 0x932adb20 in RunCurrentEventLoopInMode ()
#28 0x932ad1b4 in ReceiveNextEventCommon ()
#29 0x932ad020 in BlockUntilNextEventMatchingListInMode ()
#30 0x93791734 in _DPSNextEvent ()
#31 0x937913f8 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#32 0x0a3c21ec in ?? ()
#33 0x9378d93c in -[NSApplication run] ()
#34 0x0a3c720c in ?? ()
#35 0x0afa8010 in ?? ()
#36 0x0b02d1e0 in ?? ()
#37 0x0b02e454 in ?? ()
#38 0x0b02e800 in ?? ()
#39 0x00005f60 in main (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>) at /Users/cunningh/tenfourfox/browser/app/nsBrowserApp.cpp:212
(gdb)
Those terminal assertions are really scary. I've never seen them before. Can you rebuild without --enable-optimize
and see what the backtrace looks like?
I don't know why gdb7
isn't reading the symbol table. If you use the provided binary, does that work at all?
I didn't at first realize that the gdb7
binary was in gdb768-104fx-3.tar.gz
but not the other two gdb archives. I now see that archive is a bit bigger, and indeed, there it is. I'll go ahead and use that binary while I figure out later why building gdb is causing me trouble.
sadly the linker is failing to link XUL now, with a
ld: in ../../js/src/libjs_static.a, can't map file, errno=12
collect2: error: ld returned 1 exit status
which I take to represent it is running out of memory / XUL is too big with no optimizations and all the debug information in it. I'm disabling parts of the build now and using some equivalent system libraries in the hopes of trimming it down.
That's a bit alarming on its own, but how about changing to --enable-optimize=-Og
as a middle ground? Does that help at all?
I have news: The TenFourFoxDebug I built today with gcc 6.4.0 ( I put --enable-optimize=-Og in the .mozconfig
) has just finished. I intended to put my backtrace here but it didn't crash. It's working.. What now?
This means there's an optimization issue. Does compiling --enable-optimize=-O1
or -O2
also work?
I concur that building TenFourFoxDebug with gcc6 and with --enable-optimize=-Og
first of all builds through to completion and secondly does not crash.
@NapalmSauce - I'm going to try the -O1 build next.
Doing the -O2 one then. Depending on what works, I'll try narrowing it down to one of the flags the first optimization level to break executables expands into.
--enable-optimize=-O1
did not build a successful binary:
tigerg5:~/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS cunningh$ gdb7 ./firefox
GNU gdb 6.3.50-20050815 (Apple version gdb-768 TenFourFox patch 4) (Tue Aug 16 03:25:37 GMT 2016)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "powerpc-apple-darwin"...
warning: --arch option not supported in this gdb.
Reading symbols for shared libraries .......... done
(gdb) run
Starting program: /Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/firefox
warning: Could not find malloc init callback function.
Make sure malloc is initialized before calling functions.
Reading symbols for shared libraries ...................................................................++ done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries ...................gdb stack crawl at point of internal error:
[ 0 ] /opt/local/bin/gdb7 (find_partial_die+0x3fc) [0x16035c]
[ 1 ] /opt/local/bin/gdb7 (scan_partial_symbols+0x54) [0x161244]
[ 2 ] /opt/local/bin/gdb7 (dwarf2_build_psymtabs+0xd5c) [0x1622fc]
[ 3 ] /opt/local/bin/gdb7 (macho_symfile_read+0x110) [0x197d70]
[ 4 ] /opt/local/bin/gdb7 (syms_from_objfile+0x66c) [0xcc79c]
[ 5 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ec) [0xce13c]
[ 6 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ac) [0xce0fc]
[ 7 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_helper+0x64) [0xcea04]
[ 8 ] /opt/local/bin/gdb7 (catch_errors+0xb0) [0x4e710]
[ 9 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_safe+0xf8) [0xcace8]
[ 10 ] /opt/local/bin/gdb7 (dyld_load_symfile_internal+0x2d0) [0x191a80]
[ 11 ] /opt/local/bin/gdb7 (dyld_load_symfiles+0x1b0) [0x192030]
[ 12 ] /opt/local/bin/gdb7 (dyld_update_shlibs+0xbc) [0x1938dc]
/home/spectre/src/osx/gdb-768/src/gdb/dwarf2read.c:7457: internal-error: could not find partial DIE in cache
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
. done
Reading symbols for shared libraries gdb stack crawl at point of internal error:
[ 0 ] /opt/local/bin/gdb7 (find_partial_die+0x3fc) [0x16035c]
[ 1 ] /opt/local/bin/gdb7 (scan_partial_symbols+0x54) [0x161244]
[ 2 ] /opt/local/bin/gdb7 (dwarf2_build_psymtabs+0xd5c) [0x1622fc]
[ 3 ] /opt/local/bin/gdb7 (macho_symfile_read+0x110) [0x197d70]
[ 4 ] /opt/local/bin/gdb7 (syms_from_objfile+0x66c) [0xcc79c]
[ 5 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ec) [0xce13c]
[ 6 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ac) [0xce0fc]
[ 7 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_helper+0x64) [0xcea04]
[ 8 ] /opt/local/bin/gdb7 (catch_errors+0xb0) [0x4e710]
[ 9 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_safe+0xf8) [0xcace8]
[ 10 ] /opt/local/bin/gdb7 (dyld_load_symfile_internal+0x2d0) [0x191a80]
[ 11 ] /opt/local/bin/gdb7 (dyld_load_symfiles+0x1b0) [0x192030]
[ 12 ] /opt/local/bin/gdb7 (dyld_update_shlibs+0xbc) [0x1938dc]
/home/spectre/src/osx/gdb-768/src/gdb/dwarf2read.c:7457: internal-error: could not find partial DIE in cache
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
.. done
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 39: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 78: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 107: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 136: unreachable code after return statement
Reading symbols for shared libraries gdb stack crawl at point of internal error:
[ 0 ] /opt/local/bin/gdb7 (find_partial_die+0x3fc) [0x16035c]
[ 1 ] /opt/local/bin/gdb7 (scan_partial_symbols+0x54) [0x161244]
[ 2 ] /opt/local/bin/gdb7 (dwarf2_build_psymtabs+0xd5c) [0x1622fc]
[ 3 ] /opt/local/bin/gdb7 (macho_symfile_read+0x110) [0x197d70]
[ 4 ] /opt/local/bin/gdb7 (syms_from_objfile+0x66c) [0xcc79c]
[ 5 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ec) [0xce13c]
[ 6 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ac) [0xce0fc]
[ 7 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_helper+0x64) [0xcea04]
[ 8 ] /opt/local/bin/gdb7 (catch_errors+0xb0) [0x4e710]
[ 9 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_safe+0xf8) [0xcace8]
[ 10 ] /opt/local/bin/gdb7 (dyld_load_symfile_internal+0x2d0) [0x191a80]
[ 11 ] /opt/local/bin/gdb7 (dyld_load_symfiles+0x1b0) [0x192030]
[ 12 ] /opt/local/bin/gdb7 (dyld_update_shlibs+0xbc) [0x1938dc]
/home/spectre/src/osx/gdb-768/src/gdb/dwarf2read.c:7457: internal-error: could not find partial DIE in cache
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
.. done
Reading symbols for shared libraries gdb stack crawl at point of internal error:
[ 0 ] /opt/local/bin/gdb7 (find_partial_die+0x3fc) [0x16035c]
[ 1 ] /opt/local/bin/gdb7 (scan_partial_symbols+0x54) [0x161244]
[ 2 ] /opt/local/bin/gdb7 (dwarf2_build_psymtabs+0xd5c) [0x1622fc]
[ 3 ] /opt/local/bin/gdb7 (macho_symfile_read+0x110) [0x197d70]
[ 4 ] /opt/local/bin/gdb7 (syms_from_objfile+0x66c) [0xcc79c]
[ 5 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ec) [0xce13c]
[ 6 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ac) [0xce0fc]
[ 7 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_helper+0x64) [0xcea04]
[ 8 ] /opt/local/bin/gdb7 (catch_errors+0xb0) [0x4e710]
[ 9 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_safe+0xf8) [0xcace8]
[ 10 ] /opt/local/bin/gdb7 (dyld_load_symfile_internal+0x2d0) [0x191a80]
[ 11 ] /opt/local/bin/gdb7 (dyld_load_symfiles+0x1b0) [0x192030]
[ 12 ] /opt/local/bin/gdb7 (dyld_update_shlibs+0xbc) [0x1938dc]
/home/spectre/src/osx/gdb-768/src/gdb/dwarf2read.c:7457: internal-error: could not find partial DIE in cache
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
.. done
Reading symbols for shared libraries gdb stack crawl at point of internal error:
[ 0 ] /opt/local/bin/gdb7 (find_partial_die+0x3fc) [0x16035c]
[ 1 ] /opt/local/bin/gdb7 (scan_partial_symbols+0x54) [0x161244]
[ 2 ] /opt/local/bin/gdb7 (dwarf2_build_psymtabs+0xd5c) [0x1622fc]
[ 3 ] /opt/local/bin/gdb7 (macho_symfile_read+0x110) [0x197d70]
[ 4 ] /opt/local/bin/gdb7 (syms_from_objfile+0x66c) [0xcc79c]
[ 5 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ec) [0xce13c]
[ 6 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ac) [0xce0fc]
[ 7 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_helper+0x64) [0xcea04]
[ 8 ] /opt/local/bin/gdb7 (catch_errors+0xb0) [0x4e710]
[ 9 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_safe+0xf8) [0xcace8]
[ 10 ] /opt/local/bin/gdb7 (dyld_load_symfile_internal+0x2d0) [0x191a80]
[ 11 ] /opt/local/bin/gdb7 (dyld_load_symfiles+0x1b0) [0x192030]
[ 12 ] /opt/local/bin/gdb7 (dyld_update_shlibs+0xbc) [0x1938dc]
/home/spectre/src/osx/gdb-768/src/gdb/dwarf2read.c:7457: internal-error: could not find partial DIE in cache
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
.. done
Reading symbols for shared libraries gdb stack crawl at point of internal error:
[ 0 ] /opt/local/bin/gdb7 (find_partial_die+0x3fc) [0x16035c]
[ 1 ] /opt/local/bin/gdb7 (scan_partial_symbols+0x54) [0x161244]
[ 2 ] /opt/local/bin/gdb7 (dwarf2_build_psymtabs+0xd5c) [0x1622fc]
[ 3 ] /opt/local/bin/gdb7 (macho_symfile_read+0x110) [0x197d70]
[ 4 ] /opt/local/bin/gdb7 (syms_from_objfile+0x66c) [0xcc79c]
[ 5 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ec) [0xce13c]
[ 6 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ac) [0xce0fc]
[ 7 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_helper+0x64) [0xcea04]
[ 8 ] /opt/local/bin/gdb7 (catch_errors+0xb0) [0x4e710]
[ 9 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_safe+0xf8) [0xcace8]
[ 10 ] /opt/local/bin/gdb7 (dyld_load_symfile_internal+0x2d0) [0x191a80]
[ 11 ] /opt/local/bin/gdb7 (dyld_load_symfiles+0x1b0) [0x192030]
[ 12 ] /opt/local/bin/gdb7 (dyld_update_shlibs+0xbc) [0x1938dc]
/home/spectre/src/osx/gdb-768/src/gdb/dwarf2read.c:7457: internal-error: could not find partial DIE in cache
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
.. done
[7062] ###!!! ASSERTION: Deprecated, use NewChannel2 providing loadInfo arguments!: 'false', file /Users/cunningh/tenfourfox/netwerk/base/nsIOService.cpp, line 936
[7062] ###!!! ASSERTION: Please pass security info when creating a channel: 'loadInfo', file /Users/cunningh/tenfourfox/netwerk/base/nsIOService.cpp, line 862
JavaScript warning: resource://gre/modules/TelemetryController.jsm, line 660: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryReportingPolicy.jsm, line 342: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetrySend.jsm, line 1035: unreachable code after return statement
++DOCSHELL 0x1d12800 == 1 [pid = 7062] [id = 1]
++DOMWINDOW == 1 (0x1d0f000) [pid = 7062] [serial = 1] [outer = 0x0]
Reading symbols for shared libraries gdb stack crawl at point of internal error:
[ 0 ] /opt/local/bin/gdb7 (find_partial_die+0x3fc) [0x16035c]
[ 1 ] /opt/local/bin/gdb7 (scan_partial_symbols+0x54) [0x161244]
[ 2 ] /opt/local/bin/gdb7 (dwarf2_build_psymtabs+0xd5c) [0x1622fc]
[ 3 ] /opt/local/bin/gdb7 (macho_symfile_read+0x110) [0x197d70]
[ 4 ] /opt/local/bin/gdb7 (syms_from_objfile+0x66c) [0xcc79c]
[ 5 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ec) [0xce13c]
[ 6 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ac) [0xce0fc]
[ 7 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_helper+0x64) [0xcea04]
[ 8 ] /opt/local/bin/gdb7 (catch_errors+0xb0) [0x4e710]
[ 9 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_safe+0xf8) [0xcace8]
[ 10 ] /opt/local/bin/gdb7 (dyld_load_symfile_internal+0x2d0) [0x191a80]
[ 11 ] /opt/local/bin/gdb7 (dyld_load_symfiles+0x1b0) [0x192030]
[ 12 ] /opt/local/bin/gdb7 (dyld_update_shlibs+0xbc) [0x1938dc]
/home/spectre/src/osx/gdb-768/src/gdb/dwarf2read.c:7457: internal-error: could not find partial DIE in cache
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
.. done
Reading symbols for shared libraries gdb stack crawl at point of internal error:
[ 0 ] /opt/local/bin/gdb7 (find_partial_die+0x3fc) [0x16035c]
[ 1 ] /opt/local/bin/gdb7 (scan_partial_symbols+0x54) [0x161244]
[ 2 ] /opt/local/bin/gdb7 (dwarf2_build_psymtabs+0xd5c) [0x1622fc]
[ 3 ] /opt/local/bin/gdb7 (macho_symfile_read+0x110) [0x197d70]
[ 4 ] /opt/local/bin/gdb7 (syms_from_objfile+0x66c) [0xcc79c]
[ 5 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ec) [0xce13c]
[ 6 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ac) [0xce0fc]
[ 7 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_helper+0x64) [0xcea04]
[ 8 ] /opt/local/bin/gdb7 (catch_errors+0xb0) [0x4e710]
[ 9 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_safe+0xf8) [0xcace8]
[ 10 ] /opt/local/bin/gdb7 (dyld_load_symfile_internal+0x2d0) [0x191a80]
[ 11 ] /opt/local/bin/gdb7 (dyld_load_symfiles+0x1b0) [0x192030]
[ 12 ] /opt/local/bin/gdb7 (dyld_update_shlibs+0xbc) [0x1938dc]
/home/spectre/src/osx/gdb-768/src/gdb/dwarf2read.c:7457: internal-error: could not find partial DIE in cache
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
.. done
Loading ColorSync profile: /Library/ColorSync/Profiles/Displays/Apple Cinema Display-42485F0.icc
Size of profile: 844
++DOMWINDOW == 2 (0x1ccce00) [pid = 7062] [serial = 2] [outer = 0x1d0f000]
JavaScript warning: resource://gre/modules/UITelemetry.jsm, line 30: unreachable code after return statement
JavaScript warning: resource://gre/modules/UITelemetry.jsm, line 49: unreachable code after return statement
++DOCSHELL 0x1ecc000 == 2 [pid = 7062] [id = 2]
++DOMWINDOW == 3 (0x1ed3a00) [pid = 7062] [serial = 3] [outer = 0x0]
++DOMWINDOW == 4 (0x1ed4200) [pid = 7062] [serial = 4] [outer = 0x1ed3a00]
[7062] WARNING: Loaded script chrome://global/content/printUtils.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://global/content/viewZoomOverlay.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/places/browserPlacesViews.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/downloads/downloads.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/downloads/indicator.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/customizableui/panelUI.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://global/content/viewSourceUtils.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-addons.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-ctrlTab.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-devedition.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-eme.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-feeds.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-fullScreen.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-fullZoom.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-gestureSupport.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-places.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
JavaScript warning: chrome://browser/content/browser-plugins.js, line 219: unreachable code after return statement
JavaScript warning: chrome://browser/content/browser-plugins.js, line 219: unreachable code after return statement
[7062] WARNING: Loaded script chrome://browser/content/browser-plugins.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-safebrowsing.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-sidebar.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
JavaScript error: file:///Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/Resources/browser/components/nsBrowserGlue.js, line 266: TypeError: browserEnum.getNext(...).gBrowser is null
[7062] WARNING: Loaded script chrome://browser/content/browser-social.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-syncui.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-tabsintitlebar.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-thumbnails.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-trackingprotection.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[7062] WARNING: Loaded script chrome://browser/content/browser-fxaccounts.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
++DOCSHELL 0x18f2400 == 3 [pid = 7062] [id = 3]
++DOMWINDOW == 5 (0x18b7000) [pid = 7062] [serial = 5] [outer = 0x0]
++DOCSHELL 0x18b7400 == 4 [pid = 7062] [id = 4]
++DOMWINDOW == 6 (0x18b7800) [pid = 7062] [serial = 6] [outer = 0x0]
[7062] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file /Users/cunningh/tenfourfox/dom/base/nsFrameLoader.cpp, line 272
++DOCSHELL 0x1eb9c800 == 5 [pid = 7062] [id = 5]
++DOMWINDOW == 7 (0x1ebb0c00) [pid = 7062] [serial = 7] [outer = 0x0]
[7062] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file /Users/cunningh/tenfourfox/dom/base/nsFrameLoader.cpp, line 272
++DOMWINDOW == 8 (0x1ebf7a00) [pid = 7062] [serial = 8] [outer = 0x1ebb0c00]
nsStandaloneNativeMenu::Init
nsMenuX::MenuConstruct called for = 542492096
Reading symbols for shared libraries gdb stack crawl at point of internal error:
[ 0 ] /opt/local/bin/gdb7 (find_partial_die+0x3fc) [0x16035c]
[ 1 ] /opt/local/bin/gdb7 (scan_partial_symbols+0x54) [0x161244]
[ 2 ] /opt/local/bin/gdb7 (dwarf2_build_psymtabs+0xd5c) [0x1622fc]
[ 3 ] /opt/local/bin/gdb7 (macho_symfile_read+0x110) [0x197d70]
[ 4 ] /opt/local/bin/gdb7 (syms_from_objfile+0x66c) [0xcc79c]
[ 5 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ec) [0xce13c]
[ 6 ] /opt/local/bin/gdb7 (symbol_file_add_with_addrs_or_offsets_using_objfile+0x3ac) [0xce0fc]
[ 7 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_helper+0x64) [0xcea04]
[ 8 ] /opt/local/bin/gdb7 (catch_errors+0xb0) [0x4e710]
[ 9 ] /opt/local/bin/gdb7 (symbol_file_add_bfd_safe+0xf8) [0xcace8]
[ 10 ] /opt/local/bin/gdb7 (dyld_load_symfile_internal+0x2d0) [0x191a80]
[ 11 ] /opt/local/bin/gdb7 (dyld_load_symfiles+0x1b0) [0x192030]
[ 12 ] /opt/local/bin/gdb7 (dyld_update_shlibs+0xbc) [0x1938dc]
/home/spectre/src/osx/gdb-768/src/gdb/dwarf2read.c:7457: internal-error: could not find partial DIE in cache
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
.. done
nsMenuX::MenuConstruct called for File = 529862128
nsMenuX::MenuConstruct called for New Container Tab = 521486224
nsMenuX::MenuConstruct called for Edit = 500244816
nsMenuX::MenuConstruct called for View = 542513664
nsMenuX::MenuConstruct called for Toolbars = 542518928
nsMenuX::MenuConstruct called for Sidebar = 542521744
nsMenuX::MenuConstruct called for Zoom = 542525504
nsMenuX::MenuConstruct called for Page Style = 542526304
nsMenuX::MenuConstruct called for Text Encoding = 542532400
nsMenuX::MenuConstruct called for History = 542539296
nsMenuX::MenuConstruct called for Recently Closed Tabs = 542545120
nsMenuX::MenuConstruct called for Recently Closed Windows = 542546560
nsMenuX::MenuConstruct called for Bookmarks = 542539344
nsMenuX::MenuConstruct called for Subscribe to This Page = 542554720
nsMenuX::MenuConstruct called for Bookmarks Toolbar = 542557616
nsMenuX::MenuConstruct called for Tools = 542544240
nsMenuX::MenuConstruct called for Web Developer = 542567120
nsMenuX::MenuConstruct called for Mirror Tab = 542577760
nsMenuX::MenuConstruct called for Window = 542560336
nsMenuX::MenuConstruct called for Help = 529874112
Size of LucidaGrande font table directory: 380
Assertion failure: mRawPtr != 0 (You can't dereference a NULL nsCOMPtr with operator->().), at ../../dist/include/nsCOMPtr.h:734
#01: ffi_prep_closure[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x42e2d2c]
#02: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x23a3d6c]
#03: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x108eab8]
#04: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x23a3cac]
#05: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x1094ffc]
#06: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x23a3db0]
#07: NS_NewBoxFrame(nsIPresShell*, nsStyleContext*)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2baebe4]
#08: NS_NewBoxFrame(nsIPresShell*, nsStyleContext*)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2bb0564]
#09: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0xe73f70]
#10: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0xe76598]
#11: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0xe8754c]
#12: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0xe760ac]
#13: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0xe76354]
#14: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0xe5b178]
#15: mozilla_dump_image[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0xe46f98]
#16: mozilla::LoadInfo::GetRedirectChain(JSContext*, JS::MutableHandle<JS::Value>)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x18df90]
#17: mozilla::LoadInfo::GetRedirectChain(JSContext*, JS::MutableHandle<JS::Value>)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x1ab9f8]
#18: mozilla::LoadInfo::GetRedirectChain(JSContext*, JS::MutableHandle<JS::Value>)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x1b982c]
#19: NS_NewLocalFile[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0xb8198]
#20: XRE_AddJarManifestLocation[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0xd5750]
#21: void std::vector<unsigned long, std::allocator<unsigned long> >::_M_emplace_back_aux<unsigned long>(unsigned long&&)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x1147cc]
#22: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x24eba4c]
#23: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2543454]
#24: CFRunLoopRunSpecific[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x24300]
#25: CFRunLoopRunSpecific[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x23830]
#26: CFRunLoopRunSpecific[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x232b0]
#27: GetMainEventQueue[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x8b20]
#28: BlockUntilNextEventMatchingListInMode[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x81b4]
#29: BlockUntilNextEventMatchingListInMode[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x8020]
#30: _DPSNextEvent[/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x8734]
#31: _runningOnAppKitThread[/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x83f8]
#32: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2543018]
#33: _NXIsHiddenOnLaunch[/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x493c]
#34: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2550b94]
#35: void std::vector<int, std::allocator<int> >::_M_insert_aux<int const&>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int const&)[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x30b178c]
#36: XRE_InitCommandLine[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x312f5b4]
#37: XRE_InitCommandLine[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x3130ca0]
#38: XRE_main[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/XUL +0x3130f38]
#39: tart[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/firefox +0x3fc4]
#40: tart[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/firefox +0xcc0]
#41: tart[/Users/cunningh/tenfourfox/obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/firefox +0x9c4]
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x0a49ed74 in ?? ()
(gdb) bt
#0 0x0a49ed74 in ?? ()
#1 0x0a49ed6c in ?? ()
#2 0x09189ab8 in ?? ()
#3 0x0a49ecac in ?? ()
#4 0x0918fffc in ?? ()
#5 0x0a49edb0 in ?? ()
#6 0x0aca9be4 in ?? ()
#7 0x0acab564 in ?? ()
#8 0x08f6ef70 in ?? ()
#9 0x08f71598 in ?? ()
#10 0x08f8254c in ?? ()
#11 0x08f710ac in ?? ()
#12 0x08f71354 in ?? ()
#13 0x08f56178 in ?? ()
#14 0x08f41f98 in ?? ()
#15 0x08288f90 in ?? ()
#16 0x082a69f8 in ?? ()
#17 0x082b482c in ?? ()
#18 0x081b3198 in ?? ()
#19 0x081d0750 in ?? ()
#20 0x0820f7cc in ?? ()
#21 0x0a5e6a4c in ?? ()
#22 0x0a63e454 in ?? ()
#23 0x907df300 in __CFRunLoopDoSources0 ()
#24 0x907de830 in __CFRunLoopRun ()
#25 0x907de2b0 in CFRunLoopRunSpecific ()
#26 0x932adb20 in RunCurrentEventLoopInMode ()
#27 0x932ad1b4 in ReceiveNextEventCommon ()
#28 0x932ad020 in BlockUntilNextEventMatchingListInMode ()
#29 0x93791734 in _DPSNextEvent ()
#30 0x937913f8 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#31 0x0a63e018 in ?? ()
#32 0x9378d93c in -[NSApplication run] ()
#33 0x0a64bb94 in ?? ()
#34 0x0b1ac78c in ?? ()
#35 0x0b22a5b4 in ?? ()
#36 0x0b22bca0 in ?? ()
#37 0x0b22bf38 in ?? ()
#38 0x00004fc4 in main (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>) at /Users/cunningh/tenfourfox/browser/app/nsBrowserApp.cpp:212
Needless to say, -O2
also crashes.
I noticed there are alot DIE
errors in gdb patchlevel 4. My backtrace is the same as @kencu with more complains about internal DIE
errors.
However, something's really odd: if I ./104fx_copy.sh
and debug the resulting standalone executable, I get a proper backtrace:
Last login: Thu Jan 18 21:09:08 on ttyp0
Welcome to Darwin!
PMG5Raph:~ Raph$ cd /tenfourfoxdebug.app/contents/macos
PMG5Raph:/tenfourfoxdebug.app/contents/macos Raph$ gdb7 firefoxGNU gdb 6.3.50-20050815 (Apple version gdb-768 TenFourFox patch 4) (Sun Dec 31 06:17:39 GMT 2017)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "powerpc-apple-darwin"...
warning: --arch option not supported in this gdb.
Reading symbols for shared libraries .......... done
(gdb) run
Starting program: /TenFourFoxDebug.app/Contents/MacOS/firefox
warning: Could not find malloc init callback function.
Make sure malloc is initialized before calling functions.
Reading symbols for shared libraries ...................................................................++ done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries ...................warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
. done
Reading symbols for shared libraries . done
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 39: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 78: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 107: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 136: unreachable code after return statement
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
JavaScript warning: resource://gre/modules/TelemetryController.jsm, line 660: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryReportingPolicy.jsm, line 342: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetrySend.jsm, line 1035: unreachable code after return statement
++DOCSHELL 0x1b48c00 == 1 [pid = 8932] [id = 1]
++DOMWINDOW == 1 (0x1b48400) [pid = 8932] [serial = 1] [outer = 0x0]
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Loading ColorSync profile: /Library/ColorSync/Profiles/Displays/SDM-HS73-76489C00.icc
Size of profile: 832
++DOMWINDOW == 2 (0x1cf0000) [pid = 8932] [serial = 2] [outer = 0x1b48400]
2018-01-18 21:11:59.208 firefox[8932] *** _NSAutoreleaseNoPool(): Object 0x50da10 of class NSCFNumber autoreleased with no pool in place - just leaking
JavaScript warning: resource://gre/modules/UITelemetry.jsm, line 30: unreachable code after return statement
JavaScript warning: resource://gre/modules/UITelemetry.jsm, line 49: unreachable code after return statement
++DOCSHELL 0x1ebce00 == 2 [pid = 8932] [id = 2]
++DOMWINDOW == 3 (0x1ebd800) [pid = 8932] [serial = 3] [outer = 0x0]
++DOMWINDOW == 4 (0x1ec4000) [pid = 8932] [serial = 4] [outer = 0x1ebd800]
[8932] WARNING: Loaded script chrome://global/content/printUtils.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://global/content/viewZoomOverlay.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/places/browserPlacesViews.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/downloads/downloads.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/downloads/indicator.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/customizableui/panelUI.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://global/content/viewSourceUtils.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-addons.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-ctrlTab.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-customization.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-devedition.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-eme.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-feeds.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-fullScreen.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-fullZoom.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-gestureSupport.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-places.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
JavaScript warning: chrome://browser/content/browser-plugins.js, line 219: unreachable code after return statement
JavaScript warning: chrome://browser/content/browser-plugins.js, line 219: unreachable code after return statement
[8932] WARNING: Loaded script chrome://browser/content/browser-plugins.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-sidebar.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-social.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-syncui.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-thumbnails.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-trackingprotection.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[8932] WARNING: Loaded script chrome://browser/content/browser-fxaccounts.js twice (bug 392650): file /Volumes/SrcDrv/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
++DOCSHELL 0x1f2c2600 == 3 [pid = 8932] [id = 3]
++DOMWINDOW == 5 (0x1f252200) [pid = 8932] [serial = 5] [outer = 0x0]
++DOCSHELL 0x1f202600 == 4 [pid = 8932] [id = 4]
++DOMWINDOW == 6 (0x1f202a00) [pid = 8932] [serial = 6] [outer = 0x0]
[8932] ###!!! ASSERTION: Double-initing a frame?: '!mContent', file /Volumes/SrcDrv/tenfourfox/layout/generic/nsFrame.cpp, line 513
[8932] ###!!! ASSERTION: Double-initing a frame?: '!mContent', file /Volumes/SrcDrv/tenfourfox/layout/generic/nsFrame.cpp, line 513
[8932] ###!!! ASSERTION: Shouldn't happen: '!aNewFrame->GetNextSibling()', file /Volumes/SrcDrv/tenfourfox/layout/base/nsCSSFrameConstructor.cpp, line 1185
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0xa1b1c1f3
0x0a5d006c in nsLayoutUtils::GetLastSibling (aFrame=0xa1b1c1d3) at nsLayoutUtils.cpp:1766
1766 if (!aFrame) {
(gdb) bt
#0 0x0a5d006c in nsLayoutUtils::GetLastSibling (aFrame=0xa1b1c1d3) at nsLayoutUtils.cpp:1766
#1 0x0a6a3468 in nsFrameList::SetFrames (this=0xefffcf4c, aFrameList=0x1edb888) at nsFrameList.cpp:68
#2 0x0a56c590 in nsFrameConstructorState::AddChild (this=0xefffcd38, aNewFrame=0x1edb888, aFrameItems=@0xefffcf4c, aContent=0x1ff855d0, aStyleContext=0x1eda8a0, aParentFrame=0x1eda7b0, aCanBePositioned=<value temporarily unavailable, due to optimizations>, aCanBeFloated=false, aIsOutOfFlowPopup=false, aInsertAfter=false, aInsertAfterFrame=0x0) at nsCSSFrameConstructor.cpp:1231
#3 0x0a5a41d0 in nsCSSFrameConstructor::ConstructFrameFromItemInternal (this=0x1dfec360, aItem=@0x1ff7c310, aState=@0xefffcd38, aParentFrame=0x1eda7b0, aFrameItems=@0xefffcf4c) at nsCSSFrameConstructor.cpp:3744
#4 0x0a5a47dc in nsCSSFrameConstructor::ConstructFramesFromItem (this=0x1dfec360, aState=@0xefffcd38, aIter=<value temporarily unavailable, due to optimizations>, aParentFrame=<value temporarily unavailable, due to optimizations>, aFrameItems=@0xefffcf4c) at nsCSSFrameConstructor.cpp:5868
#5 0x0a5c1ca0 in nsCSSFrameConstructor::ConstructFramesFromItemList (this=0x1dfec360, aState=@0xefffcd38, aItems=<value temporarily unavailable, due to optimizations>, aParentFrame=0x1eda7b0, aFrameItems=@0xefffcf4c) at nsCSSFrameConstructor.cpp:10194
#6 0x0a5a3270 in nsCSSFrameConstructor::ProcessChildren (this=0x1dfec360, aState=@0xefffcd38, aContent=0x1dff7400, aStyleContext=<value temporarily unavailable, due to optimizations>, aFrame=0x1eda7b0, aCanHaveGeneratedContent=<value temporarily unavailable, due to optimizations>, aFrameItems=@0xefffcf4c, aAllowBlockStyles=<value temporarily unavailable, due to optimizations>, aPendingBinding=0x0, aPossiblyLeafFrame=<value temporarily unavailable, due to optimizations>) at nsCSSFrameConstructor.cpp:10394
#7 0x0a5acde4 in nsCSSFrameConstructor::ConstructDocElementFrame (this=0x1dfec360, aDocElement=0x1dff7400, aFrameState=<value temporarily unavailable, due to optimizations>) at nsCSSFrameConstructor.cpp:2567
#8 0x0a5ad90c in nsCSSFrameConstructor::ContentRangeInserted (this=0x1dfec360, aContainer=<value temporarily unavailable, due to optimizations>, aStartChild=0x1dff7400, aEndChild=0x0, aFrameState=0x0, aAllowLazyConstruction=false) at nsCSSFrameConstructor.cpp:7419
#9 0x0a609100 in PresShell::Initialize (this=0x1ed2800, aWidth=<value temporarily unavailable, due to optimizations>, aHeight=<value temporarily unavailable, due to optimizations>) at nsPresShell.cpp:1709
#10 0x0a178590 in mozilla::dom::XULDocument::StartLayout (this=<value temporarily unavailable, due to optimizations>) at XULDocument.cpp:1904
#11 0x0a17ccc8 in mozilla::dom::XULDocument::DoneWalking (this=0x1ed8800) at XULDocument.cpp:3020
#12 0x0a183e50 in mozilla::dom::XULDocument::ResumeWalk (this=0x1ed8800) at XULDocument.cpp:2970
#13 0x0a1864cc in mozilla::dom::XULDocument::OnScriptCompileComplete (this=0x1ed8800, aScript=<value temporarily unavailable, due to optimizations>, aStatus=<value temporarily unavailable, due to optimizations>) at XULDocument.cpp:3450
#14 0x0a163608 in NotifyOffThreadScriptCompletedRunnable::Run (this=0x1ff54f70) at nsXULElement.cpp:2720
#15 0x07ef68cc in nsThread::ProcessNextEvent (this=0x51d3b0, aMayWait=<value temporarily unavailable, due to optimizations>, aResult=0xefffd8a8) at nsThread.cpp:972
#16 0x07f36370 in NS_ProcessPendingEvents (aThread=0x51d3b0, aTimeout=10) at nsThreadUtils.cpp:239
#17 0x0a233e84 in nsBaseAppShell::NativeEventCallback (this=0x5a7aa0) at nsBaseAppShell.cpp:97
#18 0x0a28bd8c in nsAppShell::ProcessGeckoEvents (aInfo=0x5a7aa0) at nsAppShell.mm:415
#19 0x907df300 in __CFRunLoopDoSources0 ()
#20 0x907de830 in __CFRunLoopRun ()
#21 0x907de2b0 in CFRunLoopRunSpecific ()
#22 0x932adb20 in RunCurrentEventLoopInMode ()
#23 0x932ad1b4 in ReceiveNextEventCommon ()
#24 0x932ad020 in BlockUntilNextEventMatchingListInMode ()
#25 0x93791734 in _DPSNextEvent ()
#26 0x937913f8 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#27 0x0a28b8d0 in -[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (self=0x5a8ae0, _cmd=<value temporarily unavailable, due to optimizations>, mask=4294967295, expiration=0x1dfd7180, mode=0xa07c1a80, flag=<value temporarily unavailable, due to optimizations>) at nsAppShell.mm:136
#28 0x9378d93c in -[NSApplication run] ()
#29 0x0a29a2a4 in nsAppShell::Run (this=0x5a7aa0) at nsAppShell.mm:689
#30 0x0ade8bf0 in nsAppStartup::Run (this=0x5a7a30) at nsAppStartup.cpp:281
#31 0x0ae633cc in XREMain::XRE_mainRun (this=<value temporarily unavailable, due to optimizations>) at /Volumes/SrcDrv/tenfourfox/toolkit/xre/nsAppRunner.cpp:4299
#32 0x0ae64684 in XREMain::XRE_main (this=0xeffff478, argc=1, argv=<value temporarily unavailable, due to optimizations>, aAppData=<value temporarily unavailable, due to optimizations>) at /Volumes/SrcDrv/tenfourfox/toolkit/xre/nsAppRunner.cpp:4396
#33 0x0ae64988 in XRE_main (argc=1, argv=0xeffffb84, aAppData=0xeffff5e8, aFlags=<value temporarily unavailable, due to optimizations>) at /Volumes/SrcDrv/tenfourfox/toolkit/xre/nsAppRunner.cpp:4498
#34 0x00004f60 in main (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>) at /Volumes/SrcDrv/tenfourfox/browser/app/nsBrowserApp.cpp:212
(gdb) kill
Kill the program being debugged? (y or n) y
(gdb) quit
I think the next thing to do is make this assert fatal, since this is the earliest point we can predictably see it goes wrong:
[8932] ###!!! ASSERTION: Double-initing a frame?: '!mContent', file /Volumes/SrcDrv/tenfourfox/layout/generic/nsFrame.cpp, line 513
Change that from NS_ASSERTION
to MOZ_ASSERT
, recompile and then get the backtrace when it fatally asserts there. Do this at -O1
obviously so that we have as few optimizations interfering as possible.
Just as advised, here's the retrieved backtrace in question:
[950] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file /Volumes/SrcDrv/tenfourfox/dom/base/nsFrameLoader.cpp, line 272
++DOCSHELL 0x1b24c00 == 5 [pid = 950] [id = 5]
++DOMWINDOW == 7 (0x1ecadc00) [pid = 950] [serial = 7] [outer = 0x0]
[950] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file /Volumes/SrcDrv/tenfourfox/dom/base/nsFrameLoader.cpp, line 272
++DOMWINDOW == 8 (0x1ed03200) [pid = 950] [serial = 8] [outer = 0x1ecadc00]
++DOMWINDOW == 9 (0x1ed4ec00) [pid = 950] [serial = 9] [outer = 0x1ea7b600]
Size of LucidaGrande font table directory: 380
Assertion failure: mRawPtr != 0 (You can't dereference a NULL nsCOMPtr with operator->().), at ../../dist/include/nsCOMPtr.h:734
#01: ffi_prep_closure[/TenFourFoxDebug.app/Contents/MacOS/XUL +0x42e4c40]
#02: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/TenFourFoxDebug.app/Contents/MacOS/XUL +0x23a461c]
#03: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0x108efd0]
#04: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/TenFourFoxDebug.app/Contents/MacOS/XUL +0x23a455c]
#05: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0x1095514]
#06: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/TenFourFoxDebug.app/Contents/MacOS/XUL +0x23a4660]
#07: NS_NewBoxFrame(nsIPresShell*, nsStyleContext*)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2baf84c]
#08: NS_NewBoxFrame(nsIPresShell*, nsStyleContext*)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2bb11cc]
#09: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0xe7425c]
#10: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0xe76884]
#11: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0xe87838]
#12: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0xe76398]
#13: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0xe76640]
#14: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0xe5b464]
#15: mozilla_dump_image[/TenFourFoxDebug.app/Contents/MacOS/XUL +0xe47284]
#16: mozilla::LoadInfo::GetRedirectChain(JSContext*, JS::MutableHandle<JS::Value>)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0x18dbe0]
#17: mozilla::LoadInfo::GetRedirectChain(JSContext*, JS::MutableHandle<JS::Value>)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0x1ab648]
#18: mozilla::LoadInfo::GetRedirectChain(JSContext*, JS::MutableHandle<JS::Value>)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0x1b947c]
#19: NS_NewLocalFile[/TenFourFoxDebug.app/Contents/MacOS/XUL +0xb7de8]
#20: XRE_AddJarManifestLocation[/TenFourFoxDebug.app/Contents/MacOS/XUL +0xd53a0]
#21: void std::vector<unsigned long, std::allocator<unsigned long> >::_M_emplace_back_aux<unsigned long>(unsigned long&&)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0x11441c]
#22: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/TenFourFoxDebug.app/Contents/MacOS/XUL +0x24ec2fc]
#23: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2543d04]
#24: CFRunLoopRunSpecific[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x24300]
#25: CFRunLoopRunSpecific[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x23830]
#26: CFRunLoopRunSpecific[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x232b0]
#27: GetMainEventQueue[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x8b20]
#28: BlockUntilNextEventMatchingListInMode[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x81b4]
#29: BlockUntilNextEventMatchingListInMode[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x8020]
#30: _DPSNextEvent[/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x8734]
#31: _runningOnAppKitThread[/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x83f8]
#32: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/TenFourFoxDebug.app/Contents/MacOS/XUL +0x25438c8]
#33: _NXIsHiddenOnLaunch[/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x493c]
#34: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2551444]
#35: void std::vector<int, std::allocator<int> >::_M_insert_aux<int const&>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int const&)[/TenFourFoxDebug.app/Contents/MacOS/XUL +0x30b2460]
#36: XRE_InitCommandLine[/TenFourFoxDebug.app/Contents/MacOS/XUL +0x31310e4]
#37: XRE_InitCommandLine[/TenFourFoxDebug.app/Contents/MacOS/XUL +0x31327d0]
#38: XRE_main[/TenFourFoxDebug.app/Contents/MacOS/XUL +0x3132a68]
#39: tart[/TenFourFoxDebug.app/Contents/MacOS/firefox +0x3fc4]
#40: tart[/TenFourFoxDebug.app/Contents/MacOS/firefox +0xcc0]
#41: tart[/TenFourFoxDebug.app/Contents/MacOS/firefox +0x9c4]
When I used gcc6 with optimize=-O1
and changed
NS_PRECONDITION(!mContent, "Double-initing a frame?");
to
MOZ_ASSERT(!mContent, "Double-initing a frame?");
then it doesn't crash any more, but doesn't open up any browser windows either. The Window menu shows the windows are being created and tracked, but there are no windows visible on the screen. Menus, about box, etc all work normally.
@kencu It does that but, the browser kills itself with the assert. It is completely unloaded with a crashlog soon after in my case. What's in your console?
I'm sceptical of that backtrace. Can you give the the debugger's view with bt
? The XPCOM backtrace is sometimes bad at resolving symbols.
Alternatively, after the NS_PRECONDITION
I guess we could just do MOZ_ASSERT(0)
and make it crash.
gdb makes sense, most call parameters are present:
(gdb) bt
#0 0x0a4a2624 in mozilla::dom::XMLDocument::ResetToURI () at XMLDocument.cpp:266
#1 0x0918cfd0 in nsDocument::Reset () at jsfriendapi.h:674
#2 0x0a4a255c in mozilla::dom::XMLDocument::Reset () at XMLDocument.cpp:253
#3 0x09193514 in nsDocument::StartDocumentLoad () at jsfriendapi.h:674
0x215bef54, aLoadGroup=<value temporarily unavailable, due to optimizations>, aContainer=0xbece1f4, aDocListener=0x1eda8200, aReset=<value temporarily unavailable, due to optimizations>, aSink=0x215bef54) at XMLDocument.cpp:502
#5 0x0acad84c in nsContentDLF::CreateDocument () at nsCOMPtr.h:295
0x198aeaa0, aExtraInfo=0xefffd164, aDocListener=0x215bef54, aDocViewer=0xbece1a4) at nsTString.h:641
#7 0x08f7225c in mozilla::image::SVGDocumentWrapper::SetupViewer (this=0x215c3538, aRequest=<value temporarily unavailable, due to optimizations>, aViewer=0x0, aLoadGroup=0x215c353c) at nsCOMPtr.h:295
#8 0x08f74884 in mozilla::image::SVGDocumentWrapper::OnStartRequest (this=0x8f74848, aRequest=0x215c3538, ctxt=<value temporarily unavailable, due to optimizations>) at SVGDocumentWrapper.cpp:235
#9 0x08f85838 in mozilla::image::VectorImage::OnStartRequest (this=0x215c3520, aRequest=0x215c34e0, aCtxt=0x215c34b0) at RefPtr.h:362
#10 0x08f74398 in mozilla::image::ImageFactory::CreateVectorImage (aRequest=0x0, aProgressTracker=0x215c34b0, aMimeType=@0x215bf2a0, aURI=0xefffd424, aImageFlags=4026520608, aInnerWindowId=4) at ImageCacheKey.cpp:60
#11 0x08f74640 in mozilla::image::ImageFactory::CreateImage (aRequest=0x0, aProgressTracker=0x3e8, aMimeType=@0xffffffff, aURI=0x3e, aIsMultiPart=8, aInnerWindowId=734) at ImageFactory.cpp:102
#12 0x08f59464 in imgRequest::OnDataAvailable (this=0x0, aRequest=0x6da, aContext=0x0, aInStr=0x215bed30, aOffset=<value temporarily unavailable, due to optimizations>, aCount=559672624) at RefCounted.h:104
#13 0x08f45284 in ProxyListener::OnDataAvailable (this=<value temporarily unavailable, due to optimizations>, aRequest=<value temporarily unavailable, due to optimizations>, ctxt=<value temporarily unavailable, due to optimizations>, inStr=<value temporarily unavailable, due to optimizations>, sourceOffset=<value temporarily unavailable, due to optimizations>, count=<value temporarily unavailable, due to optimizations>) at nsTSubstring.h:878
#14 0x0828bbe0 in nsBaseChannel::OnDataAvailable () at nsBaseChannel.cpp:848
#15 0x082a9648 in nsInputStreamPump::OnStateTransfer (this=0x82a92e4) at nsInputStreamPump.cpp:647
#16 0x082b747c in nsInputStreamPump::OnInputStreamReady (this=0x82b72c4, stream=<value temporarily unavailable, due to optimizations>) at nsInputStreamPump.cpp:442
#17 0x081b5de8 in nsInputStreamReadyEvent::Run (this=0x81d2ee4) at nsStreamUtils.cpp:91
#18 0x081d33a0 in nsThread::ProcessNextEvent (this=0x81d2ee4, aMayWait=4026521656, aResult=0x0) at nsThread.cpp:966
#19 0x0821241c in NS_ProcessPendingEvents (aThread=0x8212390, aTimeout=0) at nsThreadUtils.cpp:240
#20 0x0a5ea2fc in nsBaseAppShell::NativeEventCallback (this=0xa641b08) at nsBaseAppShell.cpp:97
#21 0x0a641d04 in _ZN10nsAppShell18ProcessGeckoEventsEPv (aInfo=0x907df300) at nsAppShell.mm:465
#22 0x907df300 in __CFRunLoopDoSources0 ()
#23 0x907de830 in __CFRunLoopRun ()
#24 0x907de2b0 in CFRunLoopRunSpecific ()
#25 0x932adb20 in RunCurrentEventLoopInMode ()
#26 0x932ad1b4 in ReceiveNextEventCommon ()
#27 0x932ad020 in BlockUntilNextEventMatchingListInMode ()
#28 0x93791734 in _DPSNextEvent ()
#29 0x937913f8 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#30 0x0a6418c8 in -[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (self=<value temporarily unavailable, due to optimizations>, _cmd=<value temporarily unavailable, due to optimizations>, mask=5933776, expiration=0x1, mode=0xa07c1a80, flag=<value temporarily unavailable, due to optimizations>) at nsAppShell.mm:138
#31 0x9378d93c in -[NSApplication run] ()
#32 0x0a64f444 in _ZN10nsAppShell3RunEv (this=0x5a8ad0) at nsAppShell.mm:694
#33 0x0b1b0460 in nsAppStartup::Run () at /Volumes/SrcDrv/tenfourfox/toolkit/components/reflect/reflect.cpp:22
#34 0x0b22f0e4 in XREMain::XRE_mainRun (this=0xeffffb7c) at /Volumes/SrcDrv/tenfourfox/toolkit/xre/nsAppRunner.cpp:2280
#35 0x0b2307d0 in XREMain::XRE_main (this=0xb230630, argc=<value temporarily unavailable, due to optimizations>, argv=0x0, aAppData=<value temporarily unavailable, due to optimizations>) at /Volumes/SrcDrv/tenfourfox/toolkit/xre/nsAppRunner.cpp:4389
#36 0x0b230a68 in XRE_main (argc=63, argv=<value temporarily unavailable, due to optimizations>, aAppData=0x0, aFlags=<value temporarily unavailable, due to optimizations>) at /Volumes/SrcDrv/tenfourfox/toolkit/xre/nsAppRunner.cpp:4499
#37 0x00004fc4 in main ()
Current language: auto; currently c++
(gdb) kill
Kill the program being debugged? (y or n) y
(gdb) quit
I wonder why I can't read debug symbols correctly unless I run the standalone script. This in turn makes gdb flood my scrollback buffer with timestamps warnings. grep -v
is a lifesaver.
I'm not sure this is the same assertion. Does it always terminate with the mRawPtr
one? I'm surprised the NS_PRECONDITION
fires but not MOZ_ASSERT
(though right now the compiler's sanity is in question anyway). If you throw the MOZ_ASSERT(0)
in after, do you get the same backtrace?
Either using MOZ_ASSERT
or not (like in the build I did before last), I did not notice variations in behaviour from a debugging viewpoint(as previously mentioned, only after fixing the packages with the script). I ran each about 6 times in gdb
without noticing anything, not that I carefully compared everything. I'll do a couple more tests as I still have both.
I'll also do a build with MOZ_ASSERT(0)
for the sake of completeness. Later, though, as right now I'm finalizing with 461 and my two build systems are fairly busy.
I put a MOZ_ASSERT(0) in the suggested spot, and this is what I obtained with gdb7 (on a fully assembled binary built with gcc6, optimize = -O1):
tigerg5:~/tenfourfox/TenFourFoxDebug.app/Contents/MacOS cunningh$ gdb7 ./firefox
GNU gdb 6.3.50-20050815 (Apple version gdb-768 TenFourFox patch 4) (Tue Aug 16 03:25:37 GMT 2016)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "powerpc-apple-darwin"...
warning: --arch option not supported in this gdb.
Reading symbols for shared libraries .......... done
(gdb) run
Starting program: /Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/firefox
warning: Could not find malloc init callback function.
Make sure malloc is initialized before calling functions.
Reading symbols for shared libraries ...................................................................++ done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries ...................warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
warning: Bad symbol - type is N_SECT but section is 0
. done
Reading symbols for shared libraries . done
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 39: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 78: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 107: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 136: unreachable code after return statement
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
[3924] ###!!! ASSERTION: Deprecated, use NewChannel2 providing loadInfo arguments!: 'false', file /Users/cunningh/tenfourfox/netwerk/base/nsIOService.cpp, line 936
[3924] ###!!! ASSERTION: Please pass security info when creating a channel: 'loadInfo', file /Users/cunningh/tenfourfox/netwerk/base/nsIOService.cpp, line 862
JavaScript warning: resource://gre/modules/TelemetryController.jsm, line 660: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryReportingPolicy.jsm, line 342: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetrySend.jsm, line 1035: unreachable code after return statement
++DOCSHELL 0x1d11600 == 1 [pid = 3924] [id = 1]
++DOMWINDOW == 1 (0x1d0de00) [pid = 3924] [serial = 1] [outer = 0x0]
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Loading ColorSync profile: /Library/ColorSync/Profiles/Displays/Apple Cinema Display-42485F0.icc
Size of profile: 844
++DOMWINDOW == 2 (0x1cc7800) [pid = 3924] [serial = 2] [outer = 0x1d0de00]
JavaScript warning: resource://gre/modules/UITelemetry.jsm, line 30: unreachable code after return statement
JavaScript warning: resource://gre/modules/UITelemetry.jsm, line 49: unreachable code after return statement
++DOCSHELL 0x1ec8a00 == 2 [pid = 3924] [id = 2]
++DOMWINDOW == 3 (0x1ed0400) [pid = 3924] [serial = 3] [outer = 0x0]
++DOMWINDOW == 4 (0x1ed0c00) [pid = 3924] [serial = 4] [outer = 0x1ed0400]
[3924] WARNING: Loaded script chrome://global/content/printUtils.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://global/content/viewZoomOverlay.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/places/browserPlacesViews.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/downloads/downloads.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/downloads/indicator.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/customizableui/panelUI.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://global/content/viewSourceUtils.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-addons.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-ctrlTab.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-customization.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-devedition.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-eme.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-feeds.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-fullScreen.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-fullZoom.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-gestureSupport.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-places.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
JavaScript warning: chrome://browser/content/browser-plugins.js, line 219: unreachable code after return statement
JavaScript warning: chrome://browser/content/browser-plugins.js, line 219: unreachable code after return statement
[3924] WARNING: Loaded script chrome://browser/content/browser-plugins.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-safebrowsing.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-sidebar.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-social.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-syncui.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-tabsintitlebar.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-thumbnails.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-trackingprotection.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[3924] WARNING: Loaded script chrome://browser/content/browser-fxaccounts.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
++DOCSHELL 0x1eb20c00 == 3 [pid = 3924] [id = 3]
++DOMWINDOW == 5 (0x1ea9de00) [pid = 3924] [serial = 5] [outer = 0x0]
++DOCSHELL 0x1e8de000 == 4 [pid = 3924] [id = 4]
++DOMWINDOW == 6 (0x1e8de400) [pid = 3924] [serial = 6] [outer = 0x0]
Assertion failure: 0, at /Users/cunningh/tenfourfox/layout/generic/nsFrame.cpp:514
#01: ffi_prep_closure[/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x42e3e04]
#02: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2943564]
#03: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x29f1b88]
#04: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2942ecc]
#05: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x29f31bc]
#06: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2860b70]
#07: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x28c44f8]
#08: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x242ca74]
#09: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2431fb0]
#10: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2439004]
#11: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x243b178]
#12: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2417900]
#13: XRE_AddJarManifestLocation[/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0xd5160]
#14: void std::vector<unsigned long, std::allocator<unsigned long> >::_M_emplace_back_aux<unsigned long>(unsigned long&&)[/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x1141dc]
#15: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x24eb45c]
#16: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2542e64]
#17: CFRunLoopRunSpecific[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x24300]
#18: CFRunLoopRunSpecific[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x23830]
#19: CFRunLoopRunSpecific[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x232b0]
#20: GetMainEventQueue[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x8b20]
#21: BlockUntilNextEventMatchingListInMode[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x81b4]
#22: BlockUntilNextEventMatchingListInMode[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x8020]
#23: _DPSNextEvent[/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x8734]
#24: _runningOnAppKitThread[/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x83f8]
#25: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x2542a28]
#26: _NXIsHiddenOnLaunch[/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x493c]
#27: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x25505a4]
#28: void std::vector<int, std::allocator<int> >::_M_insert_aux<int const&>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int const&)[/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x30b09a0]
#29: XRE_InitCommandLine[/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x312e7c8]
#30: XRE_InitCommandLine[/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x312feb4]
#31: XRE_main[/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/XUL +0x313014c]
#32: tart[/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/firefox +0x3fc4]
#33: tart[/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/firefox +0xcc0]
#34: tart[/Users/cunningh/tenfourfox/TenFourFoxDebug.app/Contents/MacOS/firefox +0x9c4]
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x0aa3d56c in nsFrame::Init (this=<value temporarily unavailable, due to optimizations>, aContent=<value temporarily unavailable, due to optimizations>, aParent=<value temporarily unavailable, due to optimizations>, aPrevInFlow=<value temporarily unavailable, due to optimizations>) at nsFrame.cpp:514
514 MOZ_ASSERT(0);
(gdb) bt
#0 0x0aa3d56c in nsFrame::Init (this=<value temporarily unavailable, due to optimizations>, aContent=<value temporarily unavailable, due to optimizations>, aParent=<value temporarily unavailable, due to optimizations>, aPrevInFlow=<value temporarily unavailable, due to optimizations>) at nsFrame.cpp:514
#1 0x0aaebb88 in nsSplittableFrame::Init (this=0x1ef4e20, aContent=<value temporarily unavailable, due to optimizations>, aParent=<value temporarily unavailable, due to optimizations>, aPrevInFlow=0x0) at nsSplittableFrame.cpp:22
#2 0x0aa3cecc in nsContainerFrame::Init (this=0x1ef4e20, aContent=<value temporarily unavailable, due to optimizations>, aParent=<value temporarily unavailable, due to optimizations>, aPrevInFlow=0x0) at nsContainerFrame.cpp:52
#3 0x0aaed1bc in ViewportFrame::Init (this=0x1ef4e20, aContent=<value temporarily unavailable, due to optimizations>, aParent=<value temporarily unavailable, due to optimizations>, aPrevInFlow=<value temporarily unavailable, due to optimizations>) at nsViewportFrame.cpp:38
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
Warning: physname = NULL
#4 0x0a95ab70 in nsCSSFrameConstructor::ConstructRootFrame (this=0x1dcc7350) at nsCSSFrameConstructor.cpp:2610
#5 0x0a9be4f8 in PresShell::Initialize (this=0x1ee4200, aWidth=<value temporarily unavailable, due to optimizations>, aHeight=<value temporarily unavailable, due to optimizations>) at nsPresShell.cpp:1668
#6 0x0a526a74 in mozilla::dom::XULDocument::StartLayout (this=<value temporarily unavailable, due to optimizations>) at XULDocument.cpp:1904
#7 0x0a52bfb0 in mozilla::dom::XULDocument::DoneWalking (this=0x1ee3200) at XULDocument.cpp:3020
#8 0x0a533004 in mozilla::dom::XULDocument::ResumeWalk (this=0x1ee3200) at XULDocument.cpp:2970
#9 0x0a535178 in mozilla::dom::XULDocument::OnScriptCompileComplete (this=0x1ee3200, aScript=<value temporarily unavailable, due to optimizations>, aStatus=NS_OK) at XULDocument.cpp:3450
#10 0x0a511900 in NotifyOffThreadScriptCompletedRunnable::Run (this=0x204b5b50) at nsXULElement.cpp:2720
#11 0x081cf160 in nsThread::ProcessNextEvent (this=0x51ed90, aMayWait=false, aResult=0xefffd7f8) at nsThread.cpp:972
#12 0x0820e1dc in NS_ProcessPendingEvents (aThread=0x51ed90, aTimeout=10) at nsThreadUtils.cpp:239
#13 0x0a5e545c in nsBaseAppShell::NativeEventCallback (this=0x5aa860) at nsBaseAppShell.cpp:97
#14 0x0a63ce64 in nsAppShell::ProcessGeckoEvents (aInfo=0x5aa860) at nsAppShell.mm:415
#15 0x907df300 in __CFRunLoopDoSources0 ()
#16 0x907de830 in __CFRunLoopRun ()
#17 0x907de2b0 in CFRunLoopRunSpecific ()
#18 0x932adb20 in RunCurrentEventLoopInMode ()
#19 0x932ad1b4 in ReceiveNextEventCommon ()
#20 0x932ad020 in BlockUntilNextEventMatchingListInMode ()
#21 0x93791734 in _DPSNextEvent ()
#22 0x937913f8 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#23 0x0a63ca28 in -[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (self=0x51bb00, _cmd=<value temporarily unavailable, due to optimizations>, mask=4294967295, expiration=0x5aebe0, mode=0xa07c1a80, flag=<value temporarily unavailable, due to optimizations>) at nsAppShell.mm:136
#24 0x9378d93c in -[NSApplication run] ()
#25 0x0a64a5a4 in nsAppShell::Run (this=0x5aa860) at nsAppShell.mm:689
#26 0x0b1aa9a0 in nsAppStartup::Run (this=0x5aa7f0) at nsAppStartup.cpp:281
#27 0x0b2287c8 in XREMain::XRE_mainRun (this=0xeffff428) at /Users/cunningh/tenfourfox/toolkit/xre/nsAppRunner.cpp:4299
#28 0x0b229eb4 in XREMain::XRE_main (this=0xeffff428, argc=1, argv=<value temporarily unavailable, due to optimizations>, aAppData=<value temporarily unavailable, due to optimizations>) at /Users/cunningh/tenfourfox/toolkit/xre/nsAppRunner.cpp:4396
#29 0x0b22a14c in XRE_main (argc=1, argv=0xeffffb28, aAppData=0xeffff60c, aFlags=<value temporarily unavailable, due to optimizations>) at /Users/cunningh/tenfourfox/toolkit/xre/nsAppRunner.cpp:4498
#30 0x00004fc4 in main (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>) at /Users/cunningh/tenfourfox/browser/app/nsBrowserApp.cpp:212
(gdb)
That backtrace makes sense to me given the symptoms reported (it's a failure to handle the XUL for the window), but I'm not sure why it's gone wrong and the calls seem correct. The bad thing must have happened earlier.
The other way to find the compiler bug -- and this would be labourious, but would work -- is to go one by one through the optimizations added by -O1
, add each one to --enable-optimize=
and see which one breaks the build. You should be able to see which ones are turned on with $GCC -Q -O1 --help=optimizers
(where $GCC
is the 6.4.0 binary, whatever it's called) and looking for those that are enabled in the listing.
There's a ton of them. Since my -Og
build never crashed (even when handling navigation on youtube, and playing some example WebM VP8 files) I assume options implied by -Og
are safe, for now at least. Using diff
and grep
I made a quick list of the options disabled by -Og but enabled for -O1:
> -fbranch-count-reg [enabled]
> -fif-conversion [enabled]
> -fif-conversion2 [enabled]
> -finline-functions-called-once [enabled]
> -fmove-loop-invariants [enabled]
> -fssa-phiopt [enabled]
> -ftree-bit-ccp [enabled]
> -ftree-pta [enabled]
> -ftree-sra [enabled]
This way we could use --enable-optimize=-Og\ -which\ -option\ -makes\ -it\ -crash
Using this with a G3 or G3-nostrip.mozcfg could also save time.
Is it advisable to try something like this before falling back to trying every single option?
That seems reasonable as far as the optimization options, but I'd still stick with the DEBUG configuration because it might crash with a different error and you'd be rebuilding DEBUG anyway.
I'm actually suspecting -finline-functions-called-once
is the culprit, since the issue seems to do with a reentrant call. But let's see.
You're right, keeping with DEBUG is more suitable than rushing all the builds then running into something unexpected. Especially when I have seen some strange debugging behaviour previously.
Before proceding with your debugging you should apply the attached patch to the linker (ld64). I've had problems with recent versions of gcc because in addition to the text section they create text_startup and __text_cold sections. Without the patch those sections aren't placed adjacent to text which, depending on the size of the sections between text and the other two, will cause branch island hopping to fail. If I remember correctly __text_startup contains the initialization code for (non-const?) variables. That of course causes all sort of unexplicable failures upon application launch. The patch is an imperfect workaround and adds a FIXME comment explaining the conditions that still have to be met in order to produce correct output. The basic problem is that I couldn't find an easy way to make ld64 generate branch island hopping across multiple sections.
The patch will apply against the current ld64-97 sources from macports, correct?
Does that mean something like placing the two sections either before the branch island at the start of text or after the branch island at the end of text would allow these sections to grow a little more without harm? Not that it looks like a simple/feasible undertaking either.
Anyway, thanks for the patch and the hint!
I was thinking I might also try a build with gcc7 to see if any of these optimization issues have been resolved in that version.
Just an FYI as well, not sure if you've seen Michael's work on building a newer ld64 on PPC. https://github.com/michaelweiser/ld64/branches
This might not even be a compiler issue at all - might well be just that specific linker issue.
Unfortunately Michael says that his forward ports don't solve the problems existing in ld64 127.2 - I know it fails to correctly link bigger binaries, like WebCore for example. I'd expect the same for XUL.
I applied your ld64-97 patch, rebuilt TFF debug (without any MOZ_ASSERT changes added), with gcc6 and optimize=-O1 . I get a new assertion failure that I thought might be relevant.
(gdb) run
Starting program: /Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/firefox
warning: Could not find malloc init callback function.
Make sure malloc is initialized before calling functions.
Reading symbols for shared libraries . done
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 39: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 78: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 107: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryStopwatch.jsm, line 136: unreachable code after return statement
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
[15985] ###!!! ASSERTION: Deprecated, use NewChannel2 providing loadInfo arguments!: 'false', file /Users/cunningh/tenfourfox/netwerk/base/nsIOService.cpp, line 936
[15985] ###!!! ASSERTION: Please pass security info when creating a channel: 'loadInfo', file /Users/cunningh/tenfourfox/netwerk/base/nsIOService.cpp, line 862
JavaScript warning: resource://gre/modules/TelemetryController.jsm, line 660: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetryReportingPolicy.jsm, line 342: unreachable code after return statement
JavaScript warning: resource://gre/modules/TelemetrySend.jsm, line 1035: unreachable code after return statement
++DOCSHELL 0x1df0a00 == 1 [pid = 15985] [id = 1]
++DOMWINDOW == 1 (0x1df1400) [pid = 15985] [serial = 1] [outer = 0x0]
Loading ColorSync profile: /Library/ColorSync/Profiles/Displays/Apple Cinema Display-42485F0.icc
Size of profile: 844
++DOMWINDOW == 2 (0x1daec00) [pid = 15985] [serial = 2] [outer = 0x1df1400]
JavaScript warning: resource://gre/modules/UITelemetry.jsm, line 30: unreachable code after return statement
JavaScript warning: resource://gre/modules/UITelemetry.jsm, line 49: unreachable code after return statement
++DOCSHELL 0x1f7b200 == 2 [pid = 15985] [id = 2]
++DOMWINDOW == 3 (0x1f7bc00) [pid = 15985] [serial = 3] [outer = 0x0]
++DOMWINDOW == 4 (0x1f82e00) [pid = 15985] [serial = 4] [outer = 0x1f7bc00]
[15985] WARNING: Loaded script chrome://global/content/printUtils.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://global/content/viewZoomOverlay.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/places/browserPlacesViews.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/downloads/downloads.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/downloads/indicator.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/customizableui/panelUI.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://global/content/viewSourceUtils.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-addons.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-ctrlTab.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-devedition.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-eme.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-feeds.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-fullScreen.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-fullZoom.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-gestureSupport.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-places.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
JavaScript warning: chrome://browser/content/browser-plugins.js, line 219: unreachable code after return statement
JavaScript warning: chrome://browser/content/browser-plugins.js, line 219: unreachable code after return statement
[15985] WARNING: Loaded script chrome://browser/content/browser-plugins.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-sidebar.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-social.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-syncui.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-tabsintitlebar.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-trackingprotection.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
[15985] WARNING: Loaded script chrome://browser/content/browser-fxaccounts.js twice (bug 392650): file /Users/cunningh/tenfourfox/dom/xul/nsXULPrototypeCache.cpp, line 219
++DOCSHELL 0x1f342600 == 3 [pid = 15985] [id = 3]
++DOMWINDOW == 5 (0x1f2cac00) [pid = 15985] [serial = 5] [outer = 0x0]
++DOCSHELL 0x1f2cb000 == 4 [pid = 15985] [id = 4]
++DOMWINDOW == 6 (0x1f2cb400) [pid = 15985] [serial = 6] [outer = 0x0]
nsStandaloneNativeMenu::Init
nsMenuX::MenuConstruct called for = 546996720
nsMenuX::MenuConstruct called for File = 449503696
nsMenuX::MenuConstruct called for New Container Tab = 509752192
nsMenuX::MenuConstruct called for Edit = 449503744
nsMenuX::MenuConstruct called for View = 547043936
nsMenuX::MenuConstruct called for Toolbars = 547051952
nsMenuX::MenuConstruct called for Sidebar = 547052496
nsMenuX::MenuConstruct called for Zoom = 547058512
nsMenuX::MenuConstruct called for Page Style = 547059328
nsMenuX::MenuConstruct called for Text Encoding = 547067744
nsMenuX::MenuConstruct called for History = 547072368
nsMenuX::MenuConstruct called for Recently Closed Tabs = 547078144
nsMenuX::MenuConstruct called for Recently Closed Windows = 547079600
nsMenuX::MenuConstruct called for Bookmarks = 547072416
nsMenuX::MenuConstruct called for Subscribe to This Page = 547087744
nsMenuX::MenuConstruct called for Bookmarks Toolbar = 547090640
nsMenuX::MenuConstruct called for Tools = 547077264
nsMenuX::MenuConstruct called for Web Developer = 547100144
nsMenuX::MenuConstruct called for Mirror Tab = 547110784
nsMenuX::MenuConstruct called for Window = 547084544
nsMenuX::MenuConstruct called for Help = 547115008
[15985] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file /Users/cunningh/tenfourfox/dom/base/nsFrameLoader.cpp, line 272
++DOCSHELL 0x1f5a8a00 == 5 [pid = 15985] [id = 5]
++DOMWINDOW == 7 (0x1f5a8e00) [pid = 15985] [serial = 7] [outer = 0x0]
[15985] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file /Users/cunningh/tenfourfox/dom/base/nsFrameLoader.cpp, line 272
++DOMWINDOW == 8 (0x1f5e9400) [pid = 15985] [serial = 8] [outer = 0x1f5a8e00]
Size of LucidaGrande font table directory: 380
Assertion failure: mRawPtr != 0 (You can't dereference a NULL nsCOMPtr with operator->().), at ../../dist/include/nsCOMPtr.h:734
#01: ffi_prep_closure[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x3c189c8]
#02: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x23a3cfc]
#03: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x108ea48]
#04: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x23a3c3c]
#05: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x1094f8c]
#06: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x23a3d40]
#07: NS_NewBoxFrame(nsIPresShell*, nsStyleContext*)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x2baeb74]
#08: NS_NewBoxFrame(nsIPresShell*, nsStyleContext*)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x2bb04f4]
#09: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0xe73f00]
#10: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0xe76528]
#11: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0xe874dc]
#12: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0xe7603c]
#13: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0xe762e4]
#14: imgLoader::SupportImageWithMimeType(char const*, AcceptedMimeTypes)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0xe5b108]
#15: mozilla_dump_image[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0xe46f28]
#16: mozilla::LoadInfo::GetRedirectChain(JSContext*, JS::MutableHandle<JS::Value>)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x18df20]
#17: mozilla::LoadInfo::GetRedirectChain(JSContext*, JS::MutableHandle<JS::Value>)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x1ab988]
#18: mozilla::LoadInfo::GetRedirectChain(JSContext*, JS::MutableHandle<JS::Value>)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x1b97bc]
#19: NS_NewLocalFile[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0xb8128]
#20: XRE_AddJarManifestLocation[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0xd56e0]
#21: void std::vector<unsigned long, std::allocator<unsigned long> >::_M_emplace_back_aux<unsigned long>(unsigned long&&)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x11475c]
#22: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x24eb9dc]
#23: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x25433e4]
#24: CFRunLoopRunSpecific[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x24300]
#25: CFRunLoopRunSpecific[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x23830]
#26: CFRunLoopRunSpecific[/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +0x232b0]
#27: GetMainEventQueue[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x8b20]
#28: BlockUntilNextEventMatchingListInMode[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x81b4]
#29: BlockUntilNextEventMatchingListInMode[/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox +0x8020]
#30: _DPSNextEvent[/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x8734]
#31: _runningOnAppKitThread[/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x83f8]
#32: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x2542fa8]
#33: _NXIsHiddenOnLaunch[/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x493c]
#34: std::_Rb_tree_node<unsigned long long>* std::_Rb_tree<unsigned long long, unsigned long long, std::_Identity<unsigned long long>, std::less<unsigned long long>, std::allocator<unsigned long long> >::_M_copy<std::_Rb_tree<unsigned long long, unsigned long [/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x2550b24]
#35: void std::vector<int, std::allocator<int> >::_M_insert_aux<int const&>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int const&)[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x30b171c]
#36: XRE_InitCommandLine[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x312f544]
#37: XRE_InitCommandLine[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x3130c30]
#38: XRE_main[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/XUL +0x3130ec8]
#39: tart[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/firefox +0x3674]
#40: tart[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/firefox +0xcc0]
#41: tart[/Users/cunningh/tenfourfox/TenFourFox.app/Contents/MacOS/firefox +0x9c4]
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x0a49bd04 in mozilla::dom::XMLDocument::ResetToURI (this=0x1f6ad000, aURI=0x21e316e0, aLoadGroup=0x21e173f0, aPrincipal=0x21e30660) at nsCOMPtr.h:733
733 MOZ_ASSERT(mRawPtr != 0,
FWIW gcc7 does build TFF through to completion on 10.4 PPC, but very similar errors appear.
I thought about this for a moment..
This fatal assert
Assertion failure: mRawPtr != 0 (You can't dereference a NULL nsCOMPtr with operator->().)
up to now only showed up when compiling at -O1
.
while this assert (the one we tried to make fatal and didn't show up without forcing it)
###!!! ASSERTION: Double-initing a frame?: '!mContent'
has only been seen from my build at -O2
. Which explains why all subsequent builds died later with the first assert I mentioned (I should have paid more attention to this).
So even though we narrow it down to one single compiler flag that makes -O1
builds crash, -O2
will introduce further ways for the browser to crash. The same is correct to assume with -O3
too, I guess.
I'm not sure what can be done for now.
I'm thinking of leaving 6.4.0 alone for awhile right now.
Even more when I suspect gcc
5.5.0 being a good path for now.
After reluctantly doing a debug build using 5.5.0 with --enable-optimize=-O1
TenFourFoxDebug works and doesn't log any terminal assertion.
@classilla Can this issue be turned into something that sounds like "Find a later version of gcc
that works" or would reopening one for 5 be preferable?
I'd prefer a new issue for getting gcc 5 off the ground, since there may still be a way to rescue the linker for gcc 6.
late in this discussion, I have not tried, but in ArcticFox I need these to compile and run witthout crash, I read the explanatino in some backports about code being optmizized away in constructors, newer FF then fixed that (but have no reference to the bugs that fixed it...) AF now builds successfully on linux up to gcc 6.5 and on NetBSD also with GCC 7 and runs, using these below.
ac_add_options --enable-optimize="-O2 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
Looking towards a day when TenFourFox might be built with gcc6.
A debug build with gcc6, generic G3 has a bus error on launch:
====== mozconfig
run log:
crashdump: