Bug 91118 - Skydrift (running in Wine) crashes on start
Summary: Skydrift (running in Wine) crashes on start
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: 10.6
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL: http://store.steampowered.com/app/91100/
Whiteboard:
Keywords: bisected, patch, regression
Depends on:
Blocks:
 
Reported: 2015-06-26 18:45 UTC by Béla Gyebrószki
Modified: 2015-10-23 08:54 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Béla Gyebrószki 2015-06-26 18:45:51 UTC
Some of my games when running in Wine crash on start, either immediately on startup like Skydrift, or during the initial loading screen.

Terminal output + Wine backtrace:
http://pastebin.com/TDsv0ZTh

The other game that crashes with an identical backtrace is named 'How to Survive', but no demo is available for this title.

The crash is present with the software renderer too (LIBGL_ALWAYS_SOFTWARE=1)
The problem doesn't occur with the binary Nvidia drivers (340.76), and reverting the following commit fixes the crash for me:

commit 6b284f08ab399154ad10e2166440b44cbbdcb2c5
Author: Laura Ekstrand <laura@jlekstrand.net>
Date:   Tue Feb 3 14:47:00 2015 -0800

    main: _mesa_blit_framebuffer updates its arbitrary framebuffers.
    
    Previously, we used _mesa_update_state to update the currently bound
    framebuffers prior to performing a blit.  Now that _mesa_blit_framebuffer
    uses arbitrary framebuffers, _mesa_update_state is not specific enough.

To reproduce the problem in the demo version you need Wine (preferably the latest development version) and a Steam account. The game should run out-of-the-box after installation.

This patch reliably fixes the problem for me:
http://patchwork.freedesktop.org/patch/52969/

Please let me know if you need further logs.

Fedora 22 32-bit
Mesa 10.6-branchpoint-676-g7de8569
VGA compatible controller: NVIDIA Corporation G92 [GeForce GTS 250] (rev a2) (prog-if 00 [VGA controller])
Kernel 4.0.5-300.fc22.i686+PAE
xorg-x11-server-Xorg-1.17.2-1.fc22.i686
Comment 1 Béla Gyebrószki 2015-06-26 19:08:11 UTC
The following patch by Ilia Mirkin also fixes the crash for me:

diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 79fa018..f7d8028 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1638,6 +1638,8 @@ handle_first_current(struct gl_context *ctx)
       }
    }
 
+   _mesa_update_state(ctx);
+
    /* We can use this to help debug user's problems.  Tell them to set
     * the MESA_INFO env variable before running their app.  Then the
     * first time each context is made current we'll print some useful

The 2 different patches equally fix the crash for me in those 2 games.
Comment 2 Béla Gyebrószki 2015-10-23 08:54:32 UTC
I can't reproduce this bug anymore: both games start properly with current mesa. Tried with wine 1.7.45 (the version available at the time when this bug report was opened) and with current wine 1.7.53: the bug doesn't occur in either version.

Marking fixed.

OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NV92
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.1.0-devel (git-3994ef5)
OpenGL core profile shading language version string: 3.30


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.