EmulatorArchive / mupen64plus

Automatically exported from code.google.com/p/mupen64plus
1 stars 0 forks source link

Segmentation fault with nouveau dri drivers #554

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Describe your system:
 - Operating System (be specific): Linux (Slackware 14.0)
 - Machine type (32-bit or 64-bit): 32-bit
 - Mupen64Plus version: 1.99.5
 - Plugins used: none

Describe the problem:

I got a "Segmentation fault" running the emulator with a ROM.
When I use gdb, it seems to be a problem with my nouveau dri drivers.

Please provide any additional information below.

$ ./mupen64plus ~/documents/downloads/emulation/n64/Super\ Mario\ 64\ \(U\)\ 
\[\!\].z64 
 __  __                         __   _  _   ____  _             
|  \/  |_   _ _ __   ___ _ __  / /_ | || | |  _ \| |_   _ ___ 
| |\/| | | | | '_ \ / _ \ '_ \| '_ \| || |_| |_) | | | | / __|  
| |  | | |_| | |_) |  __/ | | | (_) |__   _|  __/| | |_| \__ \  
|_|  |_|\__,_| .__/ \___|_| |_|\___/   |_| |_|   |_|\__,_|___/  
             |_|         http://code.google.com/p/mupen64plus/  
Mupen64Plus Console User-Interface Version 1.99.5

UI-Console: attached to core library 'Mupen64Plus Core' version 1.99.5
UI-Console:             Includes support for Dynamic Recompiler.
Core: Goodname: Super Mario 64 (U) [!]
Core: Name: SUPER MARIO 64      
Core: MD5: 20B854B239203BAF6C961B850A4A51A2
Core: CRC: 635a2bff 8b022326
Core: Imagetype: .z64 (native)
Core: Rom size: 8388608 bytes (or 8 Mb or 64 Megabits)
Core: Version: 1444
Core: Manufacturer: Nintendo
Core: Country: USA
UI-Console Status: Cheat codes disabled.
UI-Console: using Video plugin: 'Mupen64Plus OpenGL Video Plugin by Rice' 
v1.99.5
UI-Console: using Audio plugin: 'Mupen64Plus SDL Audio Plugin' v1.99.5
Input Warning: Missing or incompatible config section 'Input-SDL-Control1'. 
Clearing.
Input Warning: Missing or incompatible config section 'Input-SDL-Control2'. 
Clearing.
Input Warning: Missing or incompatible config section 'Input-SDL-Control3'. 
Clearing.
Input Warning: Missing or incompatible config section 'Input-SDL-Control4'. 
Clearing.
UI-Console: using Input plugin: 'Mupen64Plus SDL Input Plugin' v1.99.5
UI-Console: using RSP plugin: 'Hacktarux/Azimer High-Level Emulation RSP 
Plugin' v1.99.5
Input: 1 SDL joysticks were found.
Input: N64 Controller #1: Using auto-config with SDL joystick 0 ('Xbox Gamepad 
(userspace driver)')
Input: 1 controller(s) found, 1 plugged in and usable in the emulator
Input Warning: Couldn't open device file '/dev/input/event4' for rumble support.
Input: Mupen64Plus SDL Input Plugin version 1.99.5 initialized.
Video: SSE processing enabled.
Video: Found ROM 'SUPER MARIO 64', CRC ff2b5a632623028b-45
Video: Initializing OpenGL Device Context.
Core: Setting 32-bit video mode: 640x480
Video Warning: Failed to set GL_BUFFER_SIZE to 32. (it's 24)
Video Warning: Failed to set GL_DEPTH_SIZE to 16. (it's 24)
Video: Using OpenGL: nouveau - Gallium 0.4 on NVA8 : 2.1 Mesa 8.0.4
Audio Warning: Unknown RESAMPLE configuration 1; use trivial resampler
Audio: Initializing SDL audio subsystem...
Core Error: Could not construct face from (null)
Core: Starting R4300 emulator: Dynamic Recompiler
Segmentation fault

$ gdb --args ./mupen64plus ~/documents/downloads/emulation/n64/Super\ Mario\ 
64\ \(U\)\ \[\!\].z64 
[...]
Program received signal SIGSEGV, Segmentation fault.
0xb3560537 in ?? () from /usr/lib/xorg/modules/dri/nouveau_dri.so
(gdb) bt
#0  0xb3560537 in ?? () from /usr/lib/xorg/modules/dri/nouveau_dri.so
#1  0xb355fb14 in ?? () from /usr/lib/xorg/modules/dri/nouveau_dri.so
#2  0xb3560c66 in ?? () from /usr/lib/xorg/modules/dri/nouveau_dri.so
#3  0xb3659602 in ?? () from /usr/lib/xorg/modules/dri/nouveau_dri.so
#4  0xb3723ab9 in ?? () from /usr/lib/xorg/modules/dri/nouveau_dri.so
#5  0xb3723e94 in ?? () from /usr/lib/xorg/modules/dri/nouveau_dri.so
#6  0xb54e2a96 in OGLRender::RenderFlushTris() () from 
./mupen64plus-video-rice.so
#7  0xb54d0ae5 in CRender::DrawTriangles() () from ./mupen64plus-video-rice.so
#8  0xb549fe66 in ProcessDList () from ./mupen64plus-video-rice.so
#9  0xb5295b7d in DoRspCycles () from ./mupen64plus-rsp-hle.so
#10 0xb63d5f38 in do_SP_Task.6128.2504 () from ./libmupen64plus.so.2
#11 0xb12037bd in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Original issue reported on code.google.com by yugioh...@1s.fr on 13 Jun 2013 at 8:18

GoogleCodeExporter commented 9 years ago
Maybe you should inform the nouveau driver developers. It is known that their 
driver can easily be crashed. And it doesn't happen with other drivers 
(proprietary nvidia driver, intel open source driver, ...). And judging from 
the age of slackware 14.0 it could be a bug which is already fixed inside the 
current mesa tree (at least I've read about multiple of them).

Please feel free to reopen the bug when it is really a mupen64plus-video-rice 
bug

Original comment by s...@narfation.org on 14 Jun 2013 at 12:00

GoogleCodeExporter commented 9 years ago
Maybe it is this bug: https://bugs.freedesktop.org/show_bug.cgi?id=39017

I think you could help them with some input

Original comment by s...@narfation.org on 14 Jun 2013 at 12:06

GoogleCodeExporter commented 9 years ago
And btw. next time please try to install the -dbg packages of mesa (and all 
other related software) before making a backtrace. Just ignore this if you did 
install it and there are really no symbol information for the call trace 
available.

Original comment by s...@narfation.org on 14 Jun 2013 at 12:09

GoogleCodeExporter commented 9 years ago
Thank you for the link.

If I add these lines to the ~/.config/mupen64plus/mupen64plus.cfg file it works:
[Video-Rice]
# Color bit depth for rendering window (0=32 bits, 1=16 bits)
ColorQuality = 1

I don't need to update my nouveau driver.
Problem solved.

Original comment by yugioh...@1s.fr on 14 Jun 2013 at 4:49