A problem exiting a program

Questions about Wine on Linux
Locked
joluinfante
Newbie
Newbie
Posts: 1
Joined: Fri Apr 24, 2015 12:21 pm

A problem exiting a program

Post by joluinfante »

Hi to all.

I’m trying to execute sijpv12.exe (a fiscal program from Argentina), and, when I try to exit it, the wine crash.
I did try with wine 1.4.1, 1.7.x, and the problem is not repaired.

I did see the problem is here:

/* call a 32-bit window procedure */
static LRESULT call_window_proc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp, LRESULT *result, void *arg )
{
WNDPROC proc = arg;

USER_CheckNotLock();

hwnd = WIN_GetFullHandle( hwnd );
if (TRACE_ON(relay))
DPRINTF( "%04x:Call window proc %p (hwnd=%p,msg=%s,wp=%08lx,lp=%08lx)\n",
GetCurrentThreadId(), proc, hwnd, SPY_GetMsgName(msg, hwnd), wp, lp );
FIXME("%04x:Call window proc %p (hwnd=%p,msg=%s,wp=%08lx,lp=%08lx)\n", GetCurrentThreadId(), proc, hwnd, SPY_GetMsgName(msg, hwnd), wp, lp );

*result = WINPROC_wrapper( proc, hwnd, msg, wp, lp ); <<<<<- The problem is here

if (TRACE_ON(relay))
DPRINTF( "%04x:Ret window proc %p (hwnd=%p,msg=%s,wp=%08lx,lp=%08lx) retval=%08lx\n",
GetCurrentThreadId(), proc, hwnd, SPY_GetMsgName(msg, hwnd), wp, lp, *result );
return *result;
}

What is the method to ignore this call (I need only the program continue the exit).
I can’t to modify the vb code.
The code running (decompiled with vbdecompiler) is:

Private Sub MnuArchivo_Salir_Click() '4F2994
'Data Table: 42B278
Dim var_88 As Long
loc_4F293C: If (Me.global.Forms.Count > 3) Then
loc_4F2960: MsgBox("Aún existen formularios activos. Para poder cerrar la aplicación debe cerrar los formularios abiertos.", &H40, "Salida del Sisitema", var_EC, var_10C)
loc_4F2975: var_88 = 1
loc_4F297B: Else
loc_4F2988: Me.global.Unload Me
loc_4F2990: End
loc_4F2992: End If
loc_4F2992: Exit Sub
End Sub

The output of execution with winedbg:

fixme:win:call_window_proc 0024:Call window proc 0x7ed6afa0 (hwnd=0x5007c,msg=WM_WINDOWPOSCHANGED,wp=00000000,lp=0033f7d4)
fixme:win:call_window_proc 0022:Call window proc 0x7ee1fd90 (hwnd=0x20030,msg=WM_PAINT,wp=00000000,lp=00000000)
fixme:win:call_window_proc 0022:Call window proc 0x7ee1fd90 (hwnd=0x20030,msg=WM_ERASEBKGND,wp=000001f8,lp=00000000)
fixme:event:wait_for_withdrawn_state window 0x20020/c00001 wait timed out
fixme:win:call_window_proc 0024:Call window proc 0xf0037d4 (hwnd=0x20020,msg=WM_WINDOWPOSCHANGED,wp=00000000,lp=0033f984)
fixme:win:call_window_proc 0024:Call window proc 0x7ed6afa0 (hwnd=0x5007c,msg=WM_WINDOWPOSCHANGING,wp=00000000,lp=0033f934)
fixme:event:wait_for_withdrawn_state window 0x5007c/c00005 wait timed out
fixme:win:call_window_proc 0024:Call window proc 0x7ed6afa0 (hwnd=0x5007c,msg=WM_WINDOWPOSCHANGED,wp=00000000,lp=0033f934)
fixme:win:call_window_proc 0024:Call window proc 0x7dfd9a80 (hwnd=0x1017e,msg=WM_DESTROY,wp=00000000,lp=00000000)
Unhandled exception: page fault on read access to 0x7dfd9a80 in 32-bit code (0x7dfd9a80).
fixme:dbghelp_msc:pe_load_debug_directory This guy has FPO information
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
EIP:7dfd9a80 ESP:0033f6ac EBP:0033f6d8 EFLAGS:00010206( R- -- I - -P- )
EAX:7dfd9a80 EBX:7eda45a8 ECX:7dfd9a80 EDX:00000002
ESI:0001017e EDI:0033f7b8
Stack dump:
0x0033f6ac: 7ed6ab7a 0001017e 00000002 00000000
0x0033f6bc: 00000000 00110000 0033f718 00000040
0x0033f6cc: 7eda45a8 0001017e 0033f7b8 0033f738
0x0033f6dc: 7ed6b2d9 7dfd9a80 0001017e 00000002
0x0033f6ec: 00000000 00000000 7dfd9a80 0001017e
0x0033f6fc: 7bccf743 00000000 00000000 0033f770
Backtrace:
=>0 0x7dfd9a80 (0x0033f6d8)
1 0x7ed6b2d9 call_window_proc+0x68(hwnd=0x1017e, msg=0x2, wp=0, lp=0, result=0x33f7b8, arg=0x7dfd9a80) [/instalar/wine-1.4.1/dlls/user32/winproc.c:243] in user32 (0x0033f738)
2 0x7ed6dae8 WINPROC_call_window+0x107(hwnd=0x1017e, msg=0x2, wParam=0, lParam=0, result=0x33f7b8, unicode=0x1, mapping=2128233896) [/instalar/wine-1.4.1/dlls/user32/winproc.c:909] in user32 (0x0033f788)
3 0x7ed2e64d call_window_proc+0x8c(hwnd=0x1017e, msg=0x2, wparam=0, lparam=0, unicode=0x1, same_thread=0x1, mapping=2128233896) [/instalar/wine-1.4.1/dlls/user32/message.c:2211] in user32 (0x0033f7e8)
4 0x7ed352ee send_message+0x20d(info=0x33f874, res_ptr=0x33f870, unicode=0x1) [/instalar/wine-1.4.1/dlls/user32/message.c:3084] in user32 (0x0033f858)
5 0x7ed3575c SendMessageW+0x4b(hwnd=0x1017e, msg=0x2, wparam=0, lparam=0) [/instalar/wine-1.4.1/dlls/user32/message.c:3278] in user32 (0x0033f8a8)
6 0x7ed5f30b WIN_SendDestroyMsg+0x6a(hwnd=0x1017e) [/instalar/wine-1.4.1/dlls/user32/win.c:1604] in user32 (0x0033f918)
7 0x7ed5f8c7 DestroyWindow+0x1b6(hwnd=<is not available>) [/instalar/wine-1.4.1/dlls/user32/win.c:1707] in user32 (0x0033f968)
8 0x7ed5f9c8 DestroyWindow+0x2b7(hwnd=0x5007c) [/instalar/wine-1.4.1/dlls/user32/win.c:1693] in user32 (0x0033f9b8)
9 0x7ed5f9c8 DestroyWindow+0x2b7(hwnd=0x20020) [/instalar/wine-1.4.1/dlls/user32/win.c:1693] in user32 (0x0033fa08)
10 0x0f003a8c ??_7_COLE2CLIENT_vtbl@@6B@+0x14b() in msvbvm50 (0x0033fa74)
11 0x0f0037ef ??_7_CQUERY_vtbl@@6B@+0x86() in msvbvm50 (0x0033fa94)
12 0x7ed6ab7a WINPROC_wrapper+0x19() in user32 (0x0033fac4)
13 0x7ed6b2d9 call_window_proc+0x68(hwnd=0x20020, msg=0x1050, wp=0, lp=0, result=0x33fba4, arg=0xf0037d4) [/instalar/wine-1.4.1/dlls/user32/winproc.c:243] in user32 (0x0033fb24)
14 0x7ed6dae8 WINPROC_call_window+0x107(hwnd=0x20020, msg=0x1050, wParam=0, lParam=0, result=0x33fba4, unicode=0, mapping=WMCHAR_MAP_SENDMESSAGE) [/instalar/wine-1.4.1/dlls/user32/winproc.c:909] in user32 (0x0033fb74)
15 0x7ed2e64d call_window_proc+0x8c(hwnd=0x20020, msg=0x1050, wparam=0, lparam=0, unicode=0, same_thread=0x1, mapping=WMCHAR_MAP_SENDMESSAGE) [/instalar/wine-1.4.1/dlls/user32/message.c:2211] in user32 (0x0033fbd4)
16 0x7ed352ee send_message+0x20d(info=0x33fc60, res_ptr=0x33fc5c, unicode=0) [/instalar/wine-1.4.1/dlls/user32/message.c:3084] in user32 (0x0033fc44)
17 0x7ed35703 SendMessageA+0x52(hwnd=0x20020, msg=0x1050, wparam=0, lparam=0) [/instalar/wine-1.4.1/dlls/user32/message.c:3300] in user32 (0x0033fc94)
18 0x0f016ec7 ?Client_Properties@@3PAPAUtagPROP@@A+0x46() in msvbvm50 (0x0033fcb4)
19 0x0f02bda9 ?MdlRegisterInternalCtls@@YGHPAVProject@@QAK@Z+0x102() in msvbvm50 (0x0033fcdc)
20 0x0f02bca2 $E213+0x20() in msvbvm50 (0x0033fd1c)
21 0x0f02bc23 ?put__ipropCLIENTWIDTHDFRAME@_CDFRAMEInvis_vtbl@@UAGJJ@Z() in msvbvm50 (0x0033fd68)
22 0x0f0260cb ?Invoke@_CPIX_vtbl@@UAGJJABU_GUID@@KGPAUtagDISPPARAMS@@PAUtagVARIANT@@PAUtagEXCEPINFO@@PAI@Z+0xb() in msvbvm50 (0x0033fda8)
23 0x0f025f8e ?meth__imethREMOVEITEM@_COPT_vtbl@@UAGJF@Z+0xe() in msvbvm50 (0x0033fdc8)
0x7dfd9a80: -- no code accessible --
Wine-dbg>

I did similar problem in:
http://marc.info/?l=wine-devel&m=86947875909341
The response was:
http://marc.info/?l=wine-devel&m=86947875909342&w=2

Can any help me?

TIA
jorge infante
rosario - santa fe - argentina
Attachments
This attach contains the screen previous to click on &quot;exit&quot;
This attach contains the screen previous to click on "exit"
lahmbi5678
Level 7
Level 7
Posts: 823
Joined: Thu Aug 27, 2009 6:23 am

Re: A problem exiting a program

Post by lahmbi5678 »

You could file a bug in wine's bugzilla and maybe report a bug to the developers of that application. If possible, provide a link to a demo/trial version.
Locked