opengl problems (commit 00633e37bcc8da1032f34ea2d87814739de07db4)

Alex Romosan romosan at sycorax.lbl.gov
Sun Oct 28 22:00:19 CDT 2007


somewhere between release 0.9.46 and 0.9.47 of wine i started having
problems with applications that use opengl. using git-bisect i found
that commit 00633e37bcc8da1032f34ea2d87814739de07db4 (winex11: Use an
offscreen redirected window for child OpenGL rendering.) was the first
bad commit.

in particular i am trying to run tracked part of racer 0.5.0 final
(http://racer.nl/dl_win32.htm). doing a git-checkout
00633e37bcc8da1032f34ea2d87814739de07db4 and running tracked i get the
following crash when i try to import a track:

wine: Unhandled page fault on read access to 0x00000014 at address 0x7e542141 (thread 0009), starting debugger...
Unhandled exception: page fault on read access to 0x00000014 in 32-bit code (0x7e542141).
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:7e542141 ESP:0033fdb4 EBP:0033fdec EFLAGS:00210246(   - 00      -RIZP1)
 EAX:00000000 EBX:7e578714 ECX:0000494c EDX:00000000
 ESI:00000001 EDI:0014da98
Stack dump:
0x0033fdb4:  00000000 00000000 000000aa 0000001e
0x0033fdc4:  0041fa7d 00000049 00000000 00000000
0x0033fdd4:  0014da98 0042567c 004256b5 7ed1f980
0x0033fde4:  00000001 0014da98 0033fe0c 7ed072db
0x0033fdf4:  0033fe60 00443457 ffffffff 00408fa0
0x0033fe04:  7ed07299 00000000 0033ff08 0041b192
Backtrace:
=>1 0x7e542141 X11DRV_wglFlush+0x31() [/home/romosan/cvs/wine/dlls/winex11.drv/opengl.c:1952] in winex11 (0x0033fdec)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
  2 0x7ed072db wine_glFlush+0x4b() [/home/romosan/cvs/wine/dlls/opengl32/wgl.c:584] in opengl32 (0x0033fe0c)
  3 0x0041b192 in tracked (+0x1b192) (0x0033ff08)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value __wine_dbch___default (1)
  4 0x7ee5809e start_process+0xee(arg=0x0) [/home/romosan/cvs/wine/dlls/kernel32/process.c:839] in kernel32 (0x0033ffe8)
  5 0xb7e7f867 wine_switch_to_stack+0x17() in libwine.so.1 (0x00000000)
0x7e542141 X11DRV_wglFlush+0x31 [/home/romosan/cvs/wine/dlls/winex11.drv/opengl.c:1952] in winex11: movl	0x14(%eax),%edi
1952	    update_drawable(((Wine_GLContext*)NtCurrentTeb()->glContext)->physDev);
Modules:
Module	Address			Debug info	Name (77 modules)
PE	  400000-  457000	Export          tracked
PE	10000000-1007d000	Deferred        fmod
PE	65f00000-65fc2000	Deferred        ole32
ELF	7aaf3000-7ab3c000	Deferred        dsound<elf>
  \-PE	7ab00000-7ab3c000	\               dsound
ELF	7b95a000-7ba20000	Deferred        libasound.so.2
ELF	7bf00000-7bf03000	Deferred        <wine-loader>
ELF	7bf43000-7bf58000	Deferred        midimap<elf>
  \-PE	7bf50000-7bf58000	\               midimap
ELF	7bf58000-7bf70000	Deferred        msacm32<elf>
  \-PE	7bf60000-7bf70000	\               msacm32
ELF	7bf70000-7bfa6000	Deferred        winealsa<elf>
  \-PE	7bf80000-7bfa6000	\               winealsa
ELF	7bfa6000-7bfab000	Deferred        libtxc_dxtn.so
ELF	7bfba000-7bfc3000	Deferred        libxcursor.so.1
ELF	7bfc3000-7bfcb000	Deferred        libxrender.so.1
ELF	7bfcb000-7bfe8000	Deferred        imm32<elf>
  \-PE	7bfd0000-7bfe8000	\               imm32
ELF	7bfe8000-7bfeb000	Deferred        libxinerama.so.1
ELF	7c080000-7c083000	Deferred        libxcomposite.so.1
ELF	7e294000-7e4ef000	Deferred        r200_dri.so
ELF	7e4ef000-7e580000	Dwarf           winex11<elf>
  \-PE	7e500000-7e580000	\               winex11
ELF	7e5cc000-7e5ec000	Deferred        libexpat.so.1
ELF	7e5ec000-7e615000	Deferred        libfontconfig.so.1
ELF	7e615000-7e62a000	Deferred        libz.so.1
ELF	7e62a000-7e699000	Deferred        libfreetype.so.6
ELF	7e699000-7e701000	Deferred        msvcrt<elf>
  \-PE	7e6b0000-7e701000	\               msvcrt
ELF	7e701000-7e78f000	Deferred        winmm<elf>
  \-PE	7e710000-7e78f000	\               winmm
ELF	7e78f000-7e7b5000	Deferred        msacm32<elf>
  \-PE	7e7a0000-7e7b5000	\               msacm32
ELF	7e7b5000-7e7cb000	Deferred        glu32<elf>
  \-PE	7e7c0000-7e7cb000	\               glu32
ELF	7e7cb000-7e865000	Deferred        gdi32<elf>
  \-PE	7e7e0000-7e865000	\               gdi32
ELF	7e865000-7e9a3000	Deferred        user32<elf>
  \-PE	7e880000-7e9a3000	\               user32
ELF	7e9a3000-7e9ae000	Deferred        libgcc_s.so.1
ELF	7ea99000-7eaa2000	Deferred        libdrm.so.2
ELF	7eaa2000-7eaa7000	Deferred        libxfixes.so.3
ELF	7eaa7000-7eaaa000	Deferred        libxdamage.so.1
ELF	7eaaa000-7eaaf000	Deferred        libxdmcp.so.6
ELF	7eaaf000-7eab2000	Deferred        libxau.so.6
ELF	7eab2000-7eb2b000	Deferred        libglu.so.1
ELF	7eb2b000-7eb8b000	Deferred        libgl.so.1
ELF	7eb8b000-7ec77000	Deferred        libx11.so.6
ELF	7ec77000-7ec85000	Deferred        libxext.so.6
ELF	7ec85000-7ec9c000	Deferred        libice.so.6
ELF	7ec9c000-7eca4000	Deferred        libsm.so.6
ELF	7eca4000-7ed25000	Dwarf           opengl32<elf>
  \-PE	7ecc0000-7ed25000	\               opengl32
ELF	7ed25000-7ed6d000	Deferred        advapi32<elf>
  \-PE	7ed30000-7ed6d000	\               advapi32
ELF	7ed6d000-7ed80000	Deferred        libresolv.so.2
ELF	7ed80000-7ed9e000	Deferred        iphlpapi<elf>
  \-PE	7ed90000-7ed9e000	\               iphlpapi
ELF	7ed9e000-7edca000	Deferred        ws2_32<elf>
  \-PE	7edb0000-7edca000	\               ws2_32
ELF	7edca000-7ede4000	Deferred        wsock32<elf>
  \-PE	7edd0000-7ede4000	\               wsock32
ELF	7ede4000-7ef0c000	Dwarf           kernel32<elf>
  \-PE	7ee00000-7ef0c000	\               kernel32
ELF	7ef0c000-7ef17000	Deferred        libnss_files.so.2
ELF	7ef17000-7ef21000	Deferred        libnss_nis.so.2
ELF	7ef21000-7ef39000	Deferred        libnsl.so.1
ELF	7ef39000-7ef5f000	Deferred        libm.so.6
ELF	7ef5f000-7f000000	Deferred        ntdll<elf>
  \-PE	7ef70000-7f000000	\               ntdll
ELF	b7cf0000-b7cf5000	Deferred        libxxf86vm.so.1
ELF	b7cf5000-b7cfe000	Deferred        libnss_compat.so.2
ELF	b7cff000-b7d03000	Deferred        libdl.so.2
ELF	b7d03000-b7e4b000	Deferred        libc.so.6
ELF	b7e4c000-b7e63000	Deferred        libpthread.so.0
ELF	b7e78000-b7f8c000	Dwarf           libwine.so.1
ELF	b7f8e000-b7fac000	Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
0000000a 
	0000000b    0
00000008 (D) C:\SIMS\RACER\tracked.exe
	0000000e    2
	0000000d   15
	0000000c   15
	00000009    0 <==

also the application window shows a copy of some other window i have
opened on the screen before it crashes instead of starting with a
black window and then drawing the imported track objects. going to the
commit just before this one gets tracked working (although the opengl
window is drawn in the wrong place) but the application works in
general.

i tried to undo various parts of the patch but i wasn't able figure
out anything. maybe somebody has some ideas. let me know if you need
more information.

--alex--

-- 
| I believe the moment is at hand when, by a paranoiac and active |
|  advance of the mind, it will be possible (simultaneously with  |
|  automatism and other passive states) to systematize confusion  |
|  and thus to help to discredit completely the world of reality. |



More information about the wine-devel mailing list