Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
Summary: app with virtual method crashes
https://bugzilla.redhat.com/show_bug.cgi?id=649564
Summary: app with virtual method crashes Product: Fedora Version: 14 Platform: Unspecified OS/Version: Unspecified Status: NEW Severity: medium Priority: low Component: mingw32-gcc AssignedTo: rjones@redhat.com ReportedBy: idht4n@gmail.com QAContact: extras-qa@fedoraproject.org CC: rjones@redhat.com, kalev@smartlink.ee, fedora-mingw@lists.fedoraproject.org Classification: Fedora
Description of problem: The simple test program below crashes when compiled with mingw in f14 and run with f14 wine. It works in f12 and Ubuntu 10.10 and I was told it works in f13.
class Foo { virtual void bar(); };
void Foo::bar() { }
int main() { return 0; }
Version-Release number of selected component (if applicable): mingw32-gcc-4.5.0-1.fc14.i686
How reproducible: Every time
Steps to Reproduce: 1. Compile and run test program 2. 3.
Actual results: Test program crashes
Expected results: Test program doesn't crash
Additional info: usr/bin/i686-pc-mingw32-g++ -o foo.exe /tmp/foo.cpp Info: resolving vtable for __cxxabiv1::__class_type_info by linking to __imp___ZTVN10__cxxabiv117__class_type_infoE (auto-import) /usr/lib/gcc/i686-pc-mingw32/4.5.0/../../../../i686-pc-mingw32/bin/ld: warning: auto-importing has been activated without --enable-auto-import specified on the command line. This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.
$ cd /usr/i686-pc-mingw32/sys-root/mingw/bin $ /tmp/foo.exe wine: Unhandled page fault on write access to 0x00403028 at address 0x40142f (thread 0009), starting debugger... Unhandled exception: page fault on write access to 0x00403028 in 32-bit code (0x0040142f). Register dump: CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b EIP:0040142f ESP:0061fe2c EBP:0061fe30 EFLAGS:00010206( R- -- I - -P- ) EAX:00403050 EBX:00400000 ECX:00000008 EDX:00403028 ESI:7ffdf000 EDI:00401130 Stack dump: 0x0061fe2c: 6f305898 0061fe70 0040108d 00404000 0x0061fe3c: 00404004 0061fe64 ffffffff 0061fe60 0x0061fe4c: 00000000 00000000 00000000 00000000 0x0061fe5c: 00000000 00000000 00112fa8 6f305898 0x0061fe6c: 6f305898 0061fe90 00401148 00000001 0x0061fe7c: 68026b22 00000000 00000000 00000000 Backtrace: =>0 0x0040142f in foo (+0x142f) (0x0061fe30) 1 0x0040108d __mingw_CRTStartup+0x6c() [/builddir/build/BUILD/mingwrt-3.15.2-mingw32/crt1.c:217] in foo (0x0061fe70) 2 0x0040108d __mingw_CRTStartup+0x6c() [/builddir/build/BUILD/mingwrt-3.15.2-mingw32/crt1.c:217] in foo (0x0061fe90) 3 0x00401148 mainCRTStartup+0x17() [/builddir/build/BUILD/mingwrt-3.15.2-mingw32/crt1.c:257] in foo (0x0061fea8) 4 0x6f2c8c9c call_process_entry+0xb() in kernel32 (0x0061fee8) 5 0x68389ee0 call_thread_func+0xb() in ntdll (0x0061fef8) 6 0x6838cb61 call_thread_entry_point+0x70() in ntdll (0x0061ffc8) 7 0x6836223b call_dll_entry_point+0x65a() in ntdll (0x0061ffe8) 0x0040142f: addl %ecx,0x0(%edx) Modules: Module Address Debug info Name (17 modules) PE 400000- 411000 Dwarf foo ELF 68000000-68022000 Deferred ld-linux.so.2 ELF 68022000-68164000 Export libwine.so.1 ELF 68164000-68180000 Deferred libpthread.so.0 ELF 68180000-68313000 Deferred libc.so.6 ELF 68313000-68318000 Deferred libdl.so.2 ELF 68318000-683e0000 Export ntdll<elf> -PE 68330000-683e0000 \ ntdll ELF 683e0000-683ed000 Deferred libnss_files.so.2 ELF 683ed000-6847b000 Deferred msvcrt<elf> -PE 68400000-6847b000 \ msvcrt PE 6cec0000-6cf2c000 Deferred libgcc_s_sjlj-1 ELF 6f272000-6f3f6000 Export kernel32<elf> -PE 6f280000-6f3f6000 \ kernel32 PE 6fc40000-7011c000 Deferred libstdc++-6 ELF 74d91000-74dbb000 Deferred libm.so.6 ELF 7bf00000-7bf03000 Deferred <wine-loader> Threads: process tid prio (all id:s are in hex) 00000008 (D) Z:\tmp\foo.exe 00000009 0 <== 0000000e services.exe 00000018 0 00000017 0 00000016 0 00000010 0 0000000f 0 00000011 winedevice.exe 0000001a 0 00000019 0 00000015 0 00000012 0 00000013 explorer.exe 00000014 0 Backtrace: =>0 0x0040142f in foo (+0x142f) (0x0061fe30) 1 0x0040108d __mingw_CRTStartup+0x6c() [/builddir/build/BUILD/mingwrt-3.15.2-mingw32/crt1.c:217] in foo (0x0061fe70) 2 0x0040108d __mingw_CRTStartup+0x6c() [/builddir/build/BUILD/mingwrt-3.15.2-mingw32/crt1.c:217] in foo (0x0061fe90) 3 0x00401148 mainCRTStartup+0x17() [/builddir/build/BUILD/mingwrt-3.15.2-mingw32/crt1.c:257] in foo (0x0061fea8) 4 0x6f2c8c9c call_process_entry+0xb() in kernel32 (0x0061fee8) 5 0x68389ee0 call_thread_func+0xb() in ntdll (0x0061fef8) 6 0x6838cb61 call_thread_entry_point+0x70() in ntdll (0x0061ffc8) 7 0x6836223b call_dll_entry_point+0x65a() in ntdll (0x0061ffe8)
Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=649564
--- Comment #1 from Richard W.M. Jones rjones@redhat.com 2010-11-04 07:15:24 EDT --- Yup, I can reproduce this.
Seems like a bug in gcc. We don't normally handle bugs in upstream products, we just package them. The reporter might like to see if it has been reported upstream (http://gcc.gnu.org/bugzilla/).
Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=649564
--- Comment #2 from David idht4n@gmail.com 2010-11-11 13:28:06 EST --- I reported it upstream here:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46308
Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=649564
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |MODIFIED
Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=649564
--- Comment #3 from Fedora Update System updates@fedoraproject.org 2010-11-22 12:42:51 EST --- mingw32-binutils-2.20.1-2.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/mingw32-binutils-2.20.1-2.fc14
Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=649564
--- Comment #4 from Kalev Lember kalev@smartlink.ee 2010-11-22 12:44:57 EST --- This should be fixed with mingw32-binutils-2.20.1-2.fc14 which enables ld's auto-import option by default. Can you confirm the fix?
Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=649564
--- Comment #5 from David idht4n@gmail.com 2010-11-27 13:24:57 EST --- (In reply to comment #4)
This should be fixed with mingw32-binutils-2.20.1-2.fc14 which enables ld's auto-import option by default. Can you confirm the fix?
Yes, that seems to have fixed my simple test app and the more complicated one that I stripped down to make the simple one.
Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=649564
--- Comment #6 from Fedora Update System updates@fedoraproject.org 2010-12-01 17:00:50 EST --- mingw32-binutils-2.20.1-2.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report.
Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=649564
Kalev Lember kalev@smartlink.ee changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |CLOSED Fixed In Version| |mingw32-binutils-2.20.1-2.f | |c14 Resolution| |ERRATA AssignedTo|rjones@redhat.com |kalev@smartlink.ee Last Closed| |2010-12-01 17:03:53