[Bug c++/40323] New: compiling just takes forever and doesn't really process
ich at az2000 dot de
gcc-bugzilla@gcc.gnu.org
Mon Jun 1 18:31:00 GMT 2009
This is with GCC trunk, rev 148041:
I have a cpp file where g++ just takes forever with 100% CPU usage and constant
(low) memory usage. I am waiting now for 20 minutes without any visible
progress.
I attached with GDB to the process and this is some of the details I am seeing:
az@gcomputer:~$ gdb
/opt/gcc4.4-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/cc1plus 32654
GNU gdb 6.8-debian
Copyright (C) 2008 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-linux-gnu"...
Really redefine built-in command "frame"? (y or n) [answered Y; input not from
terminal]
Really redefine built-in command "thread"? (y or n) [answered Y; input not from
terminal]
Really redefine built-in command "start"? (y or n) [answered Y; input not from
terminal]
Attaching to program:
/opt/gcc4.4-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/cc1plus, process
32654
Reading symbols from /usr/lib/libmpfr.so.1...done.
Loaded symbols for /usr/lib/libmpfr.so.1
Reading symbols from /usr/lib/libgmp.so.3...done.
Loaded symbols for /usr/lib/libgmp.so.3
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
_______________________________________________________________________________
Error while running hook_stop:
Value can't be converted to integer.
0x0000000000a6ebd4 in ipa_compute_jump_functions (cs=<value optimized out>) at
../../gcc/ipa-prop.c:437
437 while (TREE_CODE (rhs) == SSA_NAME && !SSA_NAME_IS_DEFAULT_DEF (rhs))
gdb> bt ful
#0 0x0000000000a6ebd4 in ipa_compute_jump_functions (cs=<value optimized out>)
at ../../gcc/ipa-prop.c:437
info = <value optimized out>
__FUNCTION__ = "ipa_compute_jump_functions"
call = <value optimized out>
#1 0x0000000000000002 in ?? ()
No symbol table info available.
#2 0x00007f11dcc99480 in ?? ()
No symbol table info available.
#3 0x0000000002394010 in ?? ()
No symbol table info available.
#4 0x0000000000000002 in ?? ()
No symbol table info available.
#5 0x00007f11df850360 in ?? ()
No symbol table info available.
#6 0x00007f11dd0b6c80 in ?? ()
No symbol table info available.
#7 0x00007f11dd0b6d20 in ?? ()
No symbol table info available.
#8 0x0000000002394040 in ?? ()
No symbol table info available.
#9 0x00007f11dc83b160 in ?? ()
No symbol table info available.
#10 0x00007f11ddb0f400 in ?? ()
No symbol table info available.
#11 0x00007f11dc8865a0 in ?? ()
No symbol table info available.
#12 0x000000000000003b in ?? ()
No symbol table info available.
#13 0x00007f11dd0b6d20 in ?? ()
No symbol table info available.
#14 0x00007f11dd0b6c80 in ?? ()
No symbol table info available.
#15 0x0000000000a6d0d0 in ?? ()
No locals.
#16 0x00007f11dc898600 in ?? ()
No symbol table info available.
#17 0x00007f11dc833600 in ?? ()
No symbol table info available.
#18 0x0000000000000000 in ?? ()
No symbol table info available.
gdb> c
^C
Program received signal SIGINT, Interrupt.
_______________________________________________________________________________
Error while running hook_stop:
Value can't be converted to integer.
gimple_assign_single_p (gs=0x7f11dc839be0) at ../../gcc/gimple.c:1831
1831 }
gdb> bt
#0 gimple_assign_single_p (gs=0x7f11dc839be0) at ../../gcc/gimple.c:1831
#1 0x0000000000a6ebee in ipa_compute_jump_functions (cs=<value optimized out>)
at ../../gcc/ipa-prop.c:441
#2 0x0000000000000002 in ?? ()
#3 0x00007f11dcc99480 in ?? ()
#4 0x0000000002394010 in ?? ()
#5 0x0000000000000002 in ?? ()
#6 0x00007f11df850360 in ?? ()
#7 0x00007f11dd0b6c80 in ?? ()
#8 0x00007f11dd0b6d20 in ?? ()
#9 0x0000000002394040 in ?? ()
#10 0x00007f11dc83b160 in ?? ()
#11 0x00007f11ddb0f400 in ?? ()
#12 0x00007f11dc8865a0 in ?? ()
#13 0x000000000000003b in ?? ()
#14 0x00007f11dd0b6d20 in ?? ()
#15 0x00007f11dd0b6c80 in ?? ()
#16 0x0000000000a6d0d0 in ?? ()
#17 0x00007f11dc898600 in ?? ()
#18 0x00007f11dc833600 in ?? ()
#19 0x0000000000000000 in ?? ()
gdb> c
^C
Program received signal SIGINT, Interrupt.
_______________________________________________________________________________
Error while running hook_stop:
Value can't be converted to integer.
0x0000000000a6ebdf in ipa_compute_jump_functions (cs=<value optimized out>) at
../../gcc/ipa-prop.c:437
437 while (TREE_CODE (rhs) == SSA_NAME && !SSA_NAME_IS_DEFAULT_DEF (rhs))
gdb> list
432 return the rhs of its defining statement. */
433
434 static inline tree
435 get_ssa_def_if_simple_copy (tree rhs)
436 {
437 while (TREE_CODE (rhs) == SSA_NAME && !SSA_NAME_IS_DEFAULT_DEF (rhs))
438 {
439 gimple def_stmt = SSA_NAME_DEF_STMT (rhs);
440
441 if (gimple_assign_single_p (def_stmt))
gdb> bt
#0 0x0000000000a6ebdf in ipa_compute_jump_functions (cs=<value optimized out>)
at ../../gcc/ipa-prop.c:437
#1 0x0000000000000002 in ?? ()
#2 0x00007f11dcc99480 in ?? ()
#3 0x0000000002394010 in ?? ()
#4 0x0000000000000002 in ?? ()
#5 0x00007f11df850360 in ?? ()
#6 0x00007f11dd0b6c80 in ?? ()
#7 0x00007f11dd0b6d20 in ?? ()
#8 0x0000000002394040 in ?? ()
#9 0x00007f11dc83b160 in ?? ()
#10 0x00007f11ddb0f400 in ?? ()
#11 0x00007f11dc8865a0 in ?? ()
#12 0x000000000000003b in ?? ()
#13 0x00007f11dd0b6d20 in ?? ()
#14 0x00007f11dd0b6c80 in ?? ()
#15 0x0000000000a6d0d0 in ?? ()
#16 0x00007f11dc898600 in ?? ()
#17 0x00007f11dc833600 in ?? ()
#18 0x0000000000000000 in ?? ()
gdb> c
^C
Program received signal SIGINT, Interrupt.
_______________________________________________________________________________
Error while running hook_stop:
Value can't be converted to integer.
gimple_assign_single_p (gs=0x7f11dc839be0) at ../../gcc/gimple.c:1827
1827 {
gdb> list
1822 any RHS operand, including those that perform an operation
1823 and do not have the semantics of a copy, such as COND_EXPR. */
1824
1825 bool
1826 gimple_assign_single_p (gimple gs)
1827 {
1828 return (gimple_code (gs) == GIMPLE_ASSIGN
1829 && get_gimple_rhs_class (gimple_assign_rhs_code (gs))
1830 == GIMPLE_SINGLE_RHS);
1831 }
gdb> print gs
$1 = (gimple) 0x7f11dc839be0
gdb> print *gs
$2 = {gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0,
nontemporal_move = 0x0, plf = 0x0, modified = 0x0, has_volatile_ops = 0x0, pad
= 0x0, subcode = 0x74, uid = 0x0, location = 0x6480dd, num_ops = 0x2, bb =
0x7f11dc8865a0, block = 0x7f11dc83a120}, gsops = {opbase = {gsbase = {code =
GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0, plf =
0x0, modified = 0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid =
0x0, location = 0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block =
0x7f11dc83a120}, def_ops = 0x7f11db7df1d0, use_ops = 0x0}, op = {0x0}}, gsmem =
{membase = {opbase = {gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0, visited
= 0x0, nontemporal_move = 0x0, plf = 0x0, modified = 0x0, has_volatile_ops =
0x0, pad = 0x0, subcode = 0x74, uid = 0x0, location = 0x6480dd, num_ops = 0x2,
bb = 0x7f11dc8865a0, block = 0x7f11dc83a120}, def_ops = 0x7f11db7df1d0, use_ops
= 0x0}, vdef = 0x0, vuse = 0x0}, op = {0x7f11db7dccc0}}, omp = {gsbase = {code
= GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0, plf =
0x0, modified = 0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid =
0x0, location = 0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block =
0x7f11dc83a120}, body = 0x7f11db7df1d0}, gimple_bind = {gsbase = {code =
GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0, plf =
0x0, modified = 0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid =
0x0, location = 0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block =
0x7f11dc83a120}, vars = 0x7f11db7df1d0, block = 0x0, body = 0x0}, gimple_catch
= {gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0,
nontemporal_move = 0x0, plf = 0x0, modified = 0x0, has_volatile_ops = 0x0, pad
= 0x0, subcode = 0x74, uid = 0x0, location = 0x6480dd, num_ops = 0x2, bb =
0x7f11dc8865a0, block = 0x7f11dc83a120}, types = 0x7f11db7df1d0, handler =
0x0}, gimple_eh_filter = {gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0,
visited = 0x0, nontemporal_move = 0x0, plf = 0x0, modified = 0x0,
has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid = 0x0, location =
0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block = 0x7f11dc83a120}, types =
0x7f11db7df1d0, failure = 0x0}, gimple_phi = {gsbase = {code = GIMPLE_ASSIGN,
no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0, plf = 0x0, modified =
0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid = 0x0, location =
0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block = 0x7f11dc83a120}, capacity
= 0xdb7df1d0, nargs = 0x7f11, result = 0x0, args = {{imm_use = {prev = 0x0,
next = 0x0, loc = {stmt = 0x7f11db7dccc0, ssa_name = 0x7f11db7dccc0}, use =
0x7f11dcb59a80}, def = 0x202205}}}, gimple_resx = {gsbase = {code =
GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0, plf =
0x0, modified = 0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid =
0x0, location = 0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block =
0x7f11dc83a120}, region = 0xdb7df1d0}, gimple_try = {gsbase = {code =
GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0, plf =
0x0, modified = 0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid =
0x0, location = 0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block =
0x7f11dc83a120}, eval = 0x7f11db7df1d0, cleanup = 0x0}, gimple_wce = {gsbase =
{code = GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0,
plf = 0x0, modified = 0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74,
uid = 0x0, location = 0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block =
0x7f11dc83a120}, cleanup = 0x7f11db7df1d0}, gimple_asm = {membase = {opbase =
{gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0,
nontemporal_move = 0x0, plf = 0x0, modified = 0x0, has_volatile_ops = 0x0, pad
= 0x0, subcode = 0x74, uid = 0x0, location = 0x6480dd, num_ops = 0x2, bb =
0x7f11dc8865a0, block = 0x7f11dc83a120}, def_ops = 0x7f11db7df1d0, use_ops =
0x0}, vdef = 0x0, vuse = 0x0}, string = 0x7f11db7dccc0 "\216", ni = 0x80, no =
0x9a, nc = 0xdcb5, op = {0x202205}}, gimple_omp_critical = {omp = {gsbase =
{code = GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0,
plf = 0x0, modified = 0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74,
uid = 0x0, location = 0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block =
0x7f11dc83a120}, body = 0x7f11db7df1d0}, name = 0x0}, gimple_omp_for = {omp =
{gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0,
nontemporal_move = 0x0, plf = 0x0, modified = 0x0, has_volatile_ops = 0x0, pad
= 0x0, subcode = 0x74, uid = 0x0, location = 0x6480dd, num_ops = 0x2, bb =
0x7f11dc8865a0, block = 0x7f11dc83a120}, body = 0x7f11db7df1d0}, clauses = 0x0,
collapse = 0x0, iter = 0x0, pre_body = 0x7f11db7dccc0}, gimple_omp_parallel =
{omp = {gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0,
nontemporal_move = 0x0, plf = 0x0, modified = 0x0, has_volatile_ops = 0x0, pad
= 0x0, subcode = 0x74, uid = 0x0, location = 0x6480dd, num_ops = 0x2, bb =
0x7f11dc8865a0, block = 0x7f11dc83a120}, body = 0x7f11db7df1d0}, clauses = 0x0,
child_fn = 0x0, data_arg = 0x0}, gimple_omp_task = {par = {omp = {gsbase =
{code = GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0,
plf = 0x0, modified = 0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74,
uid = 0x0, location = 0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block =
0x7f11dc83a120}, body = 0x7f11db7df1d0}, clauses = 0x0, child_fn = 0x0,
data_arg = 0x0}, copy_fn = 0x7f11db7dccc0, arg_size = 0x7f11dcb59a80, arg_align
= 0x202205}, gimple_omp_sections = {omp = {gsbase = {code = GIMPLE_ASSIGN,
no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0, plf = 0x0, modified =
0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid = 0x0, location =
0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block = 0x7f11dc83a120}, body =
0x7f11db7df1d0}, clauses = 0x0, control = 0x0}, gimple_omp_single = {omp =
{gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0,
nontemporal_move = 0x0, plf = 0x0, modified = 0x0, has_volatile_ops = 0x0, pad
= 0x0, subcode = 0x74, uid = 0x0, location = 0x6480dd, num_ops = 0x2, bb =
0x7f11dc8865a0, block = 0x7f11dc83a120}, body = 0x7f11db7df1d0}, clauses =
0x0}, gimple_omp_continue = {gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0,
visited = 0x0, nontemporal_move = 0x0, plf = 0x0, modified = 0x0,
has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid = 0x0, location =
0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block = 0x7f11dc83a120},
control_def = 0x7f11db7df1d0, control_use = 0x0}, gimple_omp_atomic_load =
{gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0,
nontemporal_move = 0x0, plf = 0x0, modified = 0x0, has_volatile_ops = 0x0, pad
= 0x0, subcode = 0x74, uid = 0x0, location = 0x6480dd, num_ops = 0x2, bb =
0x7f11dc8865a0, block = 0x7f11dc83a120}, rhs = 0x7f11db7df1d0, lhs = 0x0},
gimple_omp_atomic_store = {gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0,
visited = 0x0, nontemporal_move = 0x0, plf = 0x0, modified = 0x0,
has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid = 0x0, location =
0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block = 0x7f11dc83a120}, val =
0x7f11db7df1d0}}
gdb>
--
Summary: compiling just takes forever and doesn't really process
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ich at az2000 dot de
GCC host triplet: amd64
GCC target triplet: amd64
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40323
More information about the Gcc-bugs
mailing list