[Bug 39356] PlanCad-L v14.03 crashes on exit (_seh_longjmp_unwind4 must pass jump buffer cookie by address)
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Oct 2 16:06:13 CDT 2015
https://bugs.winehq.org/show_bug.cgi?id=39356
--- Comment #3 from Jens Hartwig <jehartwig at googlemail.com> ---
(In reply to Anastasius Focht from comment #2)
> Hello Jens,
>
> I can't reproduce the crash during start. The app runs fine here.
>
> The exception code 0x80000100 is the result from hitting an unimplemented
> API function.
> Since you didn't provide terminal output from start of the app, it's not
> known which function/stub was missing.
>
> It's very likely already fixed/implemented since I don't encounter this and
> you're using an outdated Wine version.
> Upgrade to recent 1.7.x series, preferably Wine 1.7.51
>
> I could reproduce a crash on app exit/shutdown though, hence refining this
> ticket.
>
> --- snip ---
> $ pwd
> /home/focht/.wine/drive_c/PlanCAD-L
>
> $ WINEDEBUG=+tid,+seh,+relay,-msvcr110 wine ./PlanCAD.exe >>log.txt 2>&1
> ...
> 0039:Call user32.PostQuitMessage(00000000) ret=0076bf4f
> 0039:Ret user32.PostQuitMessage() retval=00000000 ret=0076bf4f
> 0039:Ret window proc 0x77ab40
> (hwnd=0x300b0,msg=WM_CLOSE,wp=00000000,lp=00000000) retval=00000000
> 0039:Ret user32.DefWindowProcW() retval=00000000 ret=0077afd9
> 0039:Ret window proc 0x77ab40
> (hwnd=0x300b0,msg=WM_SYSCOMMAND,wp=0000f060,lp=00000000) retval=00000000
> 0039:Ret user32.DispatchMessageW() retval=00000000 ret=0076c372
> 0039:Call user32.GetMessageW(0033e884,00000000,00000000,00000000)
> ret=0076c381
> 0039:Ret user32.GetMessageW() retval=00000000 ret=0076c381
> 0039:Call msvcr110.longjmp(00d4c408,00000000) ret=0076eaf4
> 0039:trace:seh:MSVCRT_longjmp buf=0xd4c408 ebx=7d7eced8 esi=00000086
> edi=0132dcd8 ebp=0033f9d4 esp=0033f958 eip=0076e792 frame=0033f9c4
> retval=00000000
> 0039:trace:seh:MSVCRT_longjmp cur_frame=33f9c4
> 0039:Call KERNEL32.IsBadReadPtr(00d4c428,00000004) ret=7d7fc030
> 0039:Ret KERNEL32.IsBadReadPtr() retval=00000000 ret=7d7fc030
> 0039:Call msvcr110._seh_longjmp_unwind4(00d4c408) ret=7d7fc082
> 0039:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7d7faf7a
> ip=7d7faf7a tid=0039
> 0039:trace:seh:raise_exception info[0]=00000000
> 0039:trace:seh:raise_exception info[1]=56433230
> 0039:trace:seh:raise_exception eax=56433230 ebx=0033f9d4 ecx=fffffffe
> edx=0033f9c4 esi=0033f8c4 edi=0033f894
> 0039:trace:seh:raise_exception ebp=0033f868 esp=0033f810 cs=0023 ds=002b
> es=002b fs=0063 gs=006b flags=00210202
> 0039:trace:seh:call_stack_handlers calling handler at 0xadbe5b code=c0000005
> flags=0
> ...
> Unhandled exception: page fault on read access to 0x56433230 in 32-bit code
> (0x7d7faf7a).
> ...
> Backtrace:
> =>0 0x7d7faf7a msvcrt_local_unwind4+0x9(cookie=0x56433230, frame=0x33f9c4,
> trylevel=0xfffffffe, ebp=0x33f9d4)
> [/home/focht/projects/wine/wine.repo/src/dlls/msvcr110/../msvcrt/except_i386.
> c:727] in msvcr110 (0x0033f868)
> 1 0x7d7fc110 _seh_longjmp_unwind4+0x3a(jmp=0xd4c408)
> [/home/focht/projects/wine/wine.repo/src/dlls/msvcr110/../msvcrt/except_i386.
> c:1073] in msvcr110 (0x0033f888)
> 2 0x7bc7efce relay_call+0x39() in ntdll (0x0033f8a8)
> 3 0x7d7ea69d in msvcr110 (+0xa69c) (0x0033f938)
> 4 0x7d7fc082 MSVCRT_longjmp+0x1a0(jmp=<couldn't compute location>,
> retval=<couldn't compute location>)
> [/home/focht/projects/wine/wine.repo/src/dlls/msvcr110/../msvcrt/except_i386.
> c:1050] in msvcr110 (0x0033f938)
> 5 0x7bc7efce relay_call+0x39() in ntdll (0x0033f970)
> 6 0x7d7ec605 in msvcr110 (+0xc604) (0x0033f9d4)
> 7 0x0076eaf4 in plancad (+0x36eaf3) (0x0033f9d4)
> 8 0x0076f241 in plancad (+0x36f240) (0x0033fde4)
> 9 0x00adc1ac in plancad (+0x6dc1ab) (0x0033fe30)
> 10 0x7b86e73c call_process_entry+0xb() in kernel32 (0x0033fe48)
> ...
> 0x7d7faf7a msvcrt_local_unwind4+0x9
> [/home/focht/projects/wine/wine.repo/src/dlls/msvcr110/../msvcrt/except_i386.
> c:727] in msvcr110: movl 0x0(%eax),%eax
> 727 const SCOPETABLE_V4 *scopetable = get_scopetable_v4( frame, *cookie
> );
> Modules:
> Module Address Debug info Name (140 modules)
> PE 400000- 1100000 Export plancad
> ELF 7a800000-7a939000 Deferred opengl32<elf>
> \-PE 7a840000-7a939000 \ opengl32
> ELF 7b800000-7ba71000 Dwarf kernel32<elf>
> \-PE 7b820000-7ba71000 \ kernel32
> ELF 7bc00000-7bd04000 Dwarf ntdll<elf>
> \-PE 7bc20000-7bd04000 \ ntdll
> ...
> Threads:
> process tid prio (all id:s are in hex)
> ...
> 00000038 (D) C:\PlanCAD-L\PlanCAD.exe
> 00000039 0 <==
> --- snip ---
>
> This seems to be an oversight when passing the jump buffer cookie:
>
> https://source.winehq.org/git/wine.git/blob/
> 36309142d0ed5755a7e6b8c80a973e56c88320d2:/dlls/msvcrt/except_i386.c#l1071
>
> --- snip ---
> 1068 /*********************************************************************
> 1069 * _seh_longjmp_unwind4 (MSVCRT.@)
> 1070 */
> 1071 void __stdcall _seh_longjmp_unwind4(struct MSVCRT___JUMP_BUFFER *jmp)
> 1072 {
> 1073 msvcrt_local_unwind4( (void *)jmp->Cookie, (MSVCRT_EXCEPTION_FRAME
> *)jmp->Registration,
> 1074 jmp->TryLevel, (void *)jmp->Ebp );
> 1075 }
> --- snip ---
>
> The address of the cookie should be passed to 'msvcrt_local_unwind4', not
> the value (deref will cause fault).
>
> $ sha1sum dipcad-l_1403.exe
> 16e1c7b63d775c774e71008b056f515b734ddf48 dipcad-l_1403.exe
>
> $ du -sh dipcad-l_1403.exe
> 77M dipcad-l_1403.exe
>
> $ wine --version
> wine-1.7.51-201-g60d1d6f
>
> Regards
(In reply to Jens Hartwig from comment #0)
> Created attachment 52449 [details]
> ?
>
> version: wine-1.6.1
> PlanCad L (Version 14.03, 32-Bit-version): crashes when launching the
> Programm. It shows error message: Unexpected Exception Code: 80000100
> download-link for PlanCad L (Version 14.03,
> 32-Bit-version):http://user.dietrichs.com/downloads/get=146/mirror=199.html
>
> Mirror Location Filename File Size MD5 Sum
> user.dietrichs.com dipcad-l_1403.exe Report broken 76.55 MB
> f4c8b56972ab7b56392b9be3b9b1ca35
>
> system:
> Intel® Pentium(R) M processor 2.00GHz , 32-bit-version
--
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