I'm trying to debug an intermittent crash in firefox with gcc-6.1.
At least it is now quite hard to trigger.
Unfortunately, I used CFLAGS and CXXFLAGS of -O2 on everything
before firefox. But the crash is happening somewhere in Python (2.7.11)
code because I get the following in gdb when I run a backtrace:
#0 0x00007f2ede950200 in
js::jit::HandleException(js::jit::ResumeFromException*) (frame=...,
this=<optimized out>) at
/scratch/working/firefox-47.0/js/src/jit/JitFrames.cpp:359
#1 0x00007f2ede950200 in
js::jit::HandleException(js::jit::ResumeFromException*) (frame=...,
cx=0x7f2e99679c00, this=0x7ffff10ccd10) at
/scratch/working/firefox-47.0/js/src/jit/JitFrames.cpp:369
#2 0x00007f2ede950200 in
js::jit::HandleException(js::jit::ResumeFromException*)
(overrecursed=0x7ffff10ccc9f, rfe=0x7ffff10cd1e0, frame=...,
cx=0x7f2e99679c00)
at /scratch/working/firefox-47.0/js/src/jit/JitFrames.cpp:416
#3 0x00007f2ede950200 in
js::jit::HandleException(js::jit::ResumeFromException*)
(rfe=0x7ffff10cd1e0) at
/scratch/working/firefox-47.0/js/src/jit/JitFrames.cpp:791
#4 0x00007f2ed3202162 in ()
#5 0x00007ffff10cd2b8 in ()
#6 0x00007ffff10cd1e0 in ()
Python Exception <type 'exceptions.OverflowError'> long too big to
convert:
#7 0xffffffffffffffff in ()
That message #6 shows it is somewhere in Python code, and the lack
of details on items 4 to 7 made me think Python lacked debugging
info.
I suspect that the underlying Python code might have been miscompiled
Normally, I mistrust optimization greater than -O2, so I set CFLAGS
to -O2 (also CXXFLAGS, but Python2 seems to be all C).
Loading python2 itself in gdb I see it is NOT stripped, but my log
shows it added -O3 after my CFLAGS (which will therefore have taken
precedence), e.g.
gcc -pthread -c -fno-strict-aliasing -O2 -DNDEBUG -g -fwrapv -O3
-Wall -Wstrict-prototypes -I. -IInclude -I./Include -fPIC
-DPy_BUILD_CORE -o Modules/python.o ./Modules/python.c
Is there any straightforward way to prevent it adding -O3 (apart
from changing every entry in the configure files) ?
And is there any easy way to debug the Python stuff itself ?
I've never managed to navigate Python dependencies, but if Python
itself is not stripped then there ought to be a way to at least get
some details about where items 4 to 7 in the bt are ?
ĸen, well out of my comfort zone.
--
I had to walk fifteen miles to school, barefoot in the snow. Uphill both ways.
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page