Bug 45761 - [4.6 regression] ICE: segmentation fault at gcc/expr.c:9863
Summary: [4.6 regression] ICE: segmentation fault at gcc/expr.c:9863
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.6.0
: P3 normal
Target Milestone: 4.6.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-23 14:18 UTC by gee
Modified: 2010-09-29 17:04 UTC (History)
1 user (show)

See Also:
Host: i686-pc-cygwin
Target: i686-pc-cygwin
Build: i686-pc-cygwin
Known to work:
Known to fail:
Last reconfirmed: 2010-09-29 16:54:56


Attachments
preprocessed source with gcc -E (21.93 KB, text/plain)
2010-09-23 14:24 UTC, gee
Details

Note You need to log in before you can comment on or make changes to this bug.
Description gee 2010-09-23 14:18:49 UTC
$ gdb /usr/libexec/gcc/i686-pc-cygwin/4.6.0/cc1.exe

Reading symbols from /usr/libexec/gcc/i686-pc-cygwin/4.6.0/cc1.exe...done.
(gdb) set args -quiet -v -I libdvdread4 -I libdvdcss -I libdvdread4 -I . -I /usr/include/freetype2 -MMD libdvdread4/ifo_read.d -MF libdvdread4/ifo_read.d -MT libdvdread4/ifo_read.o -D__CYGWIN32__ -D__CYGWIN__ -Dunix -D__unix__ -D__unix -idirafter /usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../include/w32api -idirafter /usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../../include/w32api -D __USE_UNIX98 -D _GNU_SOURCE -D _LARGEFILE_SOURCE -D _FILE_OFFSET_BITS=64 -D _LARGEFILE64_SOURCE libdvdread4/ifo_read.c -march=core2 -mcx16 -msahf -msse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=core2 -quiet -dumpbase ifo_read.c -march=core2 -mfpmath=sse -auxbase-strip libdvdread4/ifo_read.o -O4 -Wundef -Wall -Wno-switch -Wno-parentheses -Wpointer-arith -Wredundant-decls -Wstrict-prototypes -Wmissing-prototypes -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -version -ffast-math -fomit-frame-pointer -fno-common -o test.o
(gdb) r
Starting program: /usr/libexec/gcc/i686-pc-cygwin/4.6.0/cc1.exe -quiet -v -I libdvdread4 -I libdvdcss -I libdvdread4 -I . -I /usr/include/freetype2 -MMD libdvdread4/ifo_read.d -MF libdvdread4/ifo_read.d -MT libdvdread4/ifo_read.o -D__CYGWIN32__ -D__CYGWIN__ -Dunix -D__unix__ -D__unix -idirafter /usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../include/w32api -idirafter /usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../../include/w32api -D __USE_UNIX98 -D _GNU_SOURCE -D _LARGEFILE_SOURCE -D _FILE_OFFSET_BITS=64 -D _LARGEFILE64_SOURCE libdvdread4/ifo_read.c -march=core2 -mcx16 -msahf -msse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=core2 -quiet -dumpbase ifo_read.c -march=core2 -mfpmath=sse -auxbase-strip libdvdread4/ifo_read.o -O4 -Wundef -Wall -Wno-switch -Wno-parentheses -Wpointer-arith -Wredundant-decls -Wstrict-prototypes -Wmissing-prototypes -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -version -ffast-math -fomit-frame-pointer -fno-common -o test.o
[New Thread 12924.0x1528]
warning: the debug information found in "/cygdrive/d/cygwin/bin/cygwin1.dbg" does not match "/cygdrive/d/cygwin/bin/cygwin1.dll" (CRC mismatch).

[New Thread 12924.0x261c]
[New Thread 12924.0x37f8]

Program received signal SIGSEGV, Segmentation fault.
string_constant (arg=<value optimized out>, ptr_offset=0x4a7c19c)
    at ../.././gcc/expr.c:9863
9863              || TREE_CODE (DECL_INITIAL (array)) != STRING_CST)
(gdb) bt
#0  string_constant (arg=<value optimized out>, ptr_offset=0x4a7c19c)
    at ../.././gcc/expr.c:9863
#1  0x006d1de4 in c_getstr (src=<value optimized out>)
    at ../.././gcc/builtins.c:580
#2  0x006f5019 in fold_builtin_memcmp (loc=0x1b0f5f, fndecl=0x7fdc3b00,
    arg0=0x7fb72060, arg1=0x7fb72080, arg2=0x7fcce520, ignore=0x0)
    at ../.././gcc/builtins.c:8819
#3  fold_builtin_3 (loc=0x1b0f5f, fndecl=0x7fdc3b00, arg0=0x7fb72060,
    arg1=0x7fb72080, arg2=0x7fcce520, ignore=0x0)
    at ../.././gcc/builtins.c:10509
#4  0x006e74e7 in fold_builtin_n (loc=0x1b0f5f, fndecl=0x7fdc3b00,
    args=<value optimized out>, nargs=0x3, ignore=0x0)
    at ../.././gcc/builtins.c:10622
#5  0x006fb030 in fold_call_expr (loc=0x1b0f5f, exp=0x7fd411d0, ignore=0x0)
    at ../.././gcc/builtins.c:10743
#6  0x006c6234 in fold (expr=0x7fd411d0) at ../.././gcc/fold-const.c:13505
#7  0x0045d0c3 in c_fully_fold_internal (expr=0x7fd411d0, in_init=0x0,
    maybe_const_operands=0x4a7c51f "", maybe_const_itself=0x4a7c45e "\001\001")
    at ../.././gcc/c-family/c-common.c:1049
#8  0x0046006c in c_fully_fold (expr=0x7fd411d0, in_init=0x0,
    maybe_const=0x4a7c51f "") at ../.././gcc/c-family/c-common.c:957
#9  0x00434191 in build_binary_op (location=0x1b0f5f, code=NE_EXPR,
    orig_op0=0x7fd411d0, orig_op1=0x7fee0618, convert_p=0x1)
---Type <return> to continue, or q <return> to quit---
    at ../.././gcc/c-typeck.c:10008
#10 0x00467bf0 in c_common_truthvalue_conversion (location=0x1b0f5f,
    expr=<value optimized out>) at ../.././gcc/c-family/c-common.c:3940
#11 0x0042c0a8 in c_objc_common_truthvalue_conversion (location=0x1b0f5f,
    expr=0x7fd411d0) at ../.././gcc/c-typeck.c:10132
#12 0x00449559 in c_parser_condition (parser=0x7fe498c0)
    at ../.././gcc/c-parser.c:4060
#13 0x004495db in c_parser_paren_condition (parser=0x7fe498c0)
    at ../.././gcc/c-parser.c:4078
#14 c_parser_paren_condition (parser=0x7fe498c0) at ../.././gcc/c-parser.c:4073
#15 0x004427ec in c_parser_if_statement (parser=0x7fe498c0)
    at ../.././gcc/c-parser.c:4178
#16 c_parser_statement_after_labels (parser=0x7fe498c0)
    at ../.././gcc/c-parser.c:3928
#17 0x0044d6de in c_parser_compound_statement_nostart (parser=0x7fe498c0)
    at ../.././gcc/c-parser.c:3708
#18 0x0044fc22 in c_parser_compound_statement (parser=0x7fe498c0)
    at ../.././gcc/c-parser.c:3545
#19 0x0044ceb4 in c_parser_declaration_or_fndef (parser=0x7fe498c0,
    fndef_ok=0x1, static_assert_ok=<value optimized out>, empty_ok=0x1,
    nested=0x0, start_attr_ok=0x1) at ../.././gcc/c-parser.c:1375
#20 0x0045065e in c_parser_external_declaration (parser=0x7fe498c0)
    at ../.././gcc/c-parser.c:1129
---Type <return> to continue, or q <return> to quit---
#21 0x004515c4 in c_parser_translation_unit () at ../.././gcc/c-parser.c:1030
#22 c_parse_file () at ../.././gcc/c-parser.c:8920
#23 0x0049142e in c_common_parse_file (set_yydebug=0x0)
    at ../.././gcc/c-family/c-opts.c:1152
#24 0x00660955 in compile_file (argc=0x4c, argv=0x4eba1b8)
    at ../.././gcc/toplev.c:955
#25 do_compile (argc=0x4c, argv=0x4eba1b8) at ../.././gcc/toplev.c:2394
#26 toplev_main (argc=0x4c, argv=0x4eba1b8) at ../.././gcc/toplev.c:2435
#27 0x004a62a0 in main (argc=0x4c, argv=0x4eba1b8) at ../.././gcc/main.c:36
(gdb)
Comment 1 gee 2010-09-23 14:24:04 UTC
Created attachment 21868 [details]
preprocessed source with gcc -E

preprocessed source can't be made because it died before creating temp files.
but better than nothing.
ignoring duplicate directory "/usr/include"
ignoring duplicate directory "/usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../../include/w32api"
ignoring duplicate directory "/usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../include/w32api"
ignoring duplicate directory "/usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../../include/w32api"
ignoring duplicate directory "libdvdread4"
#include "..." search starts here:
#include <...> search starts here:
 libdvdread4
 libdvdcss
 .
 /usr/include/freetype2
 /usr/lib/gcc/i686-pc-cygwin/4.6.0/include
 /usr/local/include
 /usr/lib/gcc/i686-pc-cygwin/4.6.0/include-fixed
 /usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/include
 /usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../include/w32api
End of search list.
COLLECT_GCC_OPTIONS='-v' '-I' 'libdvdread4' '-I' 'libdvdcss' '-I' 'libdvdread4' '-I' '.' '-I' '/usr/include/freetype2' '-MMD' '-MF' 'libdvdread4/ifo_read.d' '-MT' 'libdvdread4/ifo_read.o' '-D' '__CYGWIN32__' '-D' '__CYGWIN__' '-D' 'unix' '-D' '__unix__' '-D' '__unix' '-idirafter' '/usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../include/w32api' '-idirafter' '/usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../../include/w32api' '-D' '__USE_UNIX98' '-D' '_GNU_SOURCE' '-D' '_LARGEFILE_SOURCE' '-D' '_FILE_OFFSET_BITS=64' '-D' '_LARGEFILE64_SOURCE' '-march=core2' '-mcx16' '-msahf' '-msse4.1' '--param' 'l1-cache-size=32' '--param' 'l1-cache-line-size=64' '--param' 'l2-cache-size=2048' '-mtune=core2' '-dumpbase' 'ifo_read.c' '-march=core2' '-mfpmath=sse' '-O4' '-Wundef' '-Wall' '-Wno-switch' '-Wno-parentheses' '-Wpointer-arith' '-Wredundant-decls' '-Wstrict-prototypes' '-Wmissing-prototypes' '-Wdisabled-optimization' '-Wno-pointer-sign' '-Wdeclaration-after-statement' '-std=gnu99' '-ffast-math' '-fomit-frame-pointer' '-fno-common' '-o' 'test.o' '-save-temps'
 /usr/libexec/gcc/i686-pc-cygwin/4.6.0/cc1.exe -fpreprocessed ifo_read.i -quiet -dumpbase ifo_read.c -march=core2 -mcx16 -msahf -msse4.1 -mtune=core2 -march=core2 -mfpmath=sse -auxbase ifo_read -O4 -Wundef -Wall -Wno-switch -Wno-parentheses -Wpointer-arith -Wredundant-decls -Wstrict-prototypes -Wmissing-prototypes -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -version -ffast-math -fomit-frame-pointer -fno-common --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -o ifo_read.s
GNU C (GCC) version 4.6.0 20100923 (experimental) (i686-pc-cygwin)
        compiled by GNU C version 4.6.0 20100922 (experimental), GMP version 5.0.0, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C (GCC) version 4.6.0 20100923 (experimental) (i686-pc-cygwin)
        compiled by GNU C version 4.6.0 20100922 (experimental), GMP version 5.0.0, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 7e3c1756114a397d512a621087e9864e
libdvdread4/ifo_read.c: In function ‘ifoRead_VMG’:
libdvdread4/ifo_read.c:569:3: 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.
Comment 2 Zdenek Sojka 2010-09-23 14:28:09 UTC
Most likely the same as PR45741. I think the testcase was reduced from the very same file.
Comment 3 Andrew Pinski 2010-09-29 16:54:56 UTC
(In reply to comment #2)
> Most likely the same as PR45741. I think the testcase was reduced from the very
> same file.

Can you try again then as that bug has been fixed already?
Comment 4 gee 2010-09-29 17:04:03 UTC
fixed