iXit / Mesa-3D

Please use official https://gitlab.freedesktop.org/mesa/mesa/ !
https://github.com/iXit/Mesa-3D/wiki
66 stars 13 forks source link

Need for Speed Underground 2 crashes on start #128

Open karolherbst opened 9 years ago

karolherbst commented 9 years ago

it crashes on start an no interesting console output

Unhandled exception: page fault on read access to 0xffffffff in 32-bit code (0x7d218d80).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7d218d80 ESP:0033e31c EBP:0033e3b4 EFLAGS:00010202(  R- --  I   - - - )
 EAX:0033e36c EBX:7d4b1000 ECX:7ada612c EDX:0033e37c
 ESI:7ada3670 EDI:7ada5ac8
Stack dump:
0x0033e31c:  0033e45c 00000001 00000077 00075002
0x0033e32c:  98c86200 00000002 000003e8 7cfe0c49
0x0033e33c:  7d4b1000 0033ec94 00000001 0033e498
0x0033e34c:  7cfe3374 ffffffff 7ada612c 7ada5f40
0x0033e35c:  7ada6138 7ada5ac8 7ada5acc 0033e45c
0x0033e36c:  f77edd4c 00000000 00000000 00000000
000c: sel=0067 base=00000000 limit=00000000 16-bit r-x
Backtrace:
=>0 0x7d218d80 _ZNSt5dequeIN7nv50_ir8ValueDefESaIS1_EE14_M_fill_insertESt15_Deque_iteratorIS1_RS1_PS1_EjRKS1_+0x2a0() in d3dadapter9.so.1 (0x0033e3b4)
  1 0x7d2191be _ZNSt5dequeIN7nv50_ir8ValueDefESaIS1_EE6resizeEjS1_+0x26d() in d3dadapter9.so.1 (0x7ada5ce0)
  2 0x7d2120c1 _ZN7nv50_ir11Instruction6setDefEiPNS_5ValueE+0x90() in d3dadapter9.so.1 (0x0033e484)
  3 0x7d21e623 _ZN7nv50_ir9BuildUtil6mkLoadENS_8DataTypeEPNS_5ValueEPNS_6SymbolES3_+0x52() in d3dadapter9.so.1 (0x7ad97f28)
  4 0x7d23138e _ZN12_GLOBAL__N_19Converter8fetchSrcEN4tgsi11Instruction11SrcRegisterEiPN7nv50_ir5ValueE+0x38d() in d3dadapter9.so.1 (0x7ada0b30)
  5 0x7d232995 _ZN12_GLOBAL__N_19Converter8fetchSrcEii.constprop+0xa4() in d3dadapter9.so.1 (0x0033e744)
  6 0x7d232e69 _ZN12_GLOBAL__N_19Converter8buildDotEi+0x28() in d3dadapter9.so.1 (0x0033f664)
  7 0x7d23a908 _ZN7nv50_ir7Program12makeFromTGSIEP17nv50_ir_prog_info+0x2727() in d3dadapter9.so.1 (0x0033f664)
  8 0x7d21060d nv50_ir_generate_code+0xdc() in d3dadapter9.so.1 (0x0033f6a4)
  9 0x7d2d5493 nvc0_program_translate+0xf2() in d3dadapter9.so.1 (0x7d741998)
  10 0x7d2e0b5f nvc0_vertprog_validate+0x1de() in d3dadapter9.so.1 (0x7d741998)
  11 0x7d2e91c6 nvc0_state_validate+0x195() in d3dadapter9.so.1 (0x7de25438)
  12 0x7d2f4452 nvc0_draw_vbo+0xc1() in d3dadapter9.so.1 (0xffffffff)
  13 0x7d128c24 NineDevice9_DrawPrimitiveUP+0x1a3() in d3dadapter9.so.1 (0x7de232e8)
  14 0x005c54fe in speed2 (+0x1c54fd) (0x0033f98c)
  15 0x0050b783 in speed2 (+0x10b782) (0x0033fc0c)
  16 0x00537918 in speed2 (+0x137917) (0x0033fd18)
  17 0x005d2b65 in speed2 (+0x1d2b64) (0x0033fe30)
  18 0x7b85e7ec call_process_entry+0xb() in kernel32 (0x0033fe48)
  19 0x7b85fac8 in kernel32 (+0x4fac7) (0x0033fe88)
  20 0x7bc81200 call_thread_func_wrapper+0xb() in ntdll (0x0033fea8)
  21 0x7bc841df call_thread_func+0xce() in ntdll (0x0033ff98)
  22 0x7bc811de RtlRaiseException+0x21() in ntdll (0x0033ffb8)
  23 0x7bc58956 in ntdll (+0x48955) (0x0033ffe8)
  24 0xf761a4cd wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
  25 0xf761a5e0 wine_switch_to_stack+0x1f() in libwine.so.1 (0xfff548d8)
  26 0x7bc5c332 LdrInitializeThunk+0x231() in ntdll (0xfff54938)
  27 0x7b865cf2 __wine_kernel_init+0x871() in kernel32 (0xfff55aa8)
  28 0x7bc5d233 __wine_process_init+0x162() in ntdll (0xfff55b28)
  29 0xf7618153 wine_init+0x2d2() in libwine.so.1 (0xfff55b88)
  30 0x7bf00f22 main+0x81() in <wine-loader> (0xfff55fe8)
  31 0xf740b65e __libc_start_main+0xdd() in libc.so.6 (0x00000000)
0x7d218d80 _ZNSt5dequeIN7nv50_ir8ValueDefESaIS1_EE14_M_fill_insertESt15_Deque_iteratorIS1_RS1_PS1_EjRKS1_+0x2a0 in d3dadapter9.so.1: ldsl   %eax,%edi
Modules:
Module  Address         Debug info  Name (140 modules)
PE    400000-  932000   Export          speed2
ELF 41fc2000-41fcb000   Deferred        librt.so.1
ELF 421b0000-421c7000   Deferred        libresolv.so.2
ELF 42b6d000-42b8c000   Deferred        libice.so.6
ELF 49de5000-49e2b000   Deferred        libdbus-1.so.3
ELF 4fbf0000-4fbf7000   Deferred        libuuid.so.1
ELF 4fbf9000-4fc03000   Deferred        libsm.so.6
ELF 790e5000-7a800000   Deferred        libllvm-3.6.so
ELF 7a800000-7a930000   Deferred        opengl32<elf>
  \-PE  7a820000-7a930000   \               opengl32
ELF 7b800000-7b924000   Dwarf           kernel32<elf>
  \-PE  7b810000-7b924000   \               kernel32
ELF 7ba8e000-7bb20000   Deferred        libvorbisenc.so.2
ELF 7bb20000-7bc00000   Deferred        libgcrypt.so.20
ELF 7bc00000-7bcf2000   Dwarf           ntdll<elf>
  \-PE  7bc10000-7bcf2000   \               ntdll
ELF 7bd2c000-7bd68000   Deferred        libvorbis.so.0
ELF 7bd68000-7bdc1000   Deferred        libflac.so.8
ELF 7bdc1000-7be47000   Deferred        libsndfile.so.1
ELF 7be47000-7bf00000   Deferred        libsystemd.so.0
ELF 7bf00000-7bf04000   Dwarf           <wine-loader>
ELF 7bf2a000-7bf33000   Deferred        libogg.so.0
ELF 7bf33000-7bf6e000   Deferred        liblzma.so.5
ELF 7bf6e000-7bffc000   Deferred        libpulsecommon-6.0.so
ELF 7bffc000-7c05a000   Deferred        libpulse.so.0
ELF 7c05a000-7c190000   Deferred        oleaut32<elf>
  \-PE  7c070000-7c190000   \               oleaut32
ELF 7c190000-7c27f000   Deferred        comctl32<elf>
  \-PE  7c1a0000-7c27f000   \               comctl32
ELF 7c404000-7c41e000   Deferred        libgpg-error.so.0
ELF 7c41e000-7c42e000   Deferred        liblz4.so.1
ELF 7c42e000-7c434000   Deferred        libasyncns.so.0
ELF 7c434000-7c440000   Deferred        libwrap.so.0
ELF 7c48c000-7c4b6000   Deferred        winepulse<elf>
  \-PE  7c490000-7c4b6000   \               winepulse
ELF 7c4b6000-7c4ee000   Deferred        uxtheme<elf>
  \-PE  7c4c0000-7c4ee000   \               uxtheme
ELF 7cf6f000-7d500000   Dwarf           d3dadapter9.so.1
ELF 7d601000-7d60e000   Deferred        libjson-c.so.2
ELF 7d60e000-7d651000   Deferred        dinput<elf>
  \-PE  7d620000-7d651000   \               dinput
ELF 7d651000-7d658000   Deferred        libcap.so.2
ELF 7d658000-7d683000   Deferred        libudev.so.1
ELF 7d683000-7d68c000   Deferred        libdrm_nouveau.so.2
ELF 7d68c000-7d694000   Deferred        libxtst.so.6
ELF 7d694000-7d6b8000   Deferred        mmdevapi<elf>
  \-PE  7d6a0000-7d6b8000   \               mmdevapi
ELF 7d7d8000-7d7de000   Deferred        libtxc_dxtn.so
ELF 7d7de000-7d7eb000   Deferred        libxcursor.so.1
ELF 7d7eb000-7d801000   Deferred        libxi.so.6
ELF 7d801000-7d805000   Deferred        libxcomposite.so.1
ELF 7d805000-7d814000   Deferred        libxrandr.so.2
ELF 7d814000-7d820000   Deferred        libxrender.so.1
ELF 7d820000-7d83c000   Deferred        libgcc_s.so.1
ELF 7d83c000-7d845000   Deferred        libffi.so.6
ELF 7d845000-7d84c000   Deferred        libxdmcp.so.6
ELF 7d84c000-7d851000   Deferred        libxau.so.6
ELF 7d851000-7d859000   Deferred        libxxf86vm.so.1
ELF 7d859000-7d85c000   Deferred        libxshmfence.so.1
ELF 7d85c000-7d863000   Deferred        libxcb-sync.so.1
ELF 7d863000-7d872000   Deferred        libxcb-randr.so.0
ELF 7d872000-7d88b000   Deferred        libxcb-glx.so.0
ELF 7d88b000-7d892000   Deferred        libxfixes.so.3
ELF 7d892000-7d896000   Deferred        libxdamage.so.1
ELF 7d896000-7d8d7000   Deferred        libglapi.so.0
ELF 7d8d7000-7d8e8000   Deferred        libdrm.so.2
ELF 7d8e8000-7d8f9000   Deferred        libwayland-server.so.0
ELF 7d8f9000-7d906000   Deferred        libwayland-client.so.0
ELF 7d906000-7d918000   Deferred        libgbm.so.1
ELF 7d918000-7d91c000   Deferred        libxcb-shape.so.0
ELF 7d91c000-7d926000   Deferred        libxcb-render.so.0
ELF 7d926000-7d92c000   Deferred        libxcb-dri2.so.0
ELF 7d92c000-7d934000   Deferred        libxcb-xfixes.so.0
ELF 7d934000-7d937000   Deferred        libx11-xcb.so.1
ELF 7d937000-7d93b000   Deferred        libxcb-present.so.0
ELF 7d93b000-7d960000   Deferred        libxcb.so.1
ELF 7d960000-7da1a000   Deferred        libgl.so.1
ELF 7da1a000-7da4f000   Deferred        libegl.so.1
ELF 7da4f000-7dbb2000   Deferred        libx11.so.6
ELF 7dbb2000-7dbc8000   Deferred        libxext.so.6
ELF 7dc14000-7dcac000   Deferred        winex11<elf>
  \-PE  7dc20000-7dcac000   \               winex11
ELF 7dcac000-7dcd0000   Deferred        imm32<elf>
  \-PE  7dcb0000-7dcd0000   \               imm32
ELF 7ded9000-7df0b000   Deferred        libexpat.so.1
ELF 7df0b000-7df5f000   Deferred        libfontconfig.so.1
ELF 7df5f000-7dfaa000   Deferred        libpng16.so.16
ELF 7dfaa000-7dfbf000   Deferred        libbz2.so.1
ELF 7dfbf000-7dfdc000   Deferred        libz.so.1
ELF 7dfdc000-7e0c9000   Deferred        libfreetype.so.6
ELF 7e0ca000-7e0ce000   Deferred        libxcb-dri3.so.0
ELF 7e115000-7e157000   Deferred        d3d9<elf>
  \-PE  7e120000-7e157000   \               d3d9
ELF 7e157000-7e1a8000   Deferred        winmm<elf>
  \-PE  7e160000-7e1a8000   \               winmm
ELF 7e1a8000-7e1cb000   Deferred        tapi32<elf>
  \-PE  7e1b0000-7e1cb000   \               tapi32
ELF 7e1cb000-7e23f000   Deferred        shlwapi<elf>
  \-PE  7e1e0000-7e23f000   \               shlwapi
ELF 7e23f000-7e481000   Deferred        shell32<elf>
  \-PE  7e250000-7e481000   \               shell32
ELF 7e481000-7e4bc000   Deferred        ws2_32<elf>
  \-PE  7e490000-7e4bc000   \               ws2_32
ELF 7e4bc000-7e4e5000   Deferred        iphlpapi<elf>
  \-PE  7e4c0000-7e4e5000   \               iphlpapi
ELF 7e4e5000-7e512000   Deferred        netapi32<elf>
  \-PE  7e4f0000-7e512000   \               netapi32
ELF 7e512000-7e561000   Deferred        dsound<elf>
  \-PE  7e520000-7e561000   \               dsound
ELF 7e561000-7e5e0000   Deferred        rpcrt4<elf>
  \-PE  7e570000-7e5e0000   \               rpcrt4
ELF 7e5e0000-7e713000   Deferred        ole32<elf>
  \-PE  7e600000-7e713000   \               ole32
ELF 7e713000-7e88d000   Deferred        user32<elf>
  \-PE  7e730000-7e88d000   \               user32
ELF 7e88d000-7e99d000   Deferred        gdi32<elf>
  \-PE  7e8a0000-7e99d000   \               gdi32
ELF 7e99d000-7eae6000   Deferred        wined3d-csmt<elf>
  \-PE  7e9b0000-7e9b4000   \               wined3d
ELF 7eae6000-7eb5a000   Deferred        ddraw<elf>
  \-PE  7eaf0000-7eb5a000   \               ddraw
ELF 7eb5a000-7ebd1000   Deferred        advapi32<elf>
  \-PE  7eb70000-7ebd1000   \               advapi32
ELF 7ef41000-7ef4f000   Deferred        libnss_files.so.2
ELF 7ef4f000-7ef69000   Deferred        libnsl.so.1
ELF 7ef69000-7efb4000   Deferred        libm.so.6
ELF 7efb6000-7efca000   Deferred        shfolder<elf>
  \-PE  7efc0000-7efca000   \               shfolder
ELF 7efca000-7efe6000   Deferred        dinput8<elf>
  \-PE  7efd0000-7efe6000   \               dinput8
ELF 7efe6000-7f000000   Deferred        version<elf>
  \-PE  7eff0000-7f000000   \               version
ELF f73ed000-f73f2000   Deferred        libdl.so.2
ELF f73f3000-f75a6000   Dwarf           libc.so.6
ELF f75a6000-f75c2000   Deferred        libpthread.so.0
ELF f75c3000-f75d0000   Deferred        libnss_nis.so.2
ELF f7605000-f760e000   Deferred        libnss_compat.so.2
ELF f760e000-f77d5000   Dwarf           libwine.so.1
ELF f77d6000-f77f9000   Deferred        ld-linux.so.2
ELF f77fb000-f77fc000   Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
00000008 (D) C:\Program Files (x86)\EA GAMES\Need for Speed Underground 2\SPEED2.EXE
    0000003d    1
    0000003c   15
    0000003b   15
    00000039   15
    00000038    0
    00000037    1
    00000036    1
    00000035   15
    00000034    2
    00000009    0 <==
0000000e services.exe
    00000031    0
    00000030    0
    00000023    0
    0000001c    0
    00000010    0
    0000000f    0
00000014 explorer.exe
    00000019    0
    00000018    0
    00000017    0
    00000016    0
    00000015    0
00000021 winedevice.exe
    00000029    0
    00000026    0
    00000025    0
    00000022    0
0000002e plugplay.exe
    00000033    0
    00000032    0
    0000002f    0
System information:
    Wine build: wine-1.7.45 (Staging)
    Platform: i386 (WOW64)
    Host system: Linux
    Host version: 4.1.5-gentoo
axeldavy commented 9 years ago

can you give the log with NINE_DEBUG=all ? (you need mesa compiled with debug info to see an output)

karolherbst commented 9 years ago

http://www.filebin.ca/2Ci7IGX5jFhB/d3d_output.log.xz

its rather long

axeldavy commented 9 years ago

Do you have other gallium nine games that work for you ?

karolherbst commented 9 years ago

Tropico 4 works

axeldavy commented 9 years ago

Can you tell if you get better performance/stability if you force prefer_user_constbuf to TRUE ? Performance can be seen with GALLIUM_HUD=fps, and you can force off vsync with vblank_mode=0

See src/gallium/state_tracker/nine/device9.c NineDevice9_ctor there is a if (strstr(pScreen->get_name(pScreen), "AMD") || strstr(pScreen->get_name(pScreen), "ATI")) { This->prefer_user_constbuf = TRUE; This->driver_bugs.buggy_barycentrics = TRUE; }

try set This->prefer_user_constbuf = TRUE; for you too and report

karolherbst commented 9 years ago

what does it have to do with the crash?

axeldavy commented 9 years ago

it could be linked, or it could not be. Anyway since next Mesa freeze is soon, we'd like to get more feedback from nouveau users for prefer_user_constbuf, so we can decide if we want to turn it on by default for nouveau or not.

karolherbst commented 9 years ago

no, it doesn't change the fact that the game crashes

axeldavy commented 9 years ago

There is another nouveau user for which it doesn't crash. Perhaps is it gcc bug (gcc 5.0 and 5.1 have issues. 5.2 seems ok) ? As for prefer_user_constbuf did you notice difference for other games ? (btw make sure you did recompile the right version: 32 bits vs 64 bits)

okias commented 8 years ago

@karolherbst Can you retest with current git? Also would be nice to write your kernel, mesa, xorg-server and card your running on.

karolherbst commented 8 years ago

@okias now it crashes before loading after loading a save game, will try to get a usefull stack trace