Bug 86792

Summary: [NVC0] Portal 2 Crashes in Wine
Product: Mesa Reporter: Anonymous Helper <anonymous>
Component: Drivers/DRI/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: =>0 0xf61ee384 in nouveau_dri.so (+0x23c384) (0x7de0bab8)
mesa-10.5.4 and latest wine

Description Anonymous Helper 2014-11-27 16:37:45 UTC
Created attachment 110131 [details]
=>0 0xf61ee384 in nouveau_dri.so (+0x23c384) (0x7de0bab8)

I was told to file a bug here by Wine HQ as an upstream bug. 
Any  Portal2 level that contains several moving objects crashes. 
Unfortunately there is no output in dmesg of this crash, only in Wine. 

Here is my dmesg, and attached is the wine crash.
...............
user@user-desktop:~/.wine/drive_c/Program Files (x86)/Games/Portal 2$ dmesg | grep nouveau
[    1.900701] nouveau  [  DEVICE][0000:02:00.0] BOOT0  : 0x0c0200a3
[    1.900703] nouveau  [  DEVICE][0000:02:00.0] Chipset: GF100 (NVC0)
[    1.900705] nouveau  [  DEVICE][0000:02:00.0] Family : NVC0
[    1.902346] nouveau  [   VBIOS][0000:02:00.0] checking PRAMIN for image...
[    2.000141] nouveau  [   VBIOS][0000:02:00.0] ... appears to be valid
[    2.000144] nouveau  [   VBIOS][0000:02:00.0] using image from PRAMIN
[    2.000232] nouveau  [   VBIOS][0000:02:00.0] BIT signature found
[    2.000234] nouveau  [   VBIOS][0000:02:00.0] version 70.00.21.00.04
[    2.022479] nouveau 0000:02:00.0: irq 44 for MSI/MSI-X
[    2.022488] nouveau  [     PMC][0000:02:00.0] MSI interrupts enabled
[    2.022564] nouveau  [     PFB][0000:02:00.0] RAM type: GDDR5
[    2.022567] nouveau  [     PFB][0000:02:00.0] RAM size: 1024 MiB
[    2.022569] nouveau  [     PFB][0000:02:00.0]    ZCOMP: 0 tags
[    2.031537] nouveau  [    VOLT][0000:02:00.0] GPU voltage: 875000uv
[    2.056695] nouveau  [  PTHERM][0000:02:00.0] FAN control: none / external
[    2.056700] nouveau  [  PTHERM][0000:02:00.0] fan management: automatic
[    2.056703] nouveau  [  PTHERM][0000:02:00.0] internal sensor: yes
[    2.056724] nouveau  [     CLK][0000:02:00.0] 03: core 50 MHz memory 135 MHz 
[    2.056726] nouveau  [     CLK][0000:02:00.0] 07: core 405 MHz memory 324 MHz 
[    2.056729] nouveau  [     CLK][0000:02:00.0] 0c: core 405 MHz memory 1603 MHz 
[    2.056731] nouveau  [     CLK][0000:02:00.0] 0f: core 607 MHz memory 1603 MHz 
[    2.056805] nouveau  [     CLK][0000:02:00.0] --: core 50 MHz memory 135 MHz 
[    2.067505] nouveau  [     DRM] VRAM: 1024 MiB
[    2.067507] nouveau  [     DRM] GART: 1048576 MiB
[    2.067511] nouveau  [     DRM] TMDS table version 2.0
[    2.067513] nouveau  [     DRM] DCB version 4.0
[    2.067516] nouveau  [     DRM] DCB outp 00: 02000300 00000000
[    2.067519] nouveau  [     DRM] DCB outp 01: 01000302 00020030
[    2.067521] nouveau  [     DRM] DCB outp 02: 04011380 00000000
[    2.067524] nouveau  [     DRM] DCB outp 03: 08011382 00020030
[    2.067526] nouveau  [     DRM] DCB outp 04: 02022362 00020010
[    2.067528] nouveau  [     DRM] DCB conn 00: 00001030
[    2.067531] nouveau  [     DRM] DCB conn 01: 00010130
[    2.067534] nouveau  [     DRM] DCB conn 02: 00002261
[    2.084736] nouveau  [     DRM] MM: using COPY1 for buffer copies
[    2.281264] nouveau  [     DRM] allocated 1440x900 fb: 0x60000, bo ffff8801a1214400
[    2.281462] fbcon: nouveaufb (fb0) is primary device
[    2.342390] nouveau 0000:02:00.0: fb0: nouveaufb frame buffer device
[    2.342392] nouveau 0000:02:00.0: registered panic notifier
[    2.342396] [drm] Initialized nouveau 1.1.2 20120801 for 0000:02:00.0 on minor 0
Comment 1 Tobias Klausmann 2014-11-27 16:52:16 UTC
Can you reproduce the crash while using native steam client and portal2?
Comment 2 Ilia Mirkin 2014-11-27 19:03:40 UTC
While I'm sure you're hitting a real bug in nouveau, I can't debug it with the information provided.

First, what mesa version are you using? Secondly, please arrange to have debug symbols so that the backtrace can have symbols associated with it.

[I'd ignore the suggestion re trying native, I don't see what that has to do with the issue at hand, which is a bug in nouveau triggered by wine.]
Comment 3 Anonymous Helper 2015-05-09 18:45:20 UTC
Created attachment 115660 [details]
mesa-10.5.4 and latest wine

(In reply to Ilia Mirkin from comment #2)
> While I'm sure you're hitting a real bug in nouveau, I can't debug it with
> the information provided.
> 
> First, what mesa version are you using? Secondly, please arrange to have
> debug symbols so that the backtrace can have symbols associated with it.
> 
> [I'd ignore the suggestion re trying native, I don't see what that has to do
> with the issue at hand, which is a bug in nouveau triggered by wine.]

I'm running mesa-10.5.4 from Arch. I modified the PKGBUILD CFLAGS to include -DDEBUG settings and also pacman.conf to include debug flags. Still doesn't appear to be a useful report. Bug is easily reproducible on the first level of portal by looking at the portal from inside the first test chamber. Crashes nearly instantly.
Comment 4 Ilia Mirkin 2015-05-09 19:22:19 UTC
(In reply to Anonymous Helper from comment #3)
> Created attachment 115660 [details]
> mesa-10.5.4 and latest wine
> 
> (In reply to Ilia Mirkin from comment #2)
> > While I'm sure you're hitting a real bug in nouveau, I can't debug it with
> > the information provided.
> > 
> > First, what mesa version are you using? Secondly, please arrange to have
> > debug symbols so that the backtrace can have symbols associated with it.
> > 
> > [I'd ignore the suggestion re trying native, I don't see what that has to do
> > with the issue at hand, which is a bug in nouveau triggered by wine.]
> 
> I'm running mesa-10.5.4 from Arch. I modified the PKGBUILD CFLAGS to include
> -DDEBUG settings and also pacman.conf to include debug flags. Still doesn't
> appear to be a useful report. Bug is easily reproducible on the first level
> of portal by looking at the portal from inside the first test chamber.
> Crashes nearly instantly.

OK, I've been able to repro a crash. I now have access to Portal 2, so that makes it easier for me to debug this. Will update when I get something useful...
Comment 5 Ilia Mirkin 2015-05-09 19:44:29 UTC
Looks like I got one pretty similar to yours:

Unhandled exception: page fault on read access to 0x00000108 in 32-bit code (0xf6623734).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:f6623734 ESP:14bbd650 EBP:7cf2df98 EFLAGS:00010202(  R- --  I   - - - )
 EAX:00000104 EBX:f686f000 ECX:f242b178 EDX:f135fc10
 ESI:f154ae60 EDI:f039eb18
Stack dump:
0x14bbd650:  00000000 edb22728 f6623659 f686f000
0x14bbd660:  f6623717 f686f000 f154ae60 f6705e09
0x14bbd670:  f135fc10 00000ac0 f039eb18 f039edf8
0x14bbd680:  00000de1 00000001 f656c92e 7cf196a0
0x14bbd690:  00000ac0 00157abc 000ffd00 f039edf8
0x14bbd6a0:  f3122d98 f31f2280 f6705d19 f686f000
000c: sel=0067 base=00000000 limit=00000000 32-bit r-x
Backtrace:
=>0 0xf6623734 nouveau_heap_free+0x24() in nouveau_dri.so (0x7cf2df98)
  1 0xf6705e09 nvc0_program_upload_code+0xf8() in nouveau_dri.so (0x7cf2df98)
  2 0xf670bfc3 nvc0_vertprog_validate+0x162() in nouveau_dri.so (0xf039eb18)
  3 0xf6712985 nvc0_state_validate+0x134() in nouveau_dri.so (0xf3100598)
  4 0xf671d0dc nvc0_draw_vbo+0xbb() in nouveau_dri.so (0xf3100598)
  5 0xf656f4d0 cso_draw_vbo+0x3f() in nouveau_dri.so (0x00000003)
  6 0xf644ce9a st_draw_vbo+0x279() in nouveau_dri.so (0x00000003)
  7 0xf641a445 vbo_validated_drawrangeelements+0xf4() in nouveau_dri.so (0xf3102590)
  8 0xf641a9b4 vbo_exec_DrawElementsBaseVertex+0x93() in nouveau_dri.so (0x00000000)
  9 0xf6b00298 shared_dispatch_stub_702+0x47() in libglapi.so.0 (0x14bbdbd8)
Comment 6 Ilia Mirkin 2015-05-10 05:59:00 UTC
Please test the patch at

http://patchwork.freedesktop.org/patch/48944/

And let me know if it helps things for you. It fixed the issues I was able to reproduce.
Comment 7 Ilia Mirkin 2015-05-12 23:35:03 UTC
Haven't heard back, but I'm moderately sure that the patch fixes the issue in question, so I'm marking this as fixed. I pushed it out today, it should make its way into mesa 10.5.6 and 10.6.0.

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.