crash on priviledged instruction
Andreas Mohr Usenet 10/01
a31dgo001 at sneakemail.com
Wed Oct 10 02:01:15 CDT 2001
Stefan Leichter <Stefan.Leichter at camline.com> wrote:
> Andreas Mohr Usenet 10/01 wrote:
>> Huh ??
>> les si is in no way a privileged instruction !!
>> Could it be that a segment register is zeroed out in this case ?
>> ("info reg")
> Good shot!
> 080689b8:08244058: exception code=80000003
> 080689b8:08243f38: exception code=c0000096
> Unhandled exception: priviledged instruction in 16-bit code (050f:1006).
> In 16-bit mode.
> 0x050f:0x1006: lesw %es:0x0(%si),%si
> Wine-dbg>info reg
> Register dump:
> CS:050f SS:09c7 DS:09c7 ES:0000 FS:0000 GS:0000
> IP:1006 SP:89a4 BP:89bc FLAGS:0246( - 00 I Z- -P1 )
> AX:002c BX:0058 CX:0000 DX:0000 SI:0000 DI:89d0
> The question now is: Where do the SI register become NULL? Is it a good
> choice to extend the relay logging by the register e.g. ES and SI? Or is it
> more likely that the code where the register becomes initialized is skipped?
It's NOT SI :-)
--> Try to breakpoint winedbg on a location that's slightly *before* the crash
(use --debugmsg +relay in order to find out a suitable address to break on),
and singlestep until the crash occurs. That way you'll hopefully find the place
where a NULL pointer gets loaded into ES:SI.
Or maybe you can even definitely pinpoint the NULL pointer to a place in
the relay trace... (not too likely, though)
Andreas Mohr, Renningen, Germany
In case you need to contact me after expiry of temporary email address:
my real address is (initial of first name).(last name)@mailto.de
More information about the wine-users