[Bug 4506] New: Unhandled exception: page fault on read access

Wine Bugs wine-bugs at winehq.org
Tue Feb 7 08:58:36 CST 2006


http://bugs.winehq.org/show_bug.cgi?id=4506

           Summary: Unhandled exception: page fault on read access
           Product: Wine
           Version: 0.9.7.
          Platform: PC
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: wine-x11driver
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: mamatkazin at ivc.orw.ru


On some nice old childrens game ("Mango Plumo" work under w98 NT4 w2000 wXP) I
got this error:


wine: Unhandled page fault on read access to 0x786d1000 at address 0x7f75f10f (t
hread 0009), starting debugger...
WineDbg starting on pid 0x8
Unhandled exception: page fault on read access to 0x786d1000 in 32-bit code (0x7
f75f10f).
In 32 bit mode.
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033
 EIP:7f75f10f ESP:7fb7ea74 EBP:7fb7ea94 EFLAGS:00010297(   - 00     RISAP1C)
 EAX:786d0ffd EBX:7f7af1cc ECX:73c129f8 EDX:73c12a00
 ESI:77ae2908 EDI:6907dffc
Stack dump:
0x00000000:  00000000 00000000 00000000 00000000
0x00000010:  00000000 00000000 00000000 00000000
0x00000020:  00000000 00000000 00000000 00000000
0x00000030:  00000000 00000000 00000000 00000000
0x00000040:  00000000 00000000 00000000 00000000
0x00000050:  00000000 00000000 00000000 00000000
Backtrace:
=>1 0x7f75f10f convert_888_to_0888_asis(width=0xa, height=0x1e0, srcbits=0x786d0
f82, srclinebytes=0x780, dstbits=0x73c12960, dstlinebytes=0xfffff600) [dib_conve
rt.c:833] in winex11 (0x7f75f10f)
  2 0x7f7574f5 X11DRV_DIB_SetImageBits_24+0x21d(lines=0x1e0, srcbits=0x785f0702,
 srcwidth=0x280, dstwidth=0x2a, left=0x256, physDev=0x7fd72ee0, rSrc=0xff0000, g
Src=0xff00, bSrc=0xff, bmpImage=0x77ae2908, linebytes=0x780) [dib.c:2595] in win
ex11 (0x7f7574f5)
  3 0x7f759bbd X11DRV_DIB_SetImageBits+0x4f1(descr=0x7fb7ebcc) [dib.c:3611] in w
inex11 (0x7f759bbd)
  4 0x7f75ab8a X11DRV_SetDIBitsToDevice(physDev=0x7fd72ee0, xDest=0x256, yDest=0
x0, cx=0x2a, cy=0x3, xSrc=0x256, ySrc=0x0, startscan=0x0, lines=0x1e0, bits=0x78
5f0000, info=0x78b5fec8, coloruse=0x0) [dib.c:3895] in winex11 (0x7f75ab8a)
  5 0x7f8bb187 SetDIBitsToDevice+0xa5(hdc=0x3d4, xDest=0x256, yDest=0x0, cx=0x2a
, cy=0x3, xSrc=0x256, ySrc=0x1dd, startscan=0x0, lines=0x1e0, bits=0x785f0000, i
nfo=0x78b5fec8, coloruse=0x0) [dib.c:371] in gdi32 (0x7f8bb187)
  6 0x6903fc06 imIMEGetActiveCompositionWindow+0xe66 in iml32 (0x6903fc06)
  7 0x00000000 (0x00000000)
0x7f75f10f convert_888_to_0888_asis+0xf9 [dib_convert.c:833] in winex11: movl  0
x0(%eax),%eax
833                 srcval=*srcpixel;
Modules:
Module  Address                 Debug info      Name (117 modules)
PE      0x10000000-10021000     Deferred        proj
PE      0x20000000-2000d000     Deferred        mango plumo

Hmm... Last byte from assigned DWORD exiting from address space if start address
not DWORD aligned.

After inserting some printf() I got this:
oddwidth=(3) x=(1) srcpixel=(787f00fal)
oddwidth=(3) x=(2) srcpixel=(787f00fdl)
oddwidth=(3) x=(0) srcpixel=(787f0877l)
oddwidth=(3) x=(1) srcpixel=(787f087al)
oddwidth=(3) x=(2) srcpixel=(787f087dl)
oddwidth=(3) x=(0) srcpixel=(787f0ff7l)
oddwidth=(3) x=(1) srcpixel=(787f0ffal)
oddwidth=(3) x=(2) srcpixel=(787f0ffdl)
wine: Unhandled page fault on read access to 0x787f1000 at address 0x7f7e5482
(thread 0009), starting debugger...
WineDbg starting on pid 0x8
Unhandled exception: page fault on read access to 0x787f1000 in 32-bit code
(0x7f7e5482).
In 32 bit mode.
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033
 EIP:7f7e5482 ESP:7fbceacc EBP:7fbceb00 EFLAGS:00010216(   - 00      -RIAP1)
 EAX:787f0ffd EBX:7f82c82c ECX:00000000 EDX:00000028
 ESI:0000005f EDI:000001df
Stack dump:
0x7fbceacc:  7f81e5e0 00000003 00000002 787f0ffd
0x7fbceadc:  0000005f d6d6d6d6 d6d6d6d6 00000003
0x7fbceaec:  000001df 00000002 756a8a04 787f0ffd
0x7fbceafc:  7f82c82c 7fbceb68 7f7dec73 00000017
0x7fbceb0c:  000001e0 787f0ee3 00000780 756a888c
0x7fbceb1c:  fffff600 0012c008 b7ec9820 b7ec8000
Backtrace:
=>1 0x7f7e5482 convert_888_to_0888_asis+0x128(width=0x17, height=0x1e0,
srcbits=0x787f0ee3, srclinebytes=0x780, dstbits
=0x756a888c, dstlinebytes=0xfffff600) [dib_convert.c:836] in winex11 (0x7f7e5482)
  2 0x7f7dec73 X11DRV_DIB_SetImageBits_24+0x203(lines=0x1e0, srcbits=0x78710663,
srcwidth=0x280, dstwidth=0x5f, left=0x
221, physDev=0x7fd811b0, rSrc=0xff0000, gSrc=0xff00, bSrc=0xff,
bmpImage=0x75927ad0, linebytes=0x780) [/home/ftp/src/wi
ne-0.9.6/dlls/x11drv/dib.c:2595] in winex11 (0x7f7dec73)
  3 0x7f7e0b67 X11DRV_DIB_SetImageBits+0x3d7(descr=0x7fbcebf0)
[/home/ftp/src/wine-0.9.6/dlls/x11drv/dib.c:3611] in win
ex11 (0x7f7e0b67)
  4 0x7f7e173d X11DRV_SetDIBitsToDevice(physDev=0x7fd811b0, xDest=0x221,
yDest=0x0, cx=0x5f, cy=0x4e, xSrc=0x221, ySrc=
0x0, startscan=0x0, lines=0x1e0, bits=0x78710000, info=0x78c7fec8, coloruse=0x0)
[/home/ftp/src/wine-0.9.6/dlls/x11drv/
dib.c:3897] in winex11 (0x7f7e173d)
  5 0x7f932a89 SetDIBitsToDevice(hdc=0x3d4, xDest=0x221, yDest=0x0, cx=0x5f,
cy=0x4e, xSrc=0x221, ySrc=0x192, startscan
=0x0, lines=0x1e0, bits=0x78710000, info=0x78c7fec8, coloruse=0x0) [dib.c:371]
in gdi32 (0x7f932a89)
  6 0x6903fc06 imIMEGetActiveCompositionWindow+0xe66 in iml32 (0x6903fc06)
  7 0x00000000 (0x00000000)
0x7f7e5482 convert_888_to_0888_asis+0x128 [dib_convert.c:836] in winex11: movl 
0x0(%eax),%eax
Unable to open file 'dib_convert.c'
Modules:

With some ugly hack (change DWORD copy to byte-to-byte and exclude last byte) my
childrens can play (with little nois on screen 8-) 

Sorry for my english.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list