wine/ tools/winebuild/relay.c dlls/ntdll/signa ...

Robert Shearman R.J.Shearman at warwick.ac.uk
Tue Oct 28 10:23:10 CST 2003


This has fixed the problem slightly (see message titled "Bug in 
cxx_frame_handler") - the program now displays:

err:seh:setup_exception stack overflow 592 bytes in thread 000e eip 401c425a 
esp 40640db0 stack 0x40540000-0x40750000

And then exits.

I still believe there is a problem in dlls/msvcrt/cppexcept.c with the 
following lines (359-364):

    if (!exc_type)  /* nested exception, fetch info from original exception */
    {
        rec = msvcrt_get_thread_data()->exc_record;
        exc_type = (cxx_exception_type *)rec->ExceptionInformation[2];
    }

The problem is that msvcrt_get_thead_data()->exc_record returns NULL 
(probably because there is no nested exception?). Should there just be a 
check there for a NULL pointer or is it part of a bigger problem?

Rob

On Tuesday 28 October 2003 12:30 am, you wrote:
> ChangeSet ID:	9891
> CVSROOT:	/opt/cvs-commit
> Module name:	wine
> Changes by:	julliard at wine.codeweavers.com	2003/10/27 18:30:55
>
> Modified files:
> 	tools/winebuild: relay.c
> 	dlls/ntdll     : signal_i386.c
>
> Log message:
> 	Switch back to the main process stack before calling exception
> 	handlers.
>
> Patch: http://cvs.winehq.com/patch.py?id=9891
>
> Old revision  New revision  Changes     Path
>  1.31          1.32          +27 -28     wine/tools/winebuild/relay.c
>  1.73          1.74          +297 -165   wine/dlls/ntdll/signal_i386.c



More information about the wine-devel mailing list