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:   [EMAIL PROTECTED]       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

Reply via email to