Correction to crash inside RtlCaptureStackBackTrace() + test case
Janne Hakonen
joyer83 at live.fi
Sun Jan 23 11:20:52 CST 2011
Hi,
This is my first attempt to post patches to Wine and it would be great if
you could review these.
First patch
(0001-2-2-ntdll-Added-try-except-blocks-to-RtlCaptureStackBa.txt) is a
correction to a crash situation where application crashes if
RtlCaptureStackBackTrace() is called and one of the frame pointers of call
stack is invalid, pointing usually to 0xffffffff, sometimes to other invalid
locations.
The correction wraps the offending code inside __try – __except blocks so
that a resulting access violation is caught before it can crash the calling
application.
Second patch
(0002-1-2-ntdll-tests-Added-a-test-for-RtlCaptureStackBackTr.txt) is a test
case for the correction.
It changes one of the frame pointers to invalid value and then calls
RtlCaptureStackBackTrace(). The test fails on Wine’s HEAD (without the first
patch), but passes successfully on Windows 7. Haven’t tested this on other
OSes. I created a new signal.c file for the test case under ntdll/tests
since I couldn’t find more fitting place.
This crash can be reproduced with Anarchy Online game when trying to open an
in-game browser. Also reproducible with AwesomiumGL sample application from
Awesomium’s SDK. The crash (among other problems) is reported to bugzilla
at: http://bugs.winehq.org/show_bug.cgi?id=25206.
Best Regards,
Janne Hakonen
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0001-2-2-ntdll-Added-try-except-blocks-to-RtlCaptureStackBa.txt
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20110123/27ccf3a2/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0002-1-2-ntdll-tests-Added-a-test-for-RtlCaptureStackBackTr.txt
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20110123/27ccf3a2/attachment-0001.txt>
More information about the wine-devel
mailing list