Bug 23781

Summary: Wine + Civ4 BTS crashes after a short time
Product: Mesa Reporter: Frej Soya <frej.soya>
Component: Drivers/DRI/r300Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED WONTFIX QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: radeon_debug=all trace (last 10k lines)

Description Frej Soya 2009-09-07 08:56:51 UTC
Wine + Civ4 BTS crashes after a short time, the larger map the earlier (ie, more data). 
with mesa version7.6.0+git20090906.97787317-
and libdrm 2.4.13

fixme:d3d_caps:wined3d_guess_vendor Received unrecognized GL_VENDOR "DRI R300 Project". Returning VENDOR_WINE.
fixme:win:EnumDisplayDevicesW ((null),0,0x32ef04,0x00000000), stub!
fixme:d3d:state_lastpixel Last Pixel Drawing Disabled, not handled yet
fixme:d3d:state_vertexblend_w Vertex blending enabled, but not supported by hardware
err:d3d_shader:pixelshader_update_samplers No texture bound to sampler 2, using 2D
bo(0x95c20560, 65536) is mapped (-1) can't valide it.
validated 0x95c20560 [0x90826000, 0x90827000]
bo(0x956ab288, 65536) is mapped (-1) can't valide it.
validated 0x956ab288 [0x8437F000, 0x84390000]
dSword: radeon_dma.c:210: radeonRefillCurrentDmaRegion: Assertion `dma_bo->bo->cref == 1' failed.
wine: Assertion failed at address 0x68000832 (thread 0009), starting debugger...
Unhandled exception: assertion failed in 32-bit code (0x68000832).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:68000832 ESP:0032ed38 EBP:0032ed44 EFLAGS:00200206(   - --  I   - -P- )
 EAX:00000000 EBX:00001aa0 ECX:00001aa0 EDX:00000006
 ESI:68295096 EDI:682c8ff4
Stack dump:
0x0032ed38:  6819f4d1 682c8ff4 0032ee64 0032ee6c
0x0032ed48:  681a2932 00000006 0032ede4 00000000
0x0032ed58:  681e58cd 00000068 00000068 0032ed8c
0x0032ed68:  681df752 0032ee7c 00000068 00000068
0x0032ed78:  00000063 aba68a68 682c8ff4 00000063
0x0032ed88:  00000062 0032ee54 681d4c62 aba68a70
Backtrace:
=>0 0x68000832 GLIBC_2+0x832() in ld-linux.so.2 (0x0032ed44)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value yystos (a)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value one (a)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value one (a)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value one (a)
  1 0x681a2932 abort+0x182() [/build/buildd/eglibc-2.10.1/stdlib/abort.c:94] in libc.so.6 (0x0032ee6c)
  2 0x68198648 __assert_fail+0xf8(assertion="dma_bo->bo->cref == 1", file="radeon_dma.c", line=210, function=<register EDI not in topmost frame>) [/build/buildd/eglibc-2.10.1/assert/assert.c:56] in libc.so.6 (0x0032eeb4)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value RCP_2PI (a)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value ci (a)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value eye_z (a)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value eye_z (a)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value size_bits (a)
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value yystos (3)
  3 0x69d14286 radeonRefillCurrentDmaRegion+0x1e6(rmesa=<register ESI not in topmost frame>, size=1512) [/build/buildd/mesa-7.6.0+git20090906.97787317/obj-i486-linux-gnu/dri/src/mesa/drivers/dri/r300/radeon_dma.c:193] in r300_dri.so (0x0032ef04)
  4 0x69d1444c radeonAllocDmaRegion+0xbc(rmesa=<register ESI not in topmost frame>, pbo=0x7ddd7e14, poffset=0x7ddd7e18, bytes=<register EDI not in topmost frame>, alignment=<is not available>) [/build/buildd/mesa-7.6.0+git20090906.97787317/obj-i486-linux-gnu/dri/src/mesa/drivers/dri/r300/radeon_dma.c:251] in r300_dri.so (0x0032ef44)
  5 0x69cf833b r300DrawPrims+0x112b(ctx=0x7da8c560, arrays=0x7e08ab10, prim=0x7e089504, nr_prims=1, ib=(nil), index_bounds_valid=1, min_index=0, max_index=125) [/build/buildd/mesa-7.6.0+git20090906.97787317/obj-i486-linux-gnu/dri/src/mesa/drivers/dri/r300/r300_draw.c:530] in r300_dri.so (0x0032f004)
  6 0x69db421c vbo_exec_vtx_flush+0x60c(exec=<register ESI not in topmost frame>, unmap=1) [/build/buildd/mesa-7.6.0+git20090906.97787317/obj-i486-linux-gnu/dri/src/mesa/vbo/vbo_exec_draw.c:389] in r300_dri.so (0x0032f094)
  7 0x69db048a vbo_exec_FlushVertices_internal+0x3a(ctx=0x7da8c560, unmap=<is not available>) [/build/buildd/mesa-7.6.0+git20090906.97787317/obj-i486-linux-gnu/dri/src/mesa/vbo/vbo_exec_api.c:756] in r300_dri.so (0x0032f0c4)
  8 0x69db0540 vbo_exec_FlushVertices+0x50(ctx=<register EDI not in topmost frame>, flags=1) [/build/buildd/mesa-7.6.0+git20090906.97787317/obj-i486-linux-gnu/dri/src/mesa/vbo/vbo_exec_api.c:785] in r300_dri.so (0x0032f0f4)
  9 0x69dd9b94 _mesa_BindProgram+0x1f4(target=<register EDI not in topmost frame>, id=7) [/build/buildd/mesa-7.6.0+git20090906.97787317/obj-i486-linux-gnu/dri/src/mesa/shader/arbprogram.c:134] in r300_dri.so (0x0032f134)
  10 0x690da3a9 in wined3d (+0xa3a9) (0x0032f304)
  11 0x690fe829 ActivateContext+0x589() in wined3d (0x0032f5e4)
  12 0x69137bf1 drawPrimitive+0xe1() in wined3d (0x0032f944)
  13 0x6910dcb3 in wined3d (+0x3dcb3) (0x0032f984)
  14 0x6901101a in d3d9 (+0x1101a) (0x0032f9b4)
0x68000832 GLIBC_2+0x832 in ld-linux.so.2: ret	
Modules:
Module	Address			Debug info	Name (124 modules)
PE	  330000-  343000	Deferred        zlib1
PE	  350000-  35e000	Deferred        hapdbg
PE	  3f0000-  3fd000	Deferred        msssrs.flt
PE	  400000- 1038186	Deferred        civ4beyondsword
PE	 1040000- 13af000	Deferred        d3dx9_33
PE	 1ca0000- 2153000	Deferred        cvgamecoredll
PE	 ebb0000- ecb4000	Deferred        msxml3
PE	 ff90000- ff9c000	Deferred        mssds3d.flt
PE	10000000-1002b000	Deferred        boost_python-vc71-mt-1_32
PE	18000000-18038000	Deferred        binkw32
PE	1c200000-1c467000	Deferred        d3dx9_31
PE	1e000000-1e1ca000	Deferred        python24
PE	21100000-2118c000	Deferred        mss32
PE	22300000-22320000	Deferred        msseax.flt
PE	23000000-2300a000	Deferred        mssdolby.flt
PE	24100000-2411e000	Deferred        mssdsp.flt
PE	26400000-2643a000	Deferred        mssvoice.asi
PE	26f00000-26f2e000	Deferred        mssmp3.asi
ELF	68000000-6801f000	Dwarf           ld-linux.so.2
ELF	6801f000-6815b000	Deferred        libwine.so.1
ELF	6815b000-68175000	Deferred        libpthread.so.0
ELF	68175000-682cd000	Dwarf           libc.so.6
ELF	682cd000-682f5000	Deferred        libm.so.6
ELF	682f5000-68397000	Deferred        gdi32<elf>
  \-PE	68310000-68397000	\               gdi32
ELF	68397000-683ee000	Deferred        advapi32<elf>
  \-PE	683a0000-683ee000	\               advapi32
ELF	683ee000-6857e000	Deferred        shell32<elf>
  \-PE	68400000-6857e000	\               shell32
ELF	6857e000-6861a000	Deferred        winmm<elf>
  \-PE	68590000-6861a000	\               winmm
ELF	6861a000-68648000	Deferred        ws2_32<elf>
  \-PE	68620000-68648000	\               ws2_32
ELF	68648000-68663000	Deferred        version<elf>
  \-PE	68650000-68663000	\               version
ELF	68663000-68677000	Deferred        lz32<elf>
  \-PE	68670000-68677000	\               lz32
ELF	68677000-68773000	Deferred        ole32<elf>
  \-PE	68690000-68773000	\               ole32
ELF	68773000-68858000	Deferred        oleaut32<elf>
  \-PE	68790000-68858000	\               oleaut32
ELF	68858000-688a5000	Deferred        dsound<elf>
  \-PE	68860000-688a5000	\               dsound
ELF	688a5000-68924000	Deferred        libfreetype.so.6
ELF	68924000-6893a000	Deferred        libz.so.1
ELF	6893a000-68967000	Deferred        libfontconfig.so.1
ELF	68967000-6898e000	Deferred        libexpat.so.1
ELF	6898e000-68997000	Deferred        libsm.so.6
ELF	68997000-689b2000	Deferred        libice.so.6
ELF	689b2000-689c2000	Deferred        libxext.so.6
ELF	689c2000-68af1000	Deferred        libx11.so.6
ELF	68af1000-68af6000	Deferred        libuuid.so.1
ELF	68af6000-68afa000	Deferred        libxau.so.6
ELF	68afa000-68b18000	Deferred        libxcb.so.1
ELF	68b18000-68b1d000	Deferred        libxdmcp.so.6
ELF	68b1d000-68b20000	Deferred        libxinerama.so.1
ELF	68b20000-68b26000	Deferred        libxxf86vm.so.1
ELF	68b26000-68b30000	Deferred        libxrender.so.1
ELF	68b30000-68b39000	Deferred        libxrandr.so.2
ELF	68b39000-68b3d000	Deferred        libxcomposite.so.1
ELF	68b3d000-68b43000	Deferred        libxfixes.so.3
ELF	68b43000-68b4e000	Deferred        libxcursor.so.1
ELF	68b4e000-68b81000	Deferred        uxtheme<elf>
  \-PE	68b50000-68b81000	\               uxtheme
ELF	68b81000-68c63000	Deferred        libasound.so.2
ELF	68c63000-68c6c000	Deferred        librt.so.1
ELF	68c6c000-68c6f000	Deferred        libxdamage.so.1
ELF	68c6f000-68cb2000	Deferred        libpulse.so.0
ELF	68cb2000-68d02000	Deferred        libpulsecommon-0.9.16.so
ELF	68d02000-68d0b000	Deferred        libwrap.so.0
ELF	68d0b000-68d77000	Deferred        libsndfile.so.1
ELF	68d77000-68db9000	Deferred        libdbus-1.so.3
ELF	68db9000-68eb3000	Deferred        libvorbisenc.so.2
ELF	68eb3000-68ede000	Deferred        libvorbis.so.0
ELF	68ede000-68ee5000	Deferred        libogg.so.0
ELF	68ee5000-68efd000	Deferred        msacm32<elf>
  \-PE	68ef0000-68efd000	\               msacm32
ELF	68efd000-68f23000	Deferred        msacm32<elf>
  \-PE	68f00000-68f23000	\               msacm32
ELF	68f23000-68f38000	Deferred        wtsapi32<elf>
  \-PE	68f30000-68f38000	\               wtsapi32
ELF	68f38000-68f72000	Deferred        rsaenh<elf>
  \-PE	68f40000-68f72000	\               rsaenh
ELF	68f72000-68ffb000	Deferred        crypt32<elf>
  \-PE	68f80000-68ffb000	\               crypt32
ELF	68ffb000-6902b000	Export          d3d9<elf>
  \-PE	69000000-6902b000	\               d3d9
ELF	6902b000-6909f000	Deferred        libgl.so.1
ELF	6909f000-690ab000	Deferred        libdrm.so.2
ELF	690ab000-690b1000	Deferred        libdrm_radeon.so.1
ELF	690b1000-690b7000	Deferred        libtxc_dxtn.so
ELF	690b7000-691f6000	Export          wined3d<elf>
  \-PE	690d0000-691f6000	\               wined3d
ELF	691f6000-69222000	Deferred        libgcc_s.so.1
ELF	69222000-6922f000	Deferred        libnss_files.so.2
ELF	69b5e000-69bfd000	Deferred        winex11<elf>
  \-PE	69b70000-69bfd000	\               winex11
ELF	69cc8000-69f60000	Dwarf           r300_dri.so
ELF	6c229000-6c23e000	Deferred        midimap<elf>
  \-PE	6c230000-6c23e000	\               midimap
PE	70bd0000-70c35000	Deferred        shlwapi
ELF	73d13000-73d2c000	Deferred        libnsl.so.1
ELF	73da1000-73da8000	Deferred        libasound_module_pcm_pulse.so
ELF	7532e000-7534f000	Deferred        imm32<elf>
  \-PE	75330000-7534f000	\               imm32
ELF	75e30000-75e9e000	Deferred        rpcrt4<elf>
  \-PE	75e40000-75e9e000	\               rpcrt4
ELF	75fb8000-75fbc000	Deferred        libdl.so.2
ELF	78ff6000-79142000	Deferred        user32<elf>
  \-PE	79010000-79142000	\               user32
ELF	794c9000-79592000	Deferred        comctl32<elf>
  \-PE	794d0000-79592000	\               comctl32
ELF	7b800000-7b96e000	Deferred        kernel32<elf>
  \-PE	7b820000-7b96e000	\               kernel32
ELF	7ba91000-7bb00000	Deferred        msvcrt<elf>
  \-PE	7baa0000-7bb00000	\               msvcrt
ELF	7bc00000-7bcb1000	Deferred        ntdll<elf>
  \-PE	7bc10000-7bcb1000	\               ntdll
ELF	7bf00000-7bf04000	Deferred        <wine-loader>
ELF	7c27b000-7c2b2000	Deferred        winealsa<elf>
  \-PE	7c280000-7c2b2000	\               winealsa
PE	7c340000-7c396000	Deferred        msvcr71
PE	7c3a0000-7c41b000	Deferred        msvcp71
ELF	7d802000-7d852000	Deferred        libflac.so.8
Threads:
process  tid      prio (all id:s are in hex)
00000008 (D) Z:\home\frej\Games\civ4\Beyond the Sword\Civ4BeyondSword.exe
	00000014   15
	00000012    0
	00000017    0
	00000047    0
	00000046   15
	00000045   15
	00000043    0
	00000009    0 <==
0000000e 
	0000002b    0
	00000024    0
	0000001d    0
	00000010    0
	0000000f    0
0000001a 
	00000023    0
	00000021    0
	0000001e    0
	0000001c    0
	0000001b    0
0000001f 
	00000027    0
	00000026    0
	00000022    0
	00000020    0
00000028 
	0000002c    0
	0000002a    0
	00000029    0
0000002d 
	0000002e    0
Backtrace:
=>0 0x68000832 GLIBC_2+0x832() in ld-linux.so.2 (0x0032ed44)
  1 0x681a2932 abort+0x182() [/build/buildd/eglibc-2.10.1/stdlib/abort.c:94] in libc.so.6 (0x0032ee6c)
  2 0x68198648 __assert_fail+0xf8(assertion="dma_bo->bo->cref == 1", file="radeon_dma.c", line=210, function=<register EDI not in topmost frame>) [/build/buildd/eglibc-2.10.1/assert/assert.c:56] in libc.so.6 (0x0032eeb4)
  3 0x69d14286 radeonRefillCurrentDmaRegion+0x1e6(rmesa=<register ESI not in topmost frame>, size=1512) [/build/buildd/mesa-7.6.0+git20090906.97787317/obj-i486-linux-gnu/dri/src/mesa/drivers/dri/r300/radeon_dma.c:193] in r300_dri.so (0x0032ef04)
  4 0x69d1444c radeonAllocDmaRegion+0xbc(rmesa=<register ESI not in topmost frame>, pbo=0x7ddd7e14, poffset=0x7ddd7e18, bytes=<register EDI not in topmost frame>, alignment=<is not available>) [/build/buildd/mesa-7.6.0+git20090906.97787317/obj-i486-linux-gnu/dri/src/mesa/drivers/dri/r300/radeon_dma.c:251] in r300_dri.so (0x0032ef44)
  5 0x69cf833b r300DrawPrims+0x112b(ctx=0x7da8c560, arrays=0x7e08ab10, prim=0x7e089504, nr_prims=1, ib=(nil), index_bounds_valid=1, min_index=0, max_index=125) [/build/buildd/mesa-7.6.0+git20090906.97787317/obj-i486-linux-gnu/dri/src/mesa/drivers/dri/r300/r300_draw.c:530] in r300_dri.so (0x0032f004)
  6 0x69db421c vbo_exec_vtx_flush+0x60c(exec=<register ESI not in topmost frame>, unmap=1) [/build/buildd/mesa-7.6.0+git20090906.97787317/obj-i486-linux-gnu/dri/src/mesa/vbo/vbo_exec_draw.c:389] in r300_dri.so (0x0032f094)
  7 0x69db048a vbo_exec_FlushVertices_internal+0x3a(ctx=0x7da8c560, unmap=<is not available>) [/build/buildd/mesa-7.6.0+git20090906.97787317/obj-i486-linux-gnu/dri/src/mesa/vbo/vbo_exec_api.c:756] in r300_dri.so (0x0032f0c4)
  8 0x69db0540 vbo_exec_FlushVertices+0x50(ctx=<register EDI not in topmost frame>, flags=1) [/build/buildd/mesa-7.6.0+git20090906.97787317/obj-i486-linux-gnu/dri/src/mesa/vbo/vbo_exec_api.c:785] in r300_dri.so (0x0032f0f4)
  9 0x69dd9b94 _mesa_BindProgram+0x1f4(target=<register EDI not in topmost frame>, id=7) [/build/buildd/mesa-7.6.0+git20090906.97787317/obj-i486-linux-gnu/dri/src/mesa/shader/arbprogram.c:134] in r300_dri.so (0x0032f134)
  10 0x690da3a9 in wined3d (+0xa3a9) (0x0032f304)
  11 0x690fe829 ActivateContext+0x589() in wined3d (0x0032f5e4)
  12 0x69137bf1 drawPrimitive+0xe1() in wined3d (0x0032f944)
  13 0x6910dcb3 in wined3d (+0x3dcb3) (0x0032f984)
  14 0x6901101a in d3d9 (+0x1101a) (0x0032f9b4)
Aborted (core dumped)
Comment 1 Frej Soya 2009-09-12 07:47:30 UTC
Too big (22mb) to be attached.
http://omploader.org/vMmMzZA/debug.7z

RADEOEN_DEBUG=all trace of crash. Sadly it takes quite a bit longer to reproduce so (likely because of slowness in rending when debugging is on) the file is ~2.9GB extracted. Before the assertion i always get one or more of:
bo(0xa10920a8, 65536) is mapped (-1) can't valide it.


Comment 2 Frej Soya 2009-09-12 07:54:56 UTC
Created attachment 29456 [details]
radeon_debug=all trace (last 10k lines)
Comment 3 Andreas Boll 2014-07-07 16:43:37 UTC
The classic r300 driver has been abandoned long ago.
It was replaced by the Gallium driver r300g.

If you have issues with r300g please file a new bug report with component Drivers/Gallium/r300

Thanks.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.