Bug?? Runtime exception with wxDev-C++ and TDm-gcc 4.7.1

If you are using wxDev-C++ for your wxWidgets design, please ask your questions here instead of in IDE Related.
Post Reply
rt56
In need of some credit
In need of some credit
Posts: 2
Joined: Thu Jan 31, 2013 4:46 am

Bug?? Runtime exception with wxDev-C++ and TDm-gcc 4.7.1

Post by rt56 »

First post so aplogies if this is in the wrong place

Using wxDev-C++ 7.4.2.569 and TDM-gcc 4.7.2.
I have created a wxFrame default project.
THe project compiles and links just fine, but when it runs it gives an
"Access Violation was raised in your program"

The debug log indicates that the run time exception occurs in
wxHashTableBase::MakeKey( wxString const&)

which is being called from
wxClassInfo::Register( )

Any suggestions on how to fix this would be most welcome.
I don't quite know if this is a bug in the lateset TDM-gcc release or just something that I'm doing (or not doing)
I suspect the latter.

Here is the compile log:

Output to Display...
"Reading symbols from C:\\Data\\School\\C++\\wxDev-C++\\WidgetsFramePrac05\\Output\\MingW\\WidgetsFramePrac05.exe..."
Output to Display...
"done.\n"
Output to Display...
"[New Thread 7964.0x1ca0]\n"
Stopped - signal received
Thread 1 stopped in wxHashTableBase::MakeKey(wxString const&) at line 5808667 in with Segmentation fault
Current Thread ID = 1
Output to Display...
"Single stepping until exit from function _ZN15wxHashTableBase7MakeKeyERK8wxString,\nwhich has no line number information.\n"
Stopped - signal received
Thread 1 stopped in wxHashTableBase::MakeKey(wxString const&) at line 5808667 in with Segmentation fault
Current Thread ID = 1

***********************************************************************************************************************************
Backtrace reaveals only

wxHashTabkeBase::MakeKey( wxString const& )
wxClassInfo::Register( )
??
??
??


*************************************************************************************************************************************
Compiler output
mingw32
../../src/gcc-4.7.1/configure --build=mingw32 --enable-languages=c,c++,ada,fortran,objc,obj-c++ --enable-threads=win32 --enable-libgomp --enable-lto --enable-fully-dynamic-string --enable-libstdcxx-debug --enable-version-specific-runtime-libs --with-gnu-ld --disable-nls --disable-win32-registry --disable-symvers --disable-build-poststage1-with-cxx --disable-werror --prefix=/mingw32tdm --with-local-prefix=/mingw32tdm --enable-cxx-flags='-fno-function-sections -fno-data-sections' --with-pkgversion=tdm-1 --enable-sjlj-exceptions --with-bugurl=http://tdm-gcc.tdragon.net/bugs
win32

--param ggc-min-expand=100 --param ggc-min-heapsize=131072

--param ggc-min-expand=100 --param ggc-min-heapsize=131072
1b05afeca9d712f769248af52f554d5e

Compiler output
Compiler: MingW32-TDM
Executing make clean
del /Q "Objects\MingW\WidgetsFramePrac05App.o" "Objects\MingW\WidgetsFramePrac05Frm.o" Objects\MingW\WidgetsFramePrac05_private.res "Output\MingW\WidgetsFramePrac05.exe"

TDMg++.exe -v -c WidgetsFramePrac05App.cpp -o Objects/MingW/WidgetsFramePrac05App.o -I"C:/Dev-Cpp/include" -I"C:/MinGW32-TDM/include" -I"C:/Dev-Cpp/" -I"C:/Dev-Cpp/include/common" -D__WXMSW__ -D__GNUWIN32__ -D_UNICODE -std=gnu++11 -fexceptions -fverbose-asm -g3

Using built-in specs.
COLLECT_GCC=TDMg++.exe
Target: mingw32

Configured with: ../../src/gcc-4.7.1/configure --build=mingw32 --enable-languages=c,c++,ada,fortran,objc,obj-c++ --enable-threads=win32 --enable-libgomp --enable-lto --enable-fully-dynamic-string --enable-libstdcxx-debug --enable-version-specific-runtime-libs --with-gnu-ld --disable-nls --disable-win32-registry --disable-symvers --disable-build-poststage1-with-cxx --disable-werror --prefix=/mingw32tdm --with-local-prefix=/mingw32tdm --enable-cxx-flags='-fno-function-sections -fno-data-sections' --with-pkgversion=tdm-1 --enable-sjlj-exceptions --with-bugurl=http://tdm-gcc.tdragon.net/bugs
Thread model: win32
gcc version 4.7.1 (tdm-1)
COLLECT_GCC_OPTIONS='-v' '-c' '-o' 'Objects/MingW/WidgetsFramePrac05App.o' '-I' 'C:/Dev-Cpp/include' '-I' 'C:/MinGW32-TDM/include' '-I' 'C:/Dev-Cpp/' '-I' 'C:/Dev-Cpp/include/common' '-D' '__WXMSW__' '-D' '__GNUWIN32__' '-D' '_UNICODE' '-std=gnu++11' '-fexceptions' '-fverbose-asm' '-g3' '-mtune=i386' '-march=i386'
c:/mingw32-tdm/bin/../libexec/gcc/mingw32/4.7.1/cc1plus.exe -quiet -v -I C:/Dev-Cpp/include -I C:/MinGW32-TDM/include -I C:/Dev-Cpp/ -I C:/Dev-Cpp/include/common -iprefix c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/ -dD -D __WXMSW__ -D __GNUWIN32__ -D _UNICODE WidgetsFramePrac05App.cpp -quiet -dumpbase WidgetsFramePrac05App.cpp -mtune=i386 -march=i386 -auxbase-strip Objects/MingW/WidgetsFramePrac05App.o -g3 -std=gnu++11 -version -fexceptions -fverbose-asm -o C:\Users\RTRESI~1\AppData\Local\Temp\ccVZ5Riq.s

GNU C++ (tdm-1) version 4.7.1 (mingw32)
compiled by GNU C version 4.7.1, GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/../../../../mingw32/include"
ignoring duplicate directory "c:/mingw32-tdm/lib/gcc/../../lib/gcc/mingw32/4.7.1/include/c++"
ignoring duplicate directory "c:/mingw32-tdm/lib/gcc/../../lib/gcc/mingw32/4.7.1/include/c++/mingw32"
ignoring duplicate directory "c:/mingw32-tdm/lib/gcc/../../lib/gcc/mingw32/4.7.1/include/c++/backward"
ignoring duplicate directory "c:/mingw32-tdm/lib/gcc/../../lib/gcc/mingw32/4.7.1/include"
ignoring duplicate directory "c:/mingw32-tdm/lib/gcc/../../lib/gcc/mingw32/4.7.1/../../../../include"
ignoring duplicate directory "c:/mingw32-tdm/lib/gcc/../../lib/gcc/mingw32/4.7.1/include-fixed"
ignoring nonexistent directory "c:/mingw32-tdm/lib/gcc/../../lib/gcc/mingw32/4.7.1/../../../../mingw32/include"
ignoring duplicate directory "C:/MinGW32-TDM/include"
as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
C:/Dev-Cpp/include
C:/Dev-Cpp
C:/Dev-Cpp/include/common

c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/include/c++
c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/include/c++/mingw32
c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/include/c++/backward
c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/include
c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/../../../../include
c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/include-fixed
End of search list.
GNU C++ (tdm-1) version 4.7.1 (mingw32)
compiled by GNU C version 4.7.1, GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 1b05afeca9d712f769248af52f554d5e

COLLECT_GCC_OPTIONS='-v' '-c' '-o' 'Objects/MingW/WidgetsFramePrac05App.o' '-I' 'C:/Dev-Cpp/include' '-I' 'C:/MinGW32-TDM/include' '-I' 'C:/Dev-Cpp/' '-I' 'C:/Dev-Cpp/include/common' '-D' '__WXMSW__' '-D' '__GNUWIN32__' '-D' '_UNICODE' '-std=gnu++11' '-fexceptions' '-fverbose-asm' '-g3' '-mtune=i386' '-march=i386'
c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/../../../../mingw32/bin/as.exe -v -I C:/Dev-Cpp/include -I C:/MinGW32-TDM/include -I C:/Dev-Cpp/ -I C:/Dev-Cpp/include/common -o Objects/MingW/WidgetsFramePrac05App.o C:\Users\RTRESI~1\AppData\Local\Temp\ccVZ5Riq.s

GNU assembler version 2.22 (mingw32) using BFD version (GNU Binutils) 2.22

COMPILER_PATH=c:/mingw32-tdm/bin/../libexec/gcc/mingw32/4.7.1/;c:/mingw32-tdm/bin/../libexec/gcc/;c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/../../../../mingw32/bin/
LIBRARY_PATH=c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/;c:/mingw32-tdm/bin/../lib/gcc/;c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/../../../../mingw32/lib/;c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/../../../
COLLECT_GCC_OPTIONS='-v' '-c' '-o' 'Objects/MingW/WidgetsFramePrac05App.o' '-I' 'C:/Dev-Cpp/include' '-I' 'C:/MinGW32-TDM/include' '-I' 'C:/Dev-Cpp/' '-I' 'C:/Dev-Cpp/include/common' '-D' '__WXMSW__' '-D' '__GNUWIN32__' '-D' '_UNICODE' '-std=gnu++11' '-fexceptions' '-fverbose-asm' '-g3' '-mtune=i386' '-march=i386'

TDMg++.exe -v -c WidgetsFramePrac05Frm.cpp -o Objects/MingW/WidgetsFramePrac05Frm.o -I"C:/Dev-Cpp/include" -I"C:/MinGW32-TDM/include" -I"C:/Dev-Cpp/" -I"C:/Dev-Cpp/include/common" -D__WXMSW__ -D__GNUWIN32__ -D_UNICODE -std=gnu++11 -fexceptions -fverbose-asm -g3

Using built-in specs.
COLLECT_GCC=TDMg++.exe
Target: mingw32

Configured with: ../../src/gcc-4.7.1/configure --build=mingw32 --enable-languages=c,c++,ada,fortran,objc,obj-c++ --enable-threads=win32 --enable-libgomp --enable-lto --enable-fully-dynamic-string --enable-libstdcxx-debug --enable-version-specific-runtime-libs --with-gnu-ld --disable-nls --disable-win32-registry --disable-symvers --disable-build-poststage1-with-cxx --disable-werror --prefix=/mingw32tdm --with-local-prefix=/mingw32tdm --enable-cxx-flags='-fno-function-sections -fno-data-sections' --with-pkgversion=tdm-1 --enable-sjlj-exceptions --with-bugurl=http://tdm-gcc.tdragon.net/bugs
Thread model: win32
gcc version 4.7.1 (tdm-1)
COLLECT_GCC_OPTIONS='-v' '-c' '-o' 'Objects/MingW/WidgetsFramePrac05Frm.o' '-I' 'C:/Dev-Cpp/include' '-I' 'C:/MinGW32-TDM/include' '-I' 'C:/Dev-Cpp/' '-I' 'C:/Dev-Cpp/include/common' '-D' '__WXMSW__' '-D' '__GNUWIN32__' '-D' '_UNICODE' '-std=gnu++11' '-fexceptions' '-fverbose-asm' '-g3' '-mtune=i386' '-march=i386'
c:/mingw32-tdm/bin/../libexec/gcc/mingw32/4.7.1/cc1plus.exe -quiet -v -I C:/Dev-Cpp/include -I C:/MinGW32-TDM/include -I C:/Dev-Cpp/ -I C:/Dev-Cpp/include/common -iprefix c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/ -dD -D __WXMSW__ -D __GNUWIN32__ -D _UNICODE WidgetsFramePrac05Frm.cpp -quiet -dumpbase WidgetsFramePrac05Frm.cpp -mtune=i386 -march=i386 -auxbase-strip Objects/MingW/WidgetsFramePrac05Frm.o -g3 -std=gnu++11 -version -fexceptions -fverbose-asm -o C:\Users\RTRESI~1\AppData\Local\Temp\ccIL9Js5.s

GNU C++ (tdm-1) version 4.7.1 (mingw32)
compiled by GNU C version 4.7.1, GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/../../../../mingw32/include"
ignoring duplicate directory "c:/mingw32-tdm/lib/gcc/../../lib/gcc/mingw32/4.7.1/include/c++"
ignoring duplicate directory "c:/mingw32-tdm/lib/gcc/../../lib/gcc/mingw32/4.7.1/include/c++/mingw32"
ignoring duplicate directory "c:/mingw32-tdm/lib/gcc/../../lib/gcc/mingw32/4.7.1/include/c++/backward"
ignoring duplicate directory "c:/mingw32-tdm/lib/gcc/../../lib/gcc/mingw32/4.7.1/include"
ignoring duplicate directory "c:/mingw32-tdm/lib/gcc/../../lib/gcc/mingw32/4.7.1/../../../../include"
ignoring duplicate directory "c:/mingw32-tdm/lib/gcc/../../lib/gcc/mingw32/4.7.1/include-fixed"
ignoring nonexistent directory "c:/mingw32-tdm/lib/gcc/../../lib/gcc/mingw32/4.7.1/../../../../mingw32/include"
ignoring duplicate directory "C:/MinGW32-TDM/include"
as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
C:/Dev-Cpp/include
C:/Dev-Cpp
C:/Dev-Cpp/include/common

c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/include/c++
c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/include/c++/mingw32
c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/include/c++/backward
c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/include
c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/../../../../include
c:\mingw32-tdm\bin\../lib/gcc/mingw32/4.7.1/include-fixed
End of search list.
GNU C++ (tdm-1) version 4.7.1 (mingw32)
compiled by GNU C version 4.7.1, GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 1b05afeca9d712f769248af52f554d5e

COLLECT_GCC_OPTIONS='-v' '-c' '-o' 'Objects/MingW/WidgetsFramePrac05Frm.o' '-I' 'C:/Dev-Cpp/include' '-I' 'C:/MinGW32-TDM/include' '-I' 'C:/Dev-Cpp/' '-I' 'C:/Dev-Cpp/include/common' '-D' '__WXMSW__' '-D' '__GNUWIN32__' '-D' '_UNICODE' '-std=gnu++11' '-fexceptions' '-fverbose-asm' '-g3' '-mtune=i386' '-march=i386'
c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/../../../../mingw32/bin/as.exe -v -I C:/Dev-Cpp/include -I C:/MinGW32-TDM/include -I C:/Dev-Cpp/ -I C:/Dev-Cpp/include/common -o Objects/MingW/WidgetsFramePrac05Frm.o C:\Users\RTRESI~1\AppData\Local\Temp\ccIL9Js5.s

GNU assembler version 2.22 (mingw32) using BFD version (GNU Binutils) 2.22

COMPILER_PATH=c:/mingw32-tdm/bin/../libexec/gcc/mingw32/4.7.1/;c:/mingw32-tdm/bin/../libexec/gcc/;c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/../../../../mingw32/bin/
LIBRARY_PATH=c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/;c:/mingw32-tdm/bin/../lib/gcc/;c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/../../../../mingw32/lib/;c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/../../../
COLLECT_GCC_OPTIONS='-v' '-c' '-o' 'Objects/MingW/WidgetsFramePrac05Frm.o' '-I' 'C:/Dev-Cpp/include' '-I' 'C:/MinGW32-TDM/include' '-I' 'C:/Dev-Cpp/' '-I' 'C:/Dev-Cpp/include/common' '-D' '__WXMSW__' '-D' '__GNUWIN32__' '-D' '_UNICODE' '-std=gnu++11' '-fexceptions' '-fverbose-asm' '-g3' '-mtune=i386' '-march=i386'

"TDMwindres.exe" --input-format=rc -o Objects/MingW/WidgetsFramePrac05_private.res --include-dir "C:/Dev-Cpp/include/common" Objects/MingW/WIDGET~1.RC -O coff

TDMg++.exe -v "Objects/MingW/WidgetsFramePrac05App.o" "Objects/MingW/WidgetsFramePrac05Frm.o" Objects/MingW/WidgetsFramePrac05_private.res -o "Output/MingW/WidgetsFramePrac05.exe" -L"C:/Dev-Cpp/lib" -L"C:/MinGW32-TDM/lib" -L"C:/MinGW32-TDM/lib/gcc/mingw32/4.7.1" -L"C:/Dev-Cpp/lib/wx/gcc_lib" -mwindows -lwxmsw29u -lwxmsw29u_gl -lwxscintilla -lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxregexu -lwxexpat -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32 -lopengl32 -g3

Using built-in specs.
COLLECT_GCC=TDMg++.exe
COLLECT_LTO_WRAPPER=c:/mingw32-tdm/bin/../libexec/gcc/mingw32/4.7.1/lto-wrapper.exe
Target: mingw32
Configured with: ../../src/gcc-4.7.1/configure --build=mingw32 --enable-languages=c,c++,ada,fortran,objc,obj-c++ --enable-threads=win32 --enable-libgomp --enable-lto --enable-fully-dynamic-string --enable-libstdcxx-debug --enable-version-specific-runtime-libs --with-gnu-ld --disable-nls --disable-win32-registry --disable-symvers --disable-build-poststage1-with-cxx --disable-werror --prefix=/mingw32tdm --with-local-prefix=/mingw32tdm --enable-cxx-flags='-fno-function-sections -fno-data-sections' --with-pkgversion=tdm-1 --enable-sjlj-exceptions --with-bugurl=http://tdm-gcc.tdragon.net/bugs
Thread model: win32
gcc version 4.7.1 (tdm-1)
COMPILER_PATH=c:/mingw32-tdm/bin/../libexec/gcc/mingw32/4.7.1/;c:/mingw32-tdm/bin/../libexec/gcc/;c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/../../../../mingw32/bin/
LIBRARY_PATH=c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/;c:/mingw32-tdm/bin/../lib/gcc/;c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/../../../../mingw32/lib/;c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/../../../
COLLECT_GCC_OPTIONS='-v' '-o' 'Output/MingW/WidgetsFramePrac05.exe' '-LC:/Dev-Cpp/lib' '-LC:/MinGW32-TDM/lib' '-LC:/MinGW32-TDM/lib/gcc/mingw32/4.7.1' '-LC:/Dev-Cpp/lib/wx/gcc_lib' '-mwindows' '-g3' '-mtune=i386' '-march=i386'
c:/mingw32-tdm/bin/../libexec/gcc/mingw32/4.7.1/collect2.exe --subsystem windows -Bdynamic -o Output/MingW/WidgetsFramePrac05.exe c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/../../../crt2.o c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/crtbegin.o -LC:/Dev-Cpp/lib -LC:/MinGW32-TDM/lib -LC:/MinGW32-TDM/lib/gcc/mingw32/4.7.1 -LC:/Dev-Cpp/lib/wx/gcc_lib -Lc:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1 -Lc:/mingw32-tdm/bin/../lib/gcc -Lc:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/../../../../mingw32/lib -Lc:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/../../.. Objects/MingW/WidgetsFramePrac05App.o Objects/MingW/WidgetsFramePrac05Frm.o Objects/MingW/WidgetsFramePrac05_private.res -lwxmsw29u -lwxmsw29u_gl -lwxscintilla -lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxregexu -lwxexpat -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32 -lopengl32 -Bstatic -lstdc++ -Bdynamic -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -lgdi32 -lcomdlg32 -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt c:/mingw32-tdm/bin/../lib/gcc/mingw32/4.7.1/crtend.o

Execution terminated
Compilation successful
Compilation took 21 seconds to complete


thanks in advance

Richard

The compile log is attached separately if that makes things easier:
wxDev-C++_and_TDM-gcc_Runtime_Error.txt
Compile log
(15.37 KiB) Downloaded 459 times
moki
Earned a small fee
Earned a small fee
Posts: 14
Joined: Mon Dec 08, 2014 1:08 pm
Location: Brive la gaillarde

Re: Bug?? Runtime exception with wxDev-C++ and TDm-gcc 4.7.1

Post by moki »

Hi,

I recently got exactly the same crash and fixed it with a full rebuild of my project (including wxWidgets library, which was statically linked).

I was updating my project compiler (MinGW with gcc 3.4 to MinGW-w64 with gcc 4.8.3) when the issue appeared : my project was compiled with the new gcc version while my wxWidgets 3.0.1 library (and also another wxWidgets dependant library, ie wxPdfDocument 0.94) with the old one.

There should have an incompatibility between objects produced by the 2 differents release of gcc, as described here.

Hope this can help...
Post Reply