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