Bug 45799 - ICE + segfault when compiling Qt's WebKit JavaScriptCore
Summary: ICE + segfault when compiling Qt's WebKit JavaScriptCore
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 4.6.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-26 14:16 UTC by Ruben Van Boxem
Modified: 2010-09-27 11:08 UTC (History)
0 users

See Also:
Host: x86_64-w64-mingw32
Target: x86_64-w64-mingw32
Build: x86_64-w64-mingw32
Known to work:
Known to fail:
Last reconfirmed:


Attachments
Preprocessed source (443.94 KB, application/zip)
2010-09-26 14:27 UTC, Ruben Van Boxem
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ruben Van Boxem 2010-09-26 14:16:07 UTC
Output from "gcc -v":
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=m:/development/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/4.6.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../src/gcc/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysroot=/mingw64 --enable-lto --disable-multilib --enable-shared --enable-stage1-languages=c,lto --enable-languages=c,c++,lto --with-libiconv-prefix=/home/Ruben/mingw64/build64/gcc-libs --with-libexpat-prefix=/home/Ruben/mingw64/build64/gcc-libs --with-gmp=/home/Ruben/mingw64/build64/gcc-libs --with-mpfr=/home/Ruben/mingw64/build64/gcc-libs --with-mpc=/home/Ruben/mingw64/build64/gcc-libs --with-ppl=/home/Ruben/mingw64/build64/gcc-libs --with-cloog-ppl=/home/Ruben/mingw64/build64/gcc-libs --disable-win32-registry --enable-fully-dynamic-string --enable-checking=release --disable-werror --disable-nls CFLAGS='-mtune=core2 -fomit-frame-pointer -momit-leaf-frame-pointer' LFLAGS=
Thread model: win32
gcc version 4.6.0 20100918 (experimental) (GCC)

Command used to compile the source file:
g++ -c -Wall -Wreturn-type -fno-strict-aliasing -Wcast-align -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -O2 -frtti -fexceptions -mthreads -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DJSC=QTJSC -Djscyyparse=qtjscyyparse -Djscyylex=qtjscyylex -Djscyyerror=qtjscyyerror -DWTF=QTWTF -DQT_BUILD_SCRIPT_LIB -DQT_NO_USING_NAMESPACE -DQLALR_NO_QSCRIPTGRAMMAR_DEBUG_INFO -DQT_MAKEDLL -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -D_USE_MATH_DEFINES -DBUILDING_QT__=1 -DWTF_USE_ACCELERATED_COMPOSITING -DUSE_SYSTEM_MALLOC -DNDEBUG -DBUILDING_QT__ -DBUILDING_JavaScriptCore -DBUILDING_WTF -DWTF_USE_JAVASCRIPTCORE_BINDINGS=1 -DWTF_CHANGES=1 -DNDEBUG -DJS_NO_EXPORT -DQT_DLL -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -I"..\..\include\QtCore" -I"..\..\include" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\assembler" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\bytecode" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\bytecompiler" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\debugger" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\interpreter" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\jit" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\parser" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\pcre" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\profiler" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\runtime" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\wrec" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\wtf" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\wtf\unicode" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\yarr" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\API" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\ForwardingHeaders" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\generated" -I"..\..\include\QtScript" -I"tmp\rcc\release_shared" -I"tmp" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\WebKit\qt\Api" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\pcre" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\tmp" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\parser" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\bytecompiler" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\debugger" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\runtime" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\wtf" -I"m:\Development\Source\Qt\src\script\..\3rdparty\javascriptcore\JavaScriptCore\unicode" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\interpreter" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\jit" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\profiler" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\wrec" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\API" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\bytecode" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\assembler" -I"m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\generated" -I"m:\Development\Source\Qt\src\script" -I"m:\Development\Source\Qt\src\script\parser" -I"..\..\include\ActiveQt" -I"tmp\moc\release_shared" -I"m:\Development\Source\Qt\src\script" -I"." -I"m:\Development\Source\Qt\mkspecs\win32-g++" -o obj\release\JSGlobalData.o m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\runtime\JSGlobalData.cpp

The complete output from this command:

In file included from m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\assembler/MacroAssembler.h:46:0,
                 from m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\bytecode/Instruction.h:32,
                 from m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\bytecode/CodeBlock.h:34,
                 from m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\runtime\/JSActivation.h:32,
                 from m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\runtime\JSGlobalData.cpp:38:
m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\assembler/MacroAssemblerX86_64.h: In member function 'QTJSC::AbstractMacroAssembler<QTJSC::X86Assembler>::Call QTJSC::MacroAssemblerX86_64::call()':
m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\assembler/MacroAssemblerX86_64.h:113:22: warning: variable 'label' set but not used [-Wunused-but-set-variable]
m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\assembler/MacroAssemblerX86_64.h: In member function 'QTJSC::AbstractMacroAssembler<QTJSC::X86Assembler>::Call QTJSC::MacroAssemblerX86_64::tailRecursiveCall()':
m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\assembler/MacroAssemblerX86_64.h:121:22: warning: variable 'label' set but not used [-Wunused-but-set-variable]
m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\assembler/MacroAssemblerX86_64.h: In member function 'QTJSC::AbstractMacroAssembler<QTJSC::X86Assembler>::Call QTJSC::MacroAssemblerX86_64::makeTailRecursiveCall(QTJSC::AbstractMacroAssembler<QTJSC::X86Assembler>::Jump)':
m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\assembler/MacroAssemblerX86_64.h:130:22: warning: variable 'label' set but not used [-Wunused-but-set-variable]
m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\runtime\JSGlobalData.cpp: In static member function 'static void QTJSC::JSGlobalData::storeVPtrs()':
m:\Development\Source\Qt\src\3rdparty\javascriptcore\JavaScriptCore\runtime\JSGlobalData.cpp:79:6: 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.

The preprocessed source is attached.

This is my first bug report to GCC, I hope it's OK.
Comment 1 Ruben Van Boxem 2010-09-26 14:27:46 UTC
Created attachment 21889 [details]
Preprocessed source

I understand that zip files are not liked here, but the file is too large to attach uncompressed.

Alternatively, I have uploaded the same file (in uncompressed form) to mediafire.com: http://www.mediafire.com/file/wnu5mwksq926jra/JSGlobalData.ii

Sorry for the inconvenience.
Comment 2 Richard Biener 2010-09-27 11:07:26 UTC
This has been fixed and there is a duplicate bug about this.  I just can't
find it because bugzilla is slow these days.
Comment 3 Richard Biener 2010-09-27 11:08:35 UTC
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45580 it was.