How to find out locking problem
hverbeet at gmail.com
Sun Jan 2 11:36:12 CST 2011
On 2 January 2011 17:43, <wylda at volny.cz> wrote:
> The truth is, that wine outputs the first line ("...wait timed out
> in thread 001c, blocked by 0041...") only once and after that only
> the 2nd line repeats every 60sec ("...wait timed out in thread 0045,
> blocked by 0044..."). Don't know if that's normal in these cases or
> both lines should repeated.
Thread 0041 is probably just a bit slow at some point then, but it
does sound like it eventually releases the lock. It would be
interesting to figure out what's taking so long, but it's probably not
the main problem.
For a proper deadlock you'd have at least two threads waiting for each
other, that doesn't seem to be the case here. It looks more like 0044
is either busy doing something expensive or dead. The backtraces for
those threads aren't very helpful unfortunately, the stacks for both
of them look damaged / altered. You may have more luck with something
like a +relay,+seh,+tid log.
> So what should i do now to be more helpful? I think that kernel has
> some infrastructure for logging of locks or detecting deadlock or
> whatever... Is there an equivalent in wine??
I guess you're referring to lockdep. AFAIK there's no such thing in
Wine, but it would probably be a useful tool on occasion. For the
reasons mentioned above, I don't think it would have been much help
for this specific bug though.
More information about the wine-devel