Bug 522277 - internal compiler error: Segmentation fault when building kvirc
Summary: internal compiler error: Segmentation fault when building kvirc
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: rawhide
Hardware: All
OS: Linux
low
high
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-09-09 23:30 UTC by nucleo
Modified: 2009-09-10 22:15 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-09-10 20:37:45 UTC


Attachments (Terms of Use)
rh522277.ii.bz2 (59.43 KB, application/x-bzip2)
2009-09-10 08:02 UTC, Jakub Jelinek
no flags Details


Links
System ID Priority Status Summary Last Updated
GNU Compiler Collection 39827 None None None Never

Description nucleo 2009-09-09 23:30:14 UTC
Description of problem:
KVIrc build fails because of internal compiler error: Segmentation fault.


Version-Release number of selected component (if applicable):
gcc-4.4.1-11


I tried to build both without -fno-var-tracking-assignments compiler flag
http://koji.fedoraproject.org/koji/taskinfo?taskID=1666620

and with -fno-var-tracking-assignments compiler
http://koji.fedoraproject.org/koji/taskinfo?taskID=1666904

Build fails in both cases.

Comment 1 nucleo 2009-09-09 23:59:54 UTC
Previous build with gcc-4.4.1-9 was successful 
http://koji.fedoraproject.org/koji/taskinfo?taskID=1661351

Comment 2 Jakub Jelinek 2009-09-10 08:02:02 UTC
Created attachment 360455 [details]
rh522277.ii.bz2

Next time please provide the preprocessed testcase gcc has prepared for the bugreport.

I can reproduce even with x86_64-linux -> powerpc64-linux cross, but only under valgrind:

valgrind ./cc1plus -m64 -fno-exceptions -g -O2 rh522277.ii -fPIC

==5931== Invalid read of size 8
==5931==    at 0x7B1581: propagate_with_phi (tree-ssa-phiprop.c:243)
==5931==    by 0x7B2C45: tree_ssa_phiprop (tree-ssa-phiprop.c:351)
==5931==    by 0x67481F: execute_one_pass (passes.c:1277)
==5931==    by 0x674A74: execute_pass_list (passes.c:1326)
==5931==    by 0x674A8C: execute_pass_list (passes.c:1327)
==5931==    by 0x746477: tree_rest_of_compilation (tree-optimize.c:420)
==5931==    by 0x8747EF: cgraph_expand_function (cgraphunit.c:1047)
==5931==    by 0x875E73: cgraph_optimize (cgraphunit.c:1106)
==5931==    by 0x45475C: cp_write_global_declarations (decl2.c:3645)
==5931==    by 0x70932B: toplev_main (toplev.c:993)
==5931==    by 0x3BFA01E329: (below main) (in /lib64/libc-2.8.so)
==5931==  Address 0xb168dc8 is 0 bytes after a block of size 10,704 alloc'd
==5931==    at 0x4A05174: calloc (vg_replace_malloc.c:397)
==5931==    by 0xA0AA88: xcalloc (xmalloc.c:162)
==5931==    by 0x7B2BA9: tree_ssa_phiprop (tree-ssa-phiprop.c:344)
==5931==    by 0x67481F: execute_one_pass (passes.c:1277)
==5931==    by 0x674A74: execute_pass_list (passes.c:1326)
==5931==    by 0x674A8C: execute_pass_list (passes.c:1327)
==5931==    by 0x746477: tree_rest_of_compilation (tree-optimize.c:420)
==5931==    by 0x8747EF: cgraph_expand_function (cgraphunit.c:1047)
==5931==    by 0x875E73: cgraph_optimize (cgraphunit.c:1106)
==5931==    by 0x45475C: cp_write_global_declarations (decl2.c:3645)
==5931==    by 0x70932B: toplev_main (toplev.c:993)
==5931==    by 0x3BFA01E329: (below main) (in /lib64/libc-2.8.so)
==5931== 
==5931== Invalid read of size 8
==5931==    at 0x7B1602: propagate_with_phi (tree-ssa-phiprop.c:253)
==5931==    by 0x7B2C45: tree_ssa_phiprop (tree-ssa-phiprop.c:351)
==5931==    by 0x67481F: execute_one_pass (passes.c:1277)
==5931==    by 0x674A74: execute_pass_list (passes.c:1326)
==5931==    by 0x674A8C: execute_pass_list (passes.c:1327)
==5931==    by 0x746477: tree_rest_of_compilation (tree-optimize.c:420)
==5931==    by 0x8747EF: cgraph_expand_function (cgraphunit.c:1047)
==5931==    by 0x875E73: cgraph_optimize (cgraphunit.c:1106)
==5931==    by 0x45475C: cp_write_global_declarations (decl2.c:3645)
==5931==    by 0x70932B: toplev_main (toplev.c:993)
==5931==    by 0x3BFA01E329: (below main) (in /lib64/libc-2.8.so)
==5931==  Address 0xb168dc8 is 0 bytes after a block of size 10,704 alloc'd
==5931==    at 0x4A05174: calloc (vg_replace_malloc.c:397)
==5931==    by 0xA0AA88: xcalloc (xmalloc.c:162)
==5931==    by 0x7B2BA9: tree_ssa_phiprop (tree-ssa-phiprop.c:344)
==5931==    by 0x67481F: execute_one_pass (passes.c:1277)
==5931==    by 0x674A74: execute_pass_list (passes.c:1326)
==5931==    by 0x674A8C: execute_pass_list (passes.c:1327)
==5931==    by 0x746477: tree_rest_of_compilation (tree-optimize.c:420)
==5931==    by 0x8747EF: cgraph_expand_function (cgraphunit.c:1047)
==5931==    by 0x875E73: cgraph_optimize (cgraphunit.c:1106)
==5931==    by 0x45475C: cp_write_global_declarations (decl2.c:3645)
==5931==    by 0x70932B: toplev_main (toplev.c:993)
==5931==    by 0x3BFA01E329: (below main) (in /lib64/libc-2.8.so)
==5931== 
==5931== Invalid read of size 8
==5931==    at 0x7B160C: propagate_with_phi (tree-ssa-phiprop.c:107)
==5931==    by 0x7B2C45: tree_ssa_phiprop (tree-ssa-phiprop.c:351)
==5931==    by 0x67481F: execute_one_pass (passes.c:1277)
==5931==    by 0x674A74: execute_pass_list (passes.c:1326)
==5931==    by 0x674A8C: execute_pass_list (passes.c:1327)
==5931==    by 0x746477: tree_rest_of_compilation (tree-optimize.c:420)
==5931==    by 0x8747EF: cgraph_expand_function (cgraphunit.c:1047)
==5931==    by 0x875E73: cgraph_optimize (cgraphunit.c:1106)
==5931==    by 0x45475C: cp_write_global_declarations (decl2.c:3645)
==5931==    by 0x70932B: toplev_main (toplev.c:993)
==5931==    by 0x3BFA01E329: (below main) (in /lib64/libc-2.8.so)
==5931== 
==5931== Invalid read of size 1
==5931==    at 0x7B1610: propagate_with_phi (gimple.h:1043)
==5931==    by 0x7B2C45: tree_ssa_phiprop (tree-ssa-phiprop.c:351)
==5931==    by 0x67481F: execute_one_pass (passes.c:1277)
==5931==    by 0x674A74: execute_pass_list (passes.c:1326)
==5931==    by 0x674A8C: execute_pass_list (passes.c:1327)
==5931==    by 0x746477: tree_rest_of_compilation (tree-optimize.c:420)
==5931==    by 0x8747EF: cgraph_expand_function (cgraphunit.c:1047)
==5931==    by 0x875E73: cgraph_optimize (cgraphunit.c:1106)
==5931==    by 0x45475C: cp_write_global_declarations (decl2.c:3645)
==5931==    by 0x70932B: toplev_main (toplev.c:993)
==5931==    by 0x3BFA01E329: (below main) (in /lib64/libc-2.8.so)
==5931==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
/builddir/build/BUILD/kvirc-4.0rc1/src/kvilib/ext/kvi_regchan.cpp: In member function ‘void KviRegisteredChannelDataBase::save(const QString&)’:
/builddir/build/BUILD/kvirc-4.0rc1/src/kvilib/ext/kvi_regchan.cpp:78: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
==5931== 
==5931== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 4 from 1)
==5931== malloc/free: in use at exit: 1,407,569 bytes in 11,059 blocks.
==5931== malloc/free: 165,218 allocs, 154,159 frees, 104,324,142 bytes allocated.
==5931== For counts of detected errors, rerun with: -v
==5931== searching for pointers to 11,059 not-freed blocks.
==5931== checked 38,968,600 bytes.
==5931== 
==5931== LEAK SUMMARY:
==5931==    definitely lost: 18,872 bytes in 181 blocks.
==5931==      possibly lost: 40 bytes in 1 blocks.
==5931==    still reachable: 1,388,657 bytes in 10,877 blocks.
==5931==         suppressed: 0 bytes in 0 blocks.
==5931== Rerun with --leak-check=full to see details of leaked memory.

Comment 3 Jakub Jelinek 2009-09-10 08:29:55 UTC
This is PR39827.  VTA4.4 brought in backport of the r146425 change, but not this required follow-up.

Comment 4 Jakub Jelinek 2009-09-10 20:37:45 UTC
Should be fixed in gcc-4.4.1-12 in rawhide.

Comment 5 nucleo 2009-09-10 22:15:33 UTC
(In reply to comment #4)
> Should be fixed in gcc-4.4.1-12 in rawhide. 

Build with gcc-4.4.1-12 is successful.
http://koji.fedoraproject.org/koji/taskinfo?taskID=1669251

(In reply to comment #2)
> Next time please provide the preprocessed testcase gcc has prepared for the
> bugreport.
 
How can I obtain this from koji?
What exactly should I do?


Note You need to log in before you can comment on or make changes to this bug.