Bug 48899 - llvmpipe doesn't work with wine 1.5.2 and 3Dmark2001se
Summary: llvmpipe doesn't work with wine 1.5.2 and 3Dmark2001se
Status: RESOLVED DUPLICATE of bug 48351
Alias: None
Product: Mesa
Classification: Unclassified
Component: Other (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-18 17:17 UTC by Andrew Randrianasulu
Modified: 2012-04-21 16:04 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
glxinfo log (26.02 KB, text/plain)
2012-04-18 17:18 UTC, Andrew Randrianasulu
Details

Description Andrew Randrianasulu 2012-04-18 17:17:20 UTC
Hello. I was trying to debug some nouveau bugs with wine, and ran into few more bugs :/

First, using llvmpipe from mesa master tree up to commit 86f53e6d6bd07e2bc3ffcadeb9a4418fbae06e0b ("mesa: Use array object constructor.") and wine 1.5.2 self-compiled on Slackware-13.37  box i run into crash-on-startup. Not sure if it wine or llvmpipe bug, but backtrace point at functions inside swrast driver:

--------------
guest@slax:~/.wine/drive_c/Program Files/MadOnion.com/3DMark2001 SE$ LIBGL_ALWAYS_SOFTWARE=1 LD_PRELOAD=~/botva/src/src/apitrace/wrappers/glxtrace.so wine 3DMark2001SE.exe
err:winedevice:load_driver cannot open key L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\PciBus", err=0
err:winedevice:ServiceMain driver L"PciBus" failed to load
fixme:wbemprox:wbem_locator_ConnectServer 0x153970, L"\\\\.\\root\\cimv2", (null), (null), (null), 0x00000000, (null), (nil), 0x33f3cc)
apitrace: redirecting dlopen("libGL.so.1", 0x102)
apitrace: tracing to /home/guest/.wine/drive_c/Program Files/MadOnion.com/3DMark2001 SE/wine-preloader.trace
apitrace: redirecting dlopen("libGL.so.1", 0x102)
fixme:d3d_caps:wined3d_guess_card No card selector available for GL vendor 0x4 and card vendor 0000 (using GL_RENDERER "Gallium 0.4 on llvmpipe (LLVM 0x209)").
wine: Unhandled page fault on read access to 0xffffffff at address 0x7d9ca6a7 (thread 0009), starting debugger...
Unhandled exception: page fault on read access to 0xffffffff in 32-bit code (0x7d9ca6a7).
fixme:dbghelp_dwarf:compute_location Only supporting one reg (eax/17 -> -2)
fixme:dbghelp_dwarf:dwarf2_lookup_type Unable to load forward reference for tag 1f
fixme:dbghelp_dwarf:dwarf2_lookup_type Unable to load forward reference for tag 1f
fixme:dbghelp_dwarf:dwarf2_lookup_type Unable to load forward reference for tag 1f
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported constant (parameter) flags in function
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 9d
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 9d
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 9d
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 9d
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 9d
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 9d
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 9d
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 9d
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 9d
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 9d
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 9d
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 9d
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 9d
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 9d
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:7d9ca6a7 ESP:0033e648 EBP:0033e884 EFLAGS:00210202(  R- --  I   - - - )
 EAX:7c19f8dc EBX:00000038 ECX:7c286e54 EDX:7c2b3050
 ESI:0033e64c EDI:0033e648
Stack dump:
0x0033e648:  0000ffff 0033e6e8 7c286e50 74726576
0x0033e658:  00000004 65646165 00003372 00000000
0x0033e668:  00000000 7d943674 7c2b4968 7c2b4968
0x0033e678:  7c2b56e0 7ca77eea 019ca288 00007900
0x0033e688:  7d552a10 7c2b4258 7c27b914 7c28aa20
0x0033e698:  7cb2aff0 7c286e50 00000003 0033e6e8
Backtrace:
=>0 0x7d9ca6a7 (0x0033e884)
  1 0x7cb2aa88 llvm_pipeline_generic+0x167(middle=0x33e64c, fetch_info=<is not available>, prim_info=0x33e93c) [/home/guest/botva/src/src/mesa/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c:240] in swrast_dri.so (0x7c2862d8)
  2 0x7cb2acac llvm_middle_end_linear_run+0x6b(middle=0x7c28aa20, start=0, count=0x4, prim_flags=0) [/home/guest/botva/src/src/mesa/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c:358] in swrast_dri.so (0x00000005)
  3 0x7ca798ba vsplit_segment_simple_linear.isra+0x69() in swrast_dri.so (0x00000005)
  4 0x7ca79cce vsplit_run_linear+0x1fd(frontend=0x7c27b8f8, start=0, count=0x4) [/home/guest/botva/src/src/mesa/src/gallium/auxiliary/draw/draw_split_tmp.h:61] in swrast_dri.so (0x00000005)
  5 0x7ca747b1 draw_pt_arrays+0x150(draw=0x7c2862d8, prim=0x5, start=0, count=0x4) [/home/guest/botva/src/src/mesa/src/gallium/auxiliary/draw/draw_pt.c:142] in swrast_dri.so (0x00000004)
  6 0x7ca74bb5 draw_vbo+0x184(draw=0x7c2862d8, info=0x33eb58) [/home/guest/botva/src/src/mesa/src/gallium/auxiliary/draw/draw_pt.c:534] in swrast_dri.so (0x7c285990)
  7 0x7c88157b llvmpipe_draw_vbo+0xca(pipe=0x7c285990, info=0x33eb58) [/home/guest/botva/src/src/mesa/src/gallium/drivers/llvmpipe/lp_draw_arrays.c:85] in swrast_dri.so (0x7c285990)
  8 0x7c947eba st_draw_vbo+0x929(ctx=0x7c2361f8, arrays=0x7c2a5d40, prims=0x7c2a4628, nr_prims=0x2, ib=(nil), index_bounds_valid=1, min_index=0, max_index=0x7, tfb_vertcount=(nil)) [/home/guest/botva/src/src/mesa/src/mesa/state_tracker/st_draw.c:1126] in swrast_dri.so (0x7c2a4628)
  9 0x7ca242bc vbo_exec_vtx_flush+0x6fb(exec=0x7c2a4208, keepUnmapped=1) [/home/guest/botva/src/src/mesa/src/mesa/vbo/vbo_exec_draw.c:407] in swrast_dri.so (0x00000021)
  10 0x7ca17f37 vbo_exec_FlushVertices_internal+0x76() in swrast_dri.so (0x7c2380b0)
  11 0x7ca21098 vbo_exec_FlushVertices+0x77(ctx=0x7c2361f8, flags=0x1) [/home/guest/botva/src/src/mesa/src/mesa/vbo/vbo_exec_api.c:1194] in swrast_dri.so (0x7c2380b0)
  12 0x7c925d59 _mesa_BindTexture+0x368(target=0xde1, texName=0x7) [/home/guest/botva/src/src/mesa/src/mesa/main/texobj.c:1208] in swrast_dri.so (0x7c2380b0)
  13 0x7da82d4d shared_dispatch_stub_307+0x1c(target=0xde1, texture=0x7) [/home/guest/botva/src/src/mesa/src/mapi/shared-glapi/../../../src/mapi/shared-glapi/glapi_mapi_tmp.h:15030] in libglapi.so.0 (0x0033ed64)
  14 0xb74fbc06 _ZL15__glBindTexturejj+0x6b() in glxtrace.so (0x0033ed64)
  15 0xb7563b47 glBindTexture+0xd6() in glxtrace.so (0x0033ed94)
  16 0x7ebe8626 in wined3d (+0xd8625) (0x0033f204)
  17 0x7ebe99a0 in wined3d (+0xd999f) (0x0033f2b4)
  18 0x7eb6ca67 in wined3d (+0x5ca66) (0x0033f734)
  19 0x7eb70741 in wined3d (+0x60740) (0x0033f744)
  20 0x7ebf10e4 wined3d_create+0x43() in wined3d (0x0033f774)
  21 0x7ec509a8 in ddraw (+0x109a7) (0x0033f7c4)
  22 0x7ec5faff in ddraw (+0x1fafe) (0x0033f804)
  23 0x7ec60242 DirectDrawCreate+0x41() in ddraw (0x0033f844)
0x7d9ca6a7: ???
Modules:
Module  Address                 Debug info      Name (115 modules)
PE        340000-  3af000       Deferred        e2mfc
PE        3b0000-  3d1000       Deferred        grphmfc
PE        3e0000-  3f8000       Deferred        sndmfc
PE        400000-  84c000       Export          3dmark2001se
PE        850000-  870000       Deferred        inetmfc
PE        870000-  880000       Deferred        si2guimfc
PE      10000000-10065000       Deferred        rlmfc
PE      5f400000-5f4f2000       Deferred        mfc42
PE      780a0000-780b2000       Deferred        msvcirt
PE      780c0000-78121000       Deferred        msvcp60
ELF     7bf00000-7bf03000       Deferred        <wine-loader>
ELF     7c2e6000-7c400000       Deferred        libglsl.so
ELF     7c46b000-7c6fd000       Deferred        libdricore.so
ELF     7c6fd000-7d86f000       Dwarf           swrast_dri.so
ELF     7da4a000-7da53000       Deferred        librt.so.1
ELF     7da53000-7da5d000       Deferred        libdrm.so.2
ELF     7da5d000-7da6f000       Deferred        libxcb-glx.so.0
ELF     7da6f000-7dac1000       Dwarf           libglapi.so.0
ELF     7dae9000-7db49000       Deferred        libgl.so.1
ELF     7db49000-7db5e000       Deferred        wbemprox<elf>
  \-PE  7db50000-7db5e000       \               wbemprox
ELF     7db5e000-7db78000       Deferred        spoolss<elf>
  \-PE  7db60000-7db78000       \               spoolss
ELF     7db78000-7dbaa000       Deferred        libcrypt.so.1
ELF     7dbaa000-7dcf0000       Deferred        libcrypto.so.0
ELF     7dcf0000-7dd39000       Deferred        libssl.so.0
ELF     7dd39000-7dd75000       Deferred        libcups.so.2
ELF     7dd7d000-7dd9d000       Deferred        localspl<elf>
  \-PE  7dd80000-7dd9d000       \               localspl
ELF     7dd9d000-7ddcf000       Deferred        uxtheme<elf>
  \-PE  7dda0000-7ddcf000       \               uxtheme
ELF     7de3e000-7de5e000       Deferred        libexpat.so.1
ELF     7de5e000-7de8c000       Deferred        libfontconfig.so.1
ELF     7de8e000-7de93000       Deferred        libtxc_dxtn.so
ELF     7de93000-7de95000       Deferred        libx11-xcb.so.1
ELF     7de97000-7dea0000       Deferred        libxcursor.so.1
ELF     7deb4000-7ded4000       Deferred        imm32<elf>
  \-PE  7dec0000-7ded4000       \               imm32
ELF     7ded4000-7dee3000       Deferred        libxext.so.6
ELF     7dee3000-7defa000       Deferred        libice.so.6
ELF     7defa000-7df03000       Deferred        libsm.so.6
ELF     7df03000-7df90000       Deferred        winex11<elf>
  \-PE  7df10000-7df90000       \               winex11
ELF     7df90000-7dfa1000       Deferred        libbz2.so.1
ELF     7dfa1000-7dfb5000       Deferred        libz.so.1
ELF     7dfb5000-7e02f000       Deferred        libfreetype.so.6
ELF     7e02f000-7e071000       Deferred        libncurses.so.5
ELF     7e071000-7e074000       Deferred        libxdamage.so.1
ELF     7e074000-7e083000       Deferred        libxi.so.6
ELF     7e083000-7e088000       Deferred        libxfixes.so.3
ELF     7e088000-7e090000       Deferred        libxrandr.so.2
ELF     7e090000-7e099000       Deferred        libxrender.so.1
ELF     7e099000-7e0b1000       Deferred        cfgmgr32<elf>
  \-PE  7e0a0000-7e0b1000       \               cfgmgr32
ELF     7e0b1000-7e0e7000       Deferred        winspool<elf>
  \-PE  7e0c0000-7e0e7000       \               winspool
ELF     7e0e7000-7e14b000       Deferred        setupapi<elf>
  \-PE  7e0f0000-7e14b000       \               setupapi
ELF     7e14b000-7e234000       Deferred        oleaut32<elf>
  \-PE  7e160000-7e234000       \               oleaut32
ELF     7e234000-7e31e000       Deferred        comctl32<elf>
  \-PE  7e240000-7e31e000       \               comctl32
ELF     7e31e000-7e384000       Deferred        shlwapi<elf>
  \-PE  7e330000-7e384000       \               shlwapi
ELF     7e384000-7e588000       Deferred        shell32<elf>
  \-PE  7e390000-7e588000       \               shell32
ELF     7e588000-7e5c8000       Deferred        dsound<elf>
  \-PE  7e590000-7e5c8000       \               dsound
ELF     7e5c8000-7e655000       Deferred        msvcrt<elf>
  \-PE  7e5e0000-7e655000       \               msvcrt
ELF     7e655000-7e67b000       Deferred        msacm32<elf>
  \-PE  7e660000-7e67b000       \               msacm32
ELF     7e67b000-7e6ef000       Deferred        rpcrt4<elf>
  \-PE  7e690000-7e6ef000       \               rpcrt4
ELF     7e6ef000-7e7e6000       Deferred        ole32<elf>
  \-PE  7e710000-7e7e6000       \               ole32
ELF     7e7e6000-7e890000       Deferred        winmm<elf>
  \-PE  7e7f0000-7e890000       \               winmm
ELF     7e8bb000-7e917000       Deferred        advapi32<elf>
  \-PE  7e8d0000-7e917000       \               advapi32
ELF     7e917000-7e9d5000       Deferred        gdi32<elf>
  \-PE  7e920000-7e9d5000       \               gdi32
ELF     7e9d5000-7eb06000       Deferred        user32<elf>
  \-PE  7e9f0000-7eb06000       \               user32
ELF     7eb06000-7ec30000       Dwarf           wined3d<elf>
  \-PE  7eb10000-7ec30000       \               wined3d
ELF     7ec30000-7ec90000       Dwarf           ddraw<elf>
  \-PE  7ec40000-7ec90000       \               ddraw
ELF     7ecc7000-7eee9000       Deferred        kernel32<elf>
  \-PE  7ece0000-7eee9000       \               kernel32
ELF     7eee9000-7eef5000       Deferred        libnss_files.so.2
ELF     7eef5000-7ef0e000       Deferred        libnsl.so.1
ELF     7ef0e000-7ef17000       Deferred        libnss_compat.so.2
ELF     7ef18000-7ef1b000       Deferred        libxcomposite.so.1
ELF     7ef1b000-7ef20000       Deferred        libxxf86vm.so.1
ELF     7ef20000-7ef23000       Deferred        libxinerama.so.1
ELF     7ef23000-7ef27000       Deferred        cp1251.so
ELF     7ef27000-7ef3f000       Deferred        version<elf>
  \-PE  7ef30000-7ef3f000       \               version
ELF     7ef3f000-7f000000       Deferred        ntdll<elf>
  \-PE  7ef50000-7f000000       \               ntdll
ELF     b6d14000-b6d1f000       Deferred        libnss_nis.so.2
ELF     b6f4e000-b6f53000       Deferred        libxdmcp.so.6
ELF     b6f53000-b6f56000       Deferred        libxau.so.6
ELF     b6f56000-b6f6f000       Deferred        libxcb.so.1
ELF     b6f70000-b6f8c000       Deferred        libgcc_s.so.1
ELF     b6f8c000-b6fb2000       Deferred        libm.so.6
ELF     b709b000-b709f000       Deferred        libdl.so.2
ELF     b709f000-b71c2000       Deferred        libx11.so.6
ELF     b71c3000-b7326000       Deferred        libc.so.6
ELF     b7326000-b733f000       Deferred        libpthread.so.0
ELF     b7367000-b74a9000       Dwarf           libwine.so.1
ELF     b74a9000-b76e6000       Dwarf           glxtrace.so
ELF     b76e7000-b7706000       Deferred        ld-linux.so.2
ELF     ffffe000-fffff000       Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
00000008 (D) C:\Program Files\MadOnion.com\3DMark2001 SE\3DMark2001SE.exe
        00000009    0 <==
0000000e services.exe
        0000002a    0
        0000001f    0
        00000019    0
        00000018    0
        00000017    0
        00000015    0
        00000010    0
        0000000f    0
00000012 winedevice.exe
        0000001d    0
        0000001a    0
        00000014    0
        00000013    0
0000001b plugplay.exe
        00000021    0
        0000001e    0
        0000001c    0
00000022 explorer.exe
        00000023    0
guest@slax:~/.wine/drive_c/Program Files/MadOnion.com/3DMark2001 SE$

as you can see, i tried  to use apitrace from git (master up to commit b61d72b0519bdac0af9490c4206195bc89ac6b0a), but both manual and normal usage as described in readme only gives me 0-sized file :(

I run into similar, but with different backtrace crash with 3dMark2000, too.

They both start  with "nv30" hardware gallium driver (on nv43 AGP card).
Comment 1 Andrew Randrianasulu 2012-04-18 17:18:08 UTC
Created attachment 60288 [details]
glxinfo log
Comment 2 Andrew Randrianasulu 2012-04-18 17:19:42 UTC
Mesa's compilation line was:

make distclean && ./autogen.sh --prefix=/usr/X11R7 --disable-egl --enable-gallium-llvm --with-gallium-drivers="i915 nouveau r600 r300 swrast" --enable-texture-float --with-dri-drivers="i965 r200 radeon nouveau" --enable-shared-glapi --enable-gallium-g3dvl --enable-vdpau --enable-debug
Comment 3 Jose Fonseca 2012-04-20 01:11:40 UTC
Apitrace has a segfault handle to flush when segfaults happen, but probably that segfault handler is being overriden by wine.

I suggest you use softpipe when tracing by setting

  export GALLIUM_DRIVER=softpipe

and if it is a llvmpipe specific bug then that should allow to trace beyond the point of failure, and that trace will hopefully reproduce the crash when replayed with llvmpipe.
Comment 4 Johannes Obermayr 2012-04-21 16:04:48 UTC

*** This bug has been marked as a duplicate of bug 48351 ***


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.