xpcshell crashes in JSC::X86Assembler::setRel32 when built with gcc 4.9

RESOLVED INVALID

Status

()

defect
RESOLVED INVALID
5 years ago
2 years ago

People

(Reporter: fredbezies, Unassigned)

Tracking

Trunk
x86_64
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(3 attachments)

Looks like a "duplicate" of bug #942421 but it strangely showing on Thunderbird build.

After I build successfully thunderbird with archlinux and gcc 4.9.0 when I go to objdir directory, and when I entered make package, I get this error :

Executing /home/fred/logs/mail/objdir-tb/mozilla/dist/bin/xpcshell -g /home/fred/logs/mail/objdir-tb/mozilla/dist/bin/ -a /home/fred/logs/mail/objdir-tb/mozilla/dist/bin/ -f /home/fred/logs/mail/src/mozilla/toolkit/mozapps/installer/precompile_cache.js -e precompile_startupcache("resource://gre/");
Traceback (most recent call last):
  File "/home/fred/logs/mail/src/mozilla/toolkit/mozapps/installer/packager.py", line 401, in <module>
    main()
  File "/home/fred/logs/mail/src/mozilla/toolkit/mozapps/installer/packager.py", line 393, in main
    args.source, gre_path, base)
  File "/home/fred/logs/mail/src/mozilla/toolkit/mozapps/installer/packager.py", line 158, in precompile_cache
    errors.fatal('Error while running startup cache precompilation')
  File "/home/fred/logs/mail/src/mozilla/python/mozbuild/mozpack/errors.py", line 101, in fatal
    self._handle(self.FATAL, msg)
  File "/home/fred/logs/mail/src/mozilla/python/mozbuild/mozpack/errors.py", line 96, in _handle
    raise ErrorMessage(msg)
mozpack.errors.ErrorMessage: Error: Error while running startup cache precompilation
/home/fred/logs/mail/src/mozilla/toolkit/mozapps/installer/packager.mk:722: recipe for target 'stage-package' failed
make[3]: *** [stage-package] Error 1
/home/fred/logs/mail/src/mozilla/toolkit/mozapps/installer/packager.mk:754: recipe for target 'make-package' failed
make[2]: *** [make-package] Error 2
/home/fred/logs/mail/src/config/rules.mk:512: recipe for target 'default' failed
make[1]: *** [default] Error 2
/home/fred/logs/mail/src/mail/build.mk:15: recipe for target 'package' failed
make: *** [package] Error 2

What is strange is that make package is working for my own mozilla firefox trunk builds :(
Getting it to for Mozilla Firefox now !

Traceback (most recent call last):
  File "/home/fred/logs/fox/src/toolkit/mozapps/installer/packager.py", line 402, in <module>
    main()
  File "/home/fred/logs/fox/src/toolkit/mozapps/installer/packager.py", line 394, in main
    args.source, gre_path, base)
  File "/home/fred/logs/fox/src/toolkit/mozapps/installer/packager.py", line 158, in precompile_cache
    errors.fatal('Error while running startup cache precompilation')
  File "/home/fred/logs/fox/src/python/mozbuild/mozpack/errors.py", line 101, in fatal
    self._handle(self.FATAL, msg)
  File "/home/fred/logs/fox/src/python/mozbuild/mozpack/errors.py", line 96, in _handle
    raise ErrorMessage(msg)
mozpack.errors.ErrorMessage: Error: Error while running startup cache precompilation
/home/fred/logs/fox/src/toolkit/mozapps/installer/packager.mk:722: recipe for target 'stage-package' failed
make[3]: *** [stage-package] Error 1
/home/fred/logs/fox/src/toolkit/mozapps/installer/packager.mk:754: recipe for target 'make-package' failed
make[2]: *** [make-package] Error 2
/home/fred/logs/fox/src/config/rules.mk:592: recipe for target 'default' failed
make[1]: *** [default] Error 2
/home/fred/logs/fox/src/browser/build.mk:9: recipe for target 'package' failed
make: *** [package] Error 2
Summary: Make package is broken for thunderbird since archlinux upgraded to gcc 4.9.0 → Make package is brokensince archlinux upgraded to gcc 4.9.0 ?!
Component: Build Config → JavaScript Engine
Product: Thunderbird → Core
Had to change component and product as it is to be again bug #942421 or something looking like it which is busted with gcc 4.9.0
Last working homemade build (which I'm using right now) : Built from http://hg.mozilla.org/mozilla-central/rev/34a7215c5d85

Gcc version :

[fred@fredo-arch ~]$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /build/gcc/src/gcc-4.9.0/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-cloog-backend=isl --disable-cloog-version-check --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --disable-multilib --disable-werror --enable-checking=release
Thread model: posix
gcc version 4.9.0 (GCC)
Full make package log.

Noticed this before make package crash :

"resource://gre/modules/devtools/gcli.jsm
console.error: 
  Failed to lookup 
  eagerHelperDesc
  Message: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIStringBundle.GetStringFromName]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  hideIntroDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  clearDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  contextDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  contextManual
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  contextPrefixDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  globalDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  globalWindowDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  helpDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  helpManual
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  helpSearchDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  helpSearchManual3
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  langDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefManual
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefShowDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefShowManual
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefShowSettingDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefShowSettingManual
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefSetDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefSetManual
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefSetSettingDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefSetSettingManual
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefSetValueDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefSetValueManual
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefResetDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefResetManual
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefResetSettingDesc
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]
console.error: 
  Failed to lookup 
  prefResetSettingManual
  Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]"  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65"  data: no]"

Related or not ?!
Not related.
(In reply to Mike Hommey [:glandium] from comment #5)
> Not related.

That's bad. Anyway to get more infos and help fixing this bug ?
Get a stacktrace from running the following:
/home/fred/logs/mail/objdir-tb/mozilla/dist/bin/xpcshell -g /home/fred/logs/mail/objdir-tb/mozilla/dist/bin/ -a /home/fred/logs/mail/objdir-tb/mozilla/dist/bin/ -f /home/fred/logs/mail/src/mozilla/toolkit/mozapps/installer/precompile_cache.js -e 'precompile_startupcache("resource://gre/");'
Try to adapt it for firefox.

Here are the results :

Starting program: /home/fred/logs/fox/objdir-fx/dist/bin/xpcshell -g
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
/home/fred/logs/fox/objdir-fx/dist/bin/xpcshell: error while loading shared libraries: libxul.so: cannot open shared object file: No such file or directory
[Inferior 1 (process 30575) exited with code 0177]

[fred@fredo-arch ~]$ /home/fred/logs/fox/src/toolkit/mozapps/installer/precompile_cache.js -e 'precompile_startupcache("resource://gre/");'
bash: /home/fred/logs/fox/src/toolkit/mozapps/installer/precompile_cache.js: Permission denied

So, what's next ? I "fight" 10 minutes to give you this.
set LD_LIBRARY_PATH=/home/fred/logs/fox/objdir-fx/dist/bin
No stacktrace for xpcshell -g, only this :

(gdb) run -g
Starting program: /home/fred/logs/fox/objdir-fx/dist/bin/xpcshell -g
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
warning: File "/home/fred/logs/fox/objdir-fx/toolkit/library/build/libxul.so-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
warning: File "/usr/lib/libstdc++.so.6.0.20-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
JavaScript-C32.0a1
usage: xpcshell [-g gredir] [-a appdir] [-r manifest]... [-PsSwWCijmIn] [-v version] [-f scriptfile] [-e script] [scriptfile] [scriptarg...]
[Inferior 1 (process 30835) exited with code 02]
Sorry, lines were cut in mail I received.

Attaching bt full log. Some debug codes are missing, but which ones ? I built firefox with debug symbols :(
Posted file stacktrace needed
Last line before crash : 

Program received signal SIGSEGV, Segmentation fault.
PatchJump (label=..., jump=...)
    at /home/fred/logs/fox/src/js/src/jit/x64/Assembler-x64.h:716
716	        JSC::X86Assembler::setRel32(jump.raw(), label.raw());

Hope it helps !
Summary: Make package is brokensince archlinux upgraded to gcc 4.9.0 ?! → xpcshell crashes in JSC::X86Assembler::setRel32 when built with gcc 4.9
Well it is worse than expected. See bug 1006077 => Firefox is crashing on start when built with gcc 4.9.0
Probably that nicolas can have a look at this
Flags: needinfo?(nicolas.b.pierron)
Tried on a freshly installed archlinux 32 bit VirtualBox machine, and got a crash, with this log :

Program received signal SIGSEGV, Segmentation fault.
js::jit::JitRuntime::patchIonBackedges (this=0xb05c1380, rt=0xb0fdc000, 
    target=js::jit::JitRuntime::BackedgeLoopHeader)
    at /home/fred/src/js/src/jit/Ion.cpp:415
415	                                               : patchableBackedge->interruptCheck);
(In reply to Frederic Bezies from comment #16)
> Program received signal SIGSEGV, Segmentation fault.
> js::jit::JitRuntime::patchIonBackedges (this=0xb05c1380, rt=0xb0fdc000, 
>     target=js::jit::JitRuntime::BackedgeLoopHeader)
>     at /home/fred/src/js/src/jit/Ion.cpp:415
> 415	                                               :
> patchableBackedge->interruptCheck);

Can you reproduces the error if you set JS_DISABLE_SLOW_SCRIPT_SIGNALS=1 in your environment, before running firefox?
Yes I can. Still crashing even with JS_DISABLE_SLOW_SCRIPT_SIGNALS=1 set in a terminal before launching make package in objdir repository.
(In reply to Frederic Bezies from comment #18)
> Yes I can. Still crashing even with JS_DISABLE_SLOW_SCRIPT_SIGNALS=1 set in
> a terminal before launching make package in objdir repository.

I mean:

  $ export JS_DISABLE_SLOW_SCRIPT_SIGNALS=1
  $ ./firefox -P default
Flags: needinfo?(nicolas.b.pierron)
Still segfaulting. No changes at all.
Here is what I get. Profile launcher is OK, but segfault just after that, when selecting my profile and clicking to start firefox. Same as in bug 1006077 I suppose.

[fred@fredo-arch bin]$ export LANG=C
[fred@fredo-arch bin]$ ./firefox -P default

(process:19311): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed

(process:19311): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Segmentation fault (core dumped)
Here is what I get from start to crash in terminal :

[fred@fredo-arch bin]$ export JS_DISABLE_SLOW_SCRIPT_SIGNALS=1
[fred@fredo-arch bin]$ gdb ./firefox
GNU gdb (GDB) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./firefox...done.
warning: File "/home/fred/logs/fox/src/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
	add-auto-load-safe-path /home/fred/logs/fox/src/.gdbinit
line to your configuration file "/home/fred/.gdbinit".
To completely disable this security protection add
	set auto-load safe-path /
line to your configuration file "/home/fred/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
	info "(gdb)Auto-loading safe path"
(gdb) run
Starting program: /home/fred/logs/fox/objdir-fx/dist/bin/firefox 
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
warning: File "/home/fred/logs/fox/objdir-fx/toolkit/library/build/libxul.so-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
[New Thread 0x7fffe849b700 (LWP 15974)]
[Thread 0x7fffe849b700 (LWP 15974) exited]

(process:15970): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
[New Thread 0x7fffe849b700 (LWP 15977)]
[New Thread 0x7fffe5dff700 (LWP 15978)]
[New Thread 0x7fffe53ff700 (LWP 15979)]
[New Thread 0x7fffe39ff700 (LWP 15980)]
[New Thread 0x7fffe2dff700 (LWP 15981)]
[New Thread 0x7fffe25fe700 (LWP 15982)]
[New Thread 0x7fffe1b97700 (LWP 15983)]
[New Thread 0x7ffff6d2e700 (LWP 15984)]
[New Thread 0x7fffe55fe700 (LWP 15985)]
[New Thread 0x7fffe4bfe700 (LWP 15986)]
[New Thread 0x7fffdfe85700 (LWP 15987)]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff376526a in js::jit::JitFrameIterator::checkInvalidation (
    this=this@entry=0xfffffffffffffff6, 
    ionScriptOut=ionScriptOut@entry=0x7fffffff6188)
    at /home/fred/logs/fox/src/js/src/jit/IonFrames.cpp:118
118	{
(gdb)

Same crashing error as for bug 1006077.
Is that related to gcc 4.9.0, does it work with another compiler or another version of the compiler?
It worked before archlinux upgrade gcc version to 4.9. I was using gcc 4.8.2 before and all was working flawlessly.

I'll try another compiler to verify.
(In reply to Frederic Bezies from comment #24)
> It worked before archlinux upgrade gcc version to 4.9. I was using gcc 4.8.2
> before and all was working flawlessly.
> 
> I'll try another compiler to verify.

Tried to verify if it is crashing with gcc 4.8.x, but I cannot get source code to be build with gcc 4.8.2 under a Debian GNU/Linux VirtualBox machine.
Some news. I get a working xpcshell this morning. I tried to remove both :

ac_add_options --disable-warnings-as-errors
ac_add_options --disable-debug-symbols

And it worked. Any ideas ?
I confirm same problem with gcc-4.8.2.


Traceback (most recent call last):
  File "/opt/mozilla-release/toolkit/mozapps/installer/packager.py", line 402, in <module>
    main()
  File "/opt/mozilla-release/toolkit/mozapps/installer/packager.py", line 394, in main
    args.source, gre_path, base)
  File "/opt/mozilla-release/toolkit/mozapps/installer/packager.py", line 158, in precompile_cache
    errors.fatal('Error while running startup cache precompilation')
  File "/opt/mozilla-release/python/mozbuild/mozpack/errors.py", line 101, in fatal
    self._handle(self.FATAL, msg)
  File "/opt/mozilla-release/python/mozbuild/mozpack/errors.py", line 96, in _handle
    raise ErrorMessage(msg)
mozpack.errors.ErrorMessage: Error: Error while running startup cache precompilation

If I try to build with "ac_add_options --disable-startupcache", then Firefox builds ok, but it can not start because of segmentation fault.

Will it be fixed?
Looking at the AUR-package thunderbird-hg seems to show a solution on line 62 of PKGBUILD (https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=thunderbird-hg#n62)

Seems like there's a bug in arch with the preprocessor. Will try to find if that is the culprit, or maybe an option in mozconfig.
Seems to be a problem with all Arch Linux x86_64 users, as the AUR package doesn't seem to build. (see comments (https://aur.archlinux.org/packages/thunderbird-hg/)
Looks like this bug is dead now.

Closing it as INVALID as it was an arch bug.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.