Hello,
I'm trying to run TaxCut under CVS Wine. The install went smoothly, but
when I try to run the software it locks up before any windows appear.
From the trace, it seems that it might be related to exception handling
in Wine.
The first sign that something is wrong is this:
00000009:Call ntdll.RtlRaiseException(407a2764) ret=40a34052 fs=008f
eax=780ca51c ebx=40a54c2c ecx=41915e28 edx=4207c450 esi=407a2764
edi=00000001
ebp=407a27bc esp=407a2764 ds=002b es=002b gs=0000 flags=00000202
00000009:trace:seh:EXC_RtlRaiseException code=80000100 flags=1
addr=0x780ca51c
00000009:trace:seh:EXC_RtlRaiseException info[0]=40a4a400
00000009:trace:seh:EXC_RtlRaiseException info[1]=40a4aa85
00000009:fixme:seh:EXC_RtlRaiseException call to unimplemented function
localeconv
0009: queue_exception_event( first=1,
record={context={flags=00010007,eax=780ca51c,ebx=40a54c2c,ecx=41915e28,edx=4207c450,esi=407a2764,edi=00000001,ebp=407a27bc,eip=40a34052,esp=407a2764,eflags=00000202,cs=0023,ds=002b,es=002b,fs=008f,gs=0000,dr0=4212a2d0,dr1=000003dc,dr2=4011044c,dr3=407a2544,dr6=4206a3e4,dr7=407a244c,float={400ec340,407a25d4,4011044c,00000000,4206fc84,40110431,4206fc84,4206fc84,40110431,4206fc84,4206fc84,407a247c,4212a2d0,40110827,407a2488,42070836,34613034,66346231,40110827,00000000,66346231,40110827,42047f0d,4212a2d0,00000400,40110428,407a25b8,4206a3e4}},rec={code=80000100,flags=1,rec=(nil),addr=0x780ca51c,params={40a4a400,40a4aa85}}
)
0009: queue_exception_event() = 0 { handle=(nil) }
Then, comes something that looks like uncontrolled recursive behavior:
00000009:trace:seh:EXC_CallHandler calling handler at 0x780e87a6
code=80000100 flags=1
00000009:Call
msvcrt.__CxxFrameHandler(407a2764,407a2828,407a2404,407a22ac)
ret=400c5842 fs=008f
eax=780ee5e8 ebx=400f9144 ecx=40110428 edx=40110480 esi=407a2764
edi=400f8f11
ebp=407a2288 esp=407a225c ds=002b es=002b gs=0000 flags=00000206
00000009:Ret msvcrt.__CxxFrameHandler() retval=00000001 ret=400c5842
fs=008f
eax=00000001 ebx=400f9144 ecx=40110428 edx=40110480 esi=407a2764
edi=400f8f11
ebp=407a2288 esp=407a225c ds=002b es=002b gs=0000 flags=00000206
00000009:trace:seh:EXC_CallHandler handler returned 1
00000009:trace:seh:EXC_CallHandler calling handler at 0x780e9f54
code=80000100 flags=1
00000009:Call
msvcrt.__CxxFrameHandler(407a2764,407a2854,407a2404,407a22ac)
ret=400c5842 fs=008f
eax=780f2358 ebx=400f9144 ecx=40110428 edx=40110480 esi=407a2764
edi=400f8f11
ebp=407a2288 esp=407a225c ds=002b es=002b gs=0000 flags=00000206
00000009:Ret msvcrt.__CxxFrameHandler() retval=00000001 ret=400c5842
fs=008f
eax=00000001 ebx=400f9144 ecx=40110428 edx=40110480 esi=407a2764
edi=400f8f11
ebp=407a2288 esp=407a225c ds=002b es=002b gs=0000 flags=00000206
00000009:trace:seh:EXC_CallHandler handler returned 1
00000009:trace:seh:EXC_CallHandler calling handler at 0x780e8a1c
code=80000100 flags=1
00000009:Call
msvcrt.__CxxFrameHandler(407a2764,407a28ac,407a2404,407a22ac)
ret=400c5842 fs=008f
eax=780eeae8 ebx=400f9144 ecx=40110428 edx=40110480 esi=407a2764
edi=400f8f11
ebp=407a2288 esp=407a225c ds=002b es=002b gs=0000 flags=00000206
00000009:Ret msvcrt.__CxxFrameHandler() retval=00000001 ret=400c5842
fs=008f
eax=00000001 ebx=400f9144 ecx=40110428 edx=40110480 esi=407a2764
edi=400f8f11
ebp=407a2288 esp=407a225c ds=002b es=002b gs=0000 flags=00000206
00000009:trace:seh:EXC_CallHandler handler returned 1
00000009:trace:seh:EXC_CallHandler calling handler at 0x780e8c24
code=80000100 flags=1
00000009:Call
msvcrt.__CxxFrameHandler(407a2764,407a2990,407a2404,407a22ac)
ret=400c5842 fs=008f
eax=780eefa8 ebx=400f9144 ecx=40110428 edx=40110480 esi=407a2764
edi=400f8f11
ebp=407a2288 esp=407a225c ds=002b es=002b gs=0000 flags=00000206
00000009:trace:seh:cxx_frame_handler handling C++ exception rec
0x407a2764 frame 0x407a2990 trylevel 2 descr 0x780eefa8 nested_frame (nil)
exception type:
flags 78 destr 0x419151b9 handler 0x1 type info 0x1f
00000009:trace:seh:EXC_RtlRaiseException code=c0000005 flags=0
addr=0x40a38385
00000009:trace:seh:EXC_RtlRaiseException info[0]=00000000
00000009:trace:seh:EXC_RtlRaiseException info[1]=0000001f
0009: queue_exception_event( first=1,
record={context={flags=00000000,eax=0000001f,ebx=40a54c2c,ecx=40110428,edx=4011045e,esi=00000000,edi=407a2814,ebp=407a1db4,eip=40a38385,esp=407a1da4,eflags=00010212,cs=0023,ds=002b,es=002b,fs=008f,gs=0000,dr0=00000000,dr1=00000000,dr2=00000000,dr3=00000000,dr6=00000000,dr7=00000000,float={00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000}},rec={code=c0000005,flags=0,rec=(nil),addr=0x40a38385,params={0,1f}}
)
0009: queue_exception_event() = 0 { handle=(nil) }
And then:
00000009:trace:seh:EXC_CallHandler calling handler at 0x400c5798
code=c0000005 flags=0
00000009:trace:seh:EXC_CallHandler handler returned 2
00000009:trace:seh:EXC_CallHandler calling handler at 0x780e87a6
code=c0000005 flags=10
00000009:Call
msvcrt.__CxxFrameHandler(406909d0,407a2828,40690a44,40690960)
ret=400c5842 fs=008f
eax=780ee5e8 ebx=400f9144 ecx=40110428 edx=40110481 esi=406909d0
edi=400f8f11
ebp=4069093c esp=40690910 ds=002b es=002b gs=0000 flags=00000212
00000009:Ret msvcrt.__CxxFrameHandler() retval=00000001 ret=400c5842
fs=008f
eax=00000001 ebx=400f9144 ecx=40110428 edx=40110481 esi=406909d0
edi=400f8f11
ebp=4069093c esp=40690910 ds=002b es=002b gs=0000 flags=00000212
00000009:trace:seh:EXC_CallHandler handler returned 1
00000009:trace:seh:EXC_CallHandler calling handler at 0x780e9f54
code=c0000005 flags=10
00000009:Call
msvcrt.__CxxFrameHandler(406909d0,407a2854,40690a44,40690960)
ret=400c5842 fs=008f
eax=780f2358 ebx=400f9144 ecx=40110428 edx=40110481 esi=406909d0
edi=400f8f11
ebp=4069093c esp=40690910 ds=002b es=002b gs=0000 flags=00000212
00000009:Ret msvcrt.__CxxFrameHandler() retval=00000001 ret=400c5842
fs=008f
eax=00000001 ebx=400f9144 ecx=40110428 edx=40110481 esi=406909d0
edi=400f8f11
ebp=4069093c esp=40690910 ds=002b es=002b gs=0000 flags=00000212
00000009:trace:seh:EXC_CallHandler handler returned 1
00000009:trace:seh:EXC_CallHandler calling handler at 0x780e8a1c
code=c0000005 flags=10
00000009:Call
msvcrt.__CxxFrameHandler(406909d0,407a28ac,40690a44,40690960)
ret=400c5842 fs=008f
eax=780eeae8 ebx=400f9144 ecx=40110428 edx=40110481 esi=406909d0
edi=400f8f11
ebp=4069093c esp=40690910 ds=002b es=002b gs=0000 flags=00000212
00000009:Ret msvcrt.__CxxFrameHandler() retval=00000001 ret=400c5842
fs=008f
eax=00000001 ebx=400f9144 ecx=40110428 edx=40110481 esi=406909d0
edi=400f8f11
ebp=4069093c esp=40690910 ds=002b es=002b gs=0000 flags=00000212
00000009:trace:seh:EXC_CallHandler handler returned 1
00000009:trace:seh:EXC_CallHandler calling handler at 0x780e8c24
code=c0000005 flags=10
00000009:Call
msvcrt.__CxxFrameHandler(406909d0,407a2990,40690a44,40690960)
ret=400c5842 fs=008f
eax=780eefa8 ebx=400f9144 ecx=40110428 edx=40110481 esi=406909d0
edi=400f8f11
ebp=4069093c esp=40690910 ds=002b es=002b gs=0000 flags=00000212
00000009:Call kernel32.TlsGetValue(00000002) ret=40a4961a
00000009:Ret kernel32.TlsGetValue() retval=4028c448 ret=40a4961a
00000009:trace:seh:EXC_RtlRaiseException code=c0000005 flags=0
addr=0x40a389cc
00000009:trace:seh:EXC_RtlRaiseException info[0]=00000000
00000009:trace:seh:EXC_RtlRaiseException info[1]=0000001c
0009: queue_exception_event( first=1,
record={context={flags=00000000,eax=4028c448,ebx=40a54c2c,ecx=40110428,edx=00000002,esi=00000000,edi=780eefa8,ebp=40690484,eip=40a389cc,esp=40690474,eflags=00010206,cs=0023,ds=002b,es=002b,fs=008f,gs=0000,dr0=00000000,dr1=00000000,dr2=00000000,dr3=42062320,dr6=400e5fc4,dr7=42062320,float={00000000,00000000,00000000,00000000,42062320,40690338,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,42062320,40690374,00000000,42062320,40690380,00000000,42062320,4069038c,40690390}},rec={code=c0000005,flags=0,rec=(nil),addr=0x40a389cc,params={0,1c}}
)
0009: queue_exception_event() = 0 { handle=(nil) }
Followed by:
00000009:trace:seh:EXC_CallHandler calling handler at 0x400c5798
code=c0000005 flags=0
00000009:trace:seh:EXC_CallHandler handler returned 2
00000009:trace:seh:EXC_CallHandler calling handler at 0x400c5798
code=c0000005 flags=10
00000009:trace:seh:EXC_CallHandler handler returned 2
00000009:trace:seh:EXC_CallHandler calling handler at 0x780e87a6
code=c0000005 flags=10
00000009:Call
msvcrt.__CxxFrameHandler(4068fe48,407a2828,4068febc,4068fdd8)
ret=400c5842 fs=008f
eax=780ee5e8 ebx=400f9144 ecx=40110428 edx=40110481 esi=4068fe48
edi=400f8f11
ebp=4068fdb4 esp=4068fd88 ds=002b es=002b gs=0000 flags=00000212
The pattern that strikes me as odd is how the message:
"trace:seh:EXC_CallHandler calling... flags=0" keeps repeating, every
time adding one more iteration. This seems to go on forever (or for
about a million lines of log messages).
Does this sound familiar to anyone? Any ideas on where to start looking?
Thanks,
-Ori Pessach