[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