Deadlock?

Shachar Shemesh wine-devel at shemesh.biz
Tue Dec 9 10:47:18 CST 2003


Mike Hearn wrote:

>On Tue, 2003-12-09 at 13:51, Shachar Shemesh wrote:
>  
>
>>When trying to run Microsoft Digital Image Pro, I occasionally get 
>>problems when loading it. The splash screen comes up, and then it hangs. 
>>This problem only happens occasionally. I have not, to date, managed to 
>>reproduce it with relay turned on.
>>    
>>
>
>You might want to do a run with +tid,+seh,+debugstr
>
I'm not sure I'll manage to do that. The problem happens so rarely, and 
I'm working on other problems in the program, that I'm not sure the 
added output is something I can do that over time. Not to mention that 
when I exit the program with these settings, I get a long loop of:
0009:trace:seh:EXC_CallHandler calling handler at 0x66e5d029 
code=c0000005 flags=10
0009:trace:seh:EXC_CallHandler handler returned 1
0009:trace:seh:EXC_CallHandler calling handler at 0x66e5c8c2 
code=c0000005 flags=10
0009:trace:seh:EXC_CallHandler handler returned 1
0009:trace:seh:EXC_CallHandler calling handler at 0x102e826 
code=c0000005 flags=10
0009:trace:seh:EXC_CallHandler handler returned 1
0009:trace:seh:EXC_CallHandler calling handler at 0x401cfca8 
code=c0000005 flags=10
0009:trace:seh:EXC_CallHandler handler returned 2
0009:trace:seh:EXC_CallHandler calling handler at 0x7c34240d 
code=c0000005 flags=10
0009:trace:seh:EXC_CallHandler handler returned 1
0009:trace:seh:EXC_CallHandler calling handler at 0x66e5d029 
code=c0000005 flags=10
0009:trace:seh:EXC_CallHandler handler returned 1

it's followed by
0009:trace:seh:EXC_CallHandler calling handler at 0x401cfca8 
code=c0000005 flags=10
0009:trace:seh:EXC_CallHandler handler returned 2
0009:trace:seh:EXC_CallHandler calling handler at 0x401d0981 
code=c0000005 flags=10
0009:trace:seh:EXC_CallHandler handler returned 1
0009:trace:seh:EXC_CallHandler calling handler at 0x401cfca8 
code=c0000005 flags=10
0009:trace:seh:EXC_CallHandler handler returned 2
0009:trace:seh:EXC_CallHandler calling handler at 0x6759352c 
code=c0000005 flags=10
0009:trace:seh:EXC_CallHandler handler returned 1
0009:trace:seh:EXC_CallHandler calling handler at 0x102bfd8 
code=c0000005 flags=10
0009:trace:seh:EXC_CallHandler handler returned 1
0009:trace:seh:EXC_CallHandler calling handler at 0x102ffb3 
code=c0000005 flags=10
0009:trace:seh:EXC_CallHandler handler returned 1
0009:trace:seh:EXC_CallHandler calling handler at 0x102bfd8 
code=c0000005 flags=10
0009:warn:seh:setup_exception exception outside of stack limits in 
thread 0009 eip 401db925 esp 4071123c stack 0x40710000-0x40810000
0009:trace:seh:EXC_RtlRaiseException code=c0000005 flags=0 addr=0x401db925
0009:trace:seh:EXC_RtlRaiseException  info[0]=00000000
0009:trace:seh:EXC_RtlRaiseException  info[1]=00000000
0009:trace:seh:EXC_CallHandler calling handler at 0x401d0981 
code=c0000005 flags=0
0009:trace:seh:EXC_RtlUnwind code=c0000005 flags=2
0009:trace:seh:EXC_CallHandler calling handler at 0x401cfca8 
code=c0000005 flags=2
0009:trace:seh:EXC_CallHandler handler returned 1
0009:err:seh:setup_exception stack overflow 2692 bytes in thread 0009 
eip 7c34b55e esp 4071057c stack 0x40710000-0x40810000

I'm not sure what seh does, but it's triggering other problems as well.

> and then when it
>deadlocks (hopefully it will, sounds like a race)
>
I don't know of other causes for problems that only happen OCCASIONALLY. 
Yes, it's a race.

> attach with winedbg
>then get backtraces of the threads that stopped.
>
How can I attach to two threads?

> BTW it looks like
>something died inside a PROCESS_ATTACH or THREAD_ATTACH as evidenced by
>the presence of the loader section there. Perhaps it tried to access
>GetScrollBarInfo?
>
Wouldn't that cause it to bomb each and every time? Like I said before - 
usually it works fine.

> I've noticed that sometimes operations that should
>cause a crash are silently swallowed and simply cause a deadlock
>somewhere.
>  
>
This program sets up tons of error handlers. Usually, however, they just 
bring up a dialog that says "this program has crashed. Do you want us to 
rerun it for you?". Another fine Microsoft invention.

However, even when that happens, I can usually see the error on the 
debug output. I have had lots of those when trying out the unicows 
solution (which Alexandre replaced with something both simpler and more 
elegant - frustrating).

             Shachar

-- 
Shachar Shemesh
Open Source integration & consulting
Home page & resume - http://www.shemesh.biz/





More information about the wine-devel mailing list