Bug 89679

Summary: [NV50] Portal/Half-Life 2 will not start (native Steam)
Product: Mesa Reporter: Nick Tenney <nick.tenney>
Component: Drivers/DRI/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact: Nouveau Project <nouveau>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Dump from Steam crash
Git bisection of Mesa

Description Nick Tenney 2015-03-19 14:43:35 UTC
Created attachment 114474 [details]
Dump from Steam crash

Not particularly sure how to debug, but both titles crash immediately after loading the menu screen. I confirmed that r600g with the same mesa build on another machine had no issues. Let me know if there are any relevant logs I can provide

Details:
1.17.1 xserver
1.0.11 xf86-video-nouveau
68854.2372275 mesa-git
4.0rc4 linux-git

Only relevant line in dmesg:
[ 6389.605899] streaming_clien[6094]: segfault at 0 ip 00000000f75ee410 sp 00000000ffe6c9d0 error 4 in streaming_client[f7576000+195000]
Comment 1 Ilia Mirkin 2015-03-19 14:48:17 UTC
Can you check if older mesa builds work (like 10.2 or 10.3)? If they do, you can try bisecting. I've had another report of Portal crashing with nouveau, and it being a recent phenomenon...

You could also run steam in a debugger and see if the crash ends up in nouveau. If so, give me a full backtrace. If not, might be some memory corruption... if there's a way to run steam with valgrind, you can try that.
Comment 2 Nick Tenney 2015-03-20 01:05:05 UTC
I was bisecting and it *appeared* to go well. Apparently something else must be involved as the last known good commit (worked during the bisect) no longer worked when I restested. Digging further...
Comment 3 Nick Tenney 2015-03-28 02:57:43 UTC
Created attachment 114677 [details]
Git bisection of Mesa

Third time's a charm! Finally got a successful bisection of the Portal issue.
Comment 4 Ilia Mirkin 2015-03-28 03:06:37 UTC
(In reply to Nick Tenney from comment #3)
> Created attachment 114677 [details]
> Git bisection of Mesa
> 
> Third time's a charm! Finally got a successful bisection of the Portal issue.

That seems very surprising. Does reverting it on top of master fix the issue? If not, your bisect is off.

The commit does 2 things -- it increases the query alloc space to 256 and it enables PIPE_CAP_QUERY_PIPELINE_STATISTICS (and the relevant support in the query logic). I have a hard time believing that steam would use ARB_pipeline_query_statistics, but... who knows.

Can you disable PIPE_CAP_QUERY_PIPELINE_STATISTICS but leave NV50_QUERY_ALLOC_SPACE at 256 and see if it still breaks?
Comment 5 Nick Tenney 2015-03-28 03:56:30 UTC
Reverting 5000a5f67b556096b6ba1e9bdac3a6e5cd5a1f68 did the trick. I shall try the query alloc space change tomorrow. Thanks!
Comment 6 Nick Tenney 2015-03-28 04:07:34 UTC
Now that it's tomorrow (EST) and this apparently compiled in time, reverting the commit excepting the query alloc space change resulted in a crash. Just for kicks and giggles, I went back to master and changed the QUERY_ALLOC_SPACE back to 128 and all was well. We have a winner.
Comment 7 Nick Tenney 2015-04-05 02:02:05 UTC
Commit ba353935a392d2a43422f1d258456336b40b60ea fixed the issue. 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.