This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug gcov-profile/64123] [5 Regression] Instrumented Firefox segfaults on start
- From: "hubicka at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 30 Jan 2015 05:02:00 +0000
- Subject: [Bug gcov-profile/64123] [5 Regression] Instrumented Firefox segfaults on start
- Auto-submitted: auto-generated
- References: <bug-64123-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64123
--- Comment #5 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
OK,
I get:
(gdb) bt
#0 _IO_fread (buf=0x7ffff7fe6740 <__gcov_var+32>, size=size@entry=1,
count=count@entry=4096, fp=0x0) at iofread.c:43
#1 0x00007ffff7fe1719 in gcov_read_words (words=words@entry=2) at
../../../libgcc/../gcc/gcov-io.c:518
#2 0x00007ffff7fe1d1e in __gcov_read_counter () at
../../../libgcc/../gcc/gcov-io.c:555
#3 0x00007ffff7fe144d in gcov_get_counter () at ../../../libgcc/libgcov.h:316
#4 __gcov_merge_add (counters=0x7ffff7fe66f8
<__gcov0._Z30mozalloc_set_oom_abort_handlerPFvmE>, n_counters=<optimized out>)
at ../../../libgcc/libgcov-merge.c:56
#5 0x00007ffff0758f28 in merge_one_data (crc32=3347144653,
eof_pos_p=<synthetic pointer>, summary_pos_p=<synthetic pointer>,
this_prg=0x7fffffff8d60, prg_p=0x7fffffffa530,
gi_ptr=0x7ffff7fe6340, filename=0x7ffff6f41920
"/aux/hubicka/firefox6-50-lto-fdo3/memory/mozalloc/Unified_cpp_memory_mozalloc0.gcda")
at ../../../libgcc/libgcov-driver.c:472
#6 dump_one_gcov (all_prg=<synthetic pointer>, this_prg=0x7fffffff8d60,
crc32=3347144653, run_counted=0, gf=<synthetic pointer>, gi_ptr=0x7ffff7fe6340)
at ../../../libgcc/libgcov-driver.c:787
#7 gcov_do_dump (list=<optimized out>, run_counted=0) at
../../../libgcc/libgcov-driver.c:846
#8 0x00007ffff0759242 in __gcov_dump_one (root=root@entry=0x7ffff7fe7760
<__gcov_root>) at ../../../libgcc/libgcov-driver.c:858
#9 0x00007ffff0714fe8 in __gcov_dump_int () at
../../../libgcc/libgcov-interface.c:164
#10 0x00007ffff0714e8f in __gcov_flush () at
../../../libgcc/libgcov-interface.c:88
#11 0x00007ffff0714ca6 in __gcov_fork () at
../../../libgcc/libgcov-interface.c:179
#12 0x00007fffeb6bff8e in fire_glxtest_process() () from
/aux/hubicka/firefox6-50-lto-fdo3/dist/bin/libxul.so
#13 0x00007fffeb842a61 in XREMain::XRE_mainInit(bool*) () from
/aux/hubicka/firefox6-50-lto-fdo3/dist/bin/libxul.so
#14 0x00007fffeb84f339 in XREMain::XRE_main(int, char**, nsXREAppData const*)
() from /aux/hubicka/firefox6-50-lto-fdo3/dist/bin/libxul.so
#15 0x00007fffeb84f998 in XRE_main () from
/aux/hubicka/firefox6-50-lto-fdo3/dist/bin/libxul.so
#16 0x000000000042ce70 in do_main(int, char**, nsIFile*) [clone .constprop.24]
()
#17 0x0000000000409725 in main ()
What is however interesting is:
#4 __gcov_merge_add (counters=0x7ffff7fe66f8
<__gcov0._Z30mozalloc_set_oom_abort_handlerPFvmE>, n_counters=<optimized out>)
at ../../../libgcc/libgcov-merge.c:56
Profiling part of runtime library that is used to implement gcov is not really
intended to work. Perhaps we somehow broke profiling of Mozilla's malloc?