Ok, it looks like dsound is causing problems, or at the very least least alsa.
I've put the time.c stuff into it's own critical section, to no effect.
I've also been getting a 'dead lock' with the critical section pdbi->mmap_crst, but it's not really a dead lock because the holding thread is zero
a bit of watching showed that crit->OwningThread was zero but crit->LockCount was 1, I've set watchpoints on crit->OwningThread and couldn't find any problems so I can only assume that crit->LockCount is being set somewhere.. probably the same place as the MMTimer stuff is getting clobbered.
Unfortunately winedbg's expressions aren't up to the job of trapping OwningThread ==0 and LockCount != -1.
I've hacked out some basic internal type and pointer support for expressions in winedbg, but I promised Jason I'd start sending in DirectX 9 so it'll have to wait.
disp *((int *)0xaddress)) .. now works ok and so does x *(0xaddress) so in theory cond 1 (*((int *)0xaddress)) != 0) should work too?
--- Jeremy White jwhite@codeweavers.com wrote:
Well, I've managed to reproduce the fault once
with
the debugger running.. the backtrace I get is
Could you cut and paste in the full backtrace, with addresses, along with a diff of the debug changes you've made so I can see what's happening?
Thanks,
Jer
___________________________________________________________ ALL-NEW Yahoo! Messenger - all new features - even more fun! http://uk.messenger.yahoo.com