[Bug 15338] setup_exception_record stack overflow when running wineboot
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Sep 26 12:27:11 CDT 2008
http://bugs.winehq.org/show_bug.cgi?id=15338
Arno Schuring <aelschuring at hotmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|regression |
--- Comment #8 from Arno Schuring <aelschuring at hotmail.com> 2008-09-26 12:27:10 ---
ok, I've gotten further and I do not believe this is a regression in Wine.
Arguably, it's still a bug because the exception handler seems to be tripping
over itself, until it runs out of stack space.
I've built several old versions from git, with both gcc-4.1 and gcc-4.2. The
results are consistent between different versions of gcc, and between all wine
versions tested. I have found that this only appears when I'm using the ati
X.org driver, and does not appear when I switch to fglrx. Other factors (WM,
sound system) do not appear to have an effect.
My results:
0.9.50 and 0.9.52 have no wineboot executable, so I have used wineprefix to
populate a new prefix. Both give several backtraces but I'm having a hard time
taking them serious. The last function call in Wine listed is
NtSetInformationKey, in ntdll/reg.c. But this is a stub that only logs a
message and returns, and yet it still triggers a page fault. I'll attach a wpc
log, as I think it's still the same error, but the stack trace seems tainted.
0.9.60 does have a wineboot executable, and it faults in the same way as 1.1.5
(but only when I'm using the ati driver). The following is a snippet from a gdb
backtrace on wineboot (args /usr/lib/wine/wineboot.exe.so -u). Note that the
end of the stack trace looks a lot like the one from 0.9.52 (but it lists
NtTerminateProcess instead of NtSetInformationKey):
What I think is happening, is that libGL does a function call to the X.org
driver. The ati driver gives an unexpected response, and libGL causes a
segfault. This segfault is then sent to the signal handler of wine, and that
causes another segfault, ad nauseam.
Program received signal SIGSEGV, Segmentation fault.
0xb7f09b9d in ?? () from /lib/ld-linux.so.2
(gdb) bt
#0 0xb7f09b9d in ?? () from /lib/ld-linux.so.2
#1 0xb7c35cb4 in ?? () from /lib/tls/i686/cmov/libdl.so.2
#2 0xb7f045c6 in ?? () from /lib/ld-linux.so.2
#3 0xb7c362bc in ?? () from /lib/tls/i686/cmov/libdl.so.2
#4 0xb7c35cea in dlclose () from /lib/tls/i686/cmov/libdl.so.2
#5 0x7e68d7bd in ?? () from /usr/lib/libGL.so.1
#6 0x7e66d84a in ?? () from /usr/lib/libGL.so.1
#7 0x7e66f924 in ?? () from /usr/lib/libGL.so.1
#8 0x7e668ba4 in ?? () from /usr/lib/libGL.so.1
#9 0x7e6ab9bc in ?? () from /usr/lib/libGL.so.1
#10 0xb7f04fcf in ?? () from /lib/ld-linux.so.2
#11 0xb7c67084 in exit () from /lib/tls/i686/cmov/libc.so.6
#12 0x7bc51e50 in NtTerminateProcess () from /usr/bin/../lib/wine/ntdll.dll.so
#13 0x7b87462f in ExitProcess () from /usr/bin/../lib/wine/kernel32.dll.so
#14 0x7fd195aa in ?? () from
/tmp/test/dosdevices/z:/usr/lib/wine/wineboot.exe.so
#15 0x7b877b37 in ?? () from /usr/bin/../lib/wine/kernel32.dll.so
#16 0xb7dc59d7 in wine_switch_to_stack () from /usr/bin/../lib/libwine.so.1
(gdb) c
Continuing.
Program received signal SIGSEGV, Segmentation fault.
0x7eab66d0 in ?? ()
(gdb) bt
#0 0x7eab66d0 in ?? ()
#1 0x7bc3b929 in __regs_RtlRaiseException () from
/usr/bin/../lib/wine/ntdll.dll.so
#2 0x7bc65bec in ?? () from /usr/bin/../lib/wine/ntdll.dll.so
#3 0xdeadbabe in ?? ()
#4 0xb7c35cb4 in ?? () from /lib/tls/i686/cmov/libdl.so.2
#5 0xb7f045c6 in ?? () from /lib/ld-linux.so.2
#6 0xb7c362bc in ?? () from /lib/tls/i686/cmov/libdl.so.2
#7 0xb7c35cea in dlclose () from /lib/tls/i686/cmov/libdl.so.2
[...]
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list