Bug 24160 - m64py crashes when opening a ROM (missing dependency)
Summary: m64py crashes when opening a ROM (missing dependency)
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 7
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: MGA7-64-OK
Keywords: advisory, validated_update
Depends on:
Blocks:
 
Reported: 2019-01-09 16:47 CET by Frédéric "LpSolit" Buclin
Modified: 2019-08-03 23:20 CEST (History)
4 users (show)

See Also:
Source RPM: m64py-0.2.3-10.mga7.tainted.src.rpm
CVE:
Status comment:


Attachments

Description Frédéric "LpSolit" Buclin 2019-01-09 16:47:12 CET
When opening a ROM with m64py, it immediately crashes with no useful error message:

Frontend: INFO: OpenGL_accelerate module loaded
Frontend: INFO: Using accelerated ArrayDatatype
Frontend: INFO: attached to library 'Mupen64Plus Core' version 2.5.0
Frontend: INFO: includes support for Dynamic Recompiler.
Frontend: INFO: video extension enabled
Erreur de segmentation (core dumped)


Opening the same ROM with mupen64plus (without using the m64py interface) works (except that the video is blinking so much that the game is unplayable).
Comment 1 Frédéric "LpSolit" Buclin 2019-01-09 18:58:57 CET
(In reply to Frédéric Buclin from comment #0)
> When opening a ROM with m64py, it immediately crashes
> 
> Opening the same ROM with mupen64plus (without using the m64py interface)
> works (except that the video is blinking so much that the game is
> unplayable).

Both problems are fixed when using the Glide64mk2 video plugin instead of the Rice video plugin.

Summary: m64py crashes when opening a ROM => m64py crashes when opening a ROM using the Rice video plugin

Comment 2 Marja Van Waes 2019-01-13 08:24:56 CET
Assigning to the registered maintainer.

CC: (none) => marja11
Assignee: bugsquad => rverschelde

Comment 3 Frédéric "LpSolit" Buclin 2019-07-27 13:59:22 CEST
In Mageia 7, m64py crashes immediately when opening a ROM, independently of the video plugin used. Here is the output:

$ m64py 
 __  __                         __   _  _   ____  _            
|  \/  |_   _ _ __   ___ _ __  / /_ | || | |  _ \| |_   _ ___  
| |\/| | | | | '_ \ / _ \ '_ \| '_ \| || |_| |_) | | | | / __| 
| |  | | |_| | |_) |  __/ | | | (_) |__   _|  __/| | |_| \__ \ 
|_|  |_|\__,_| .__/ \___|_| |_|\___/   |_| |_|   |_|\__,_|___/ 
             |_|                                               

M64Py - A frontend for Mupen64Plus version 0.2.3

Frontend: DEBUG: Loaded libGL.so => libGL.so.1 <CDLL 'libGL.so.1', handle 1cf5db0 at 0x7f2424656f28>
Frontend: INFO: OpenGL_accelerate module loaded
Frontend: INFO: Using accelerated ArrayDatatype
Frontend: INFO: attached to library 'Mupen64Plus Core' version 2.5.0
Frontend: INFO: includes support for Dynamic Recompiler.
Core: Unable to open rom database file '(null)'.
Frontend: INFO: video extension enabled
Video: Couldn't find Glide64mk2.ini
Frontend: DEBUG: plugin_startup()
Frontend: WARNING: FILES: Error opening, creating, reading, or writing to a file
Frontend: WARNING: Glide64mk2 Video Plugin failed to start.
Input: Couldn't find config file 'InputAutoCfg.ini'
Input: missing 'plugged' parameter from config section AutoConfig0. Setting to 1 (true).
Input: missing 'plugin' parameter from config section AutoConfig0. Setting to 1 (none).
Input: missing config key 'DPad R' for controller 1 button 0
Input: missing config key 'DPad L' for controller 1 button 1
Input: missing config key 'DPad D' for controller 1 button 2
Input: missing config key 'DPad U' for controller 1 button 3
Input: missing config key 'Start' for controller 1 button 4
Input: missing config key 'Z Trig' for controller 1 button 5
Input: missing config key 'B Button' for controller 1 button 6
Input: missing config key 'A Button' for controller 1 button 7
Input: missing config key 'C Button R' for controller 1 button 8
Input: missing config key 'C Button L' for controller 1 button 9
Input: missing config key 'C Button D' for controller 1 button 10
Input: missing config key 'C Button U' for controller 1 button 11
Input: missing config key 'R Trig' for controller 1 button 12
Input: missing config key 'L Trig' for controller 1 button 13
Input: missing config key 'Mempak switch' for controller 1 button 14
Input: missing config key 'Rumblepak switch' for controller 1 button 15
Input: missing config key 'X Axis' for controller 1 axis 0
Input: missing config key 'Y Axis' for controller 1 axis 1
kf5.kio.core: "Impossible d'entrer dans le dossier tags:/."
kf5.kio.core: "Impossible d'entrer dans le dossier tags:/."
Core: Goodname: SUPER MARIO 64 (unknown rom)
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
Frontend: INFO: ScreenSaver disabled
Unhandled Python exception
Abandon (core dumped)

Version: 6 => 7
Summary: m64py crashes when opening a ROM using the Rice video plugin => m64py crashes when opening a ROM

Comment 4 Frédéric "LpSolit" Buclin 2019-07-27 14:12:09 CEST
(In reply to Frédéric "LpSolit" Buclin from comment #3)
> Video: Couldn't find Glide64mk2.ini
> Frontend: WARNING: FILES: Error opening, creating, reading, or writing to a
> file
> Frontend: WARNING: Glide64mk2 Video Plugin failed to start.
> Input: Couldn't find config file 'InputAutoCfg.ini'


Ah, Glide64mk2.ini and InputAutoCfg.ini are in the mupen64plus RPM. Installing this RPM fixes the problem. Missing dependency?

Also, note that /usr/lib64/libmupen64plus.so.2.0.0 should be executable, else an error is thrown too.

Summary: m64py crashes when opening a ROM => m64py crashes when opening a ROM (missing dependency)
Source RPM: m64py-0.2.3-7.mga6.tainted.src.rpm => m64py-0.2.3-10.mga7.tainted.src.rpm

Comment 5 David GEIGER 2019-07-27 15:55:17 CEST
So, you can test with mupen64plus-2.5-8.1.mga7 and m64py-0.2.3-10.1.mga7 in Tainted/Updates_testing repo! (when uploaded)

Thanks in advance!

CC: (none) => geiger.david68210

Comment 6 Frédéric "LpSolit" Buclin 2019-07-29 02:39:28 CEST
(In reply to David GEIGER from comment #5)
> So, you can test with mupen64plus-2.5-8.1.mga7 and m64py-0.2.3-10.1.mga7 in
> Tainted/Updates_testing repo! (when uploaded)

Works fine, thanks! :)
Comment 7 David GEIGER 2019-07-29 07:34:03 CEST
Assigning to QA now,


Advisory:
========================

There's a missing required dependency on the m64py package from Mageia 7.
If no other packages pulling 'mupen64plus' are installed on the computer, it can't work/start properly. This update adds this missing dependency.
Also this update fixes another issue with the mupen64plus libraries who are not executable but they should be.

========================

Packages in 7/tainted/updates_testing:
========================
mupen64plus-2.5-8.1.mga7.tainted.i586.rpm
libmupen64plus2-2.5-8.1.mga7.tainted.i586.rpm
libmupen64plus-devel-2.5-8.1.mga7.tainted.i586.rpm
mupen64plus-2.5-8.1.mga7.tainted.x86_64.rpm
lib64mupen64plus2-2.5-8.1.mga7.tainted.x86_64.rpm
lib64mupen64plus-devel-2.5-8.1.mga7.tainted.x86_64.rpm

m64py-0.2.3-10.1.mga7.tainted.i586.rpm
m64py-0.2.3-10.1.mga7.tainted.x86_64.rpm

Source RPM: 
========================
mupen64plus-2.5-8.1.mga7.tainted.src.rpm
m64py-0.2.3-10.1.mga7.tainted.src.rpm

Assignee: rverschelde => qa-bugs

Comment 8 Len Lawrence 2019-07-29 11:14:49 CEST
mga7, x86_64

No idea what a ROM is but gave this a go.  41 packages installed - for qt mainly.
Before update:
$ m64py
 __  __                         __   _  _   ____  _            
|  \/  |_   _ _ __   ___ _ __  / /_ | || | |  _ \| |_   _ ___  
| |\/| | | | | '_ \ / _ \ '_ \| '_ \| || |_| |_) | | | | / __| 
| |  | | |_| | |_) |  __/ | | | (_) |__   _|  __/| | |_| \__ \ 
|_|  |_|\__,_| .__/ \___|_| |_|\___/   |_| |_|   |_|\__,_|___/ 
             |_|                                               

M64Py - A frontend for Mupen64Plus version 0.2.3

Frontend: DEBUG: Loaded libGL.so => libGL.so.1 <CDLL 'libGL.so.1', handle 17f7270 at 0x7f999e699048>
Frontend: INFO: OpenGL_accelerate module loaded
Frontend: INFO: Using accelerated ArrayDatatype
ldd: warning: you do not have execution permission for `/usr/lib64/libmupen64plus.so.2.0.0'
[...]
Input: missing config key 'Rumblepak switch' for controller 1 button 15
Input: missing config key 'X Axis' for controller 1 axis 0
Input: missing config key 'Y Axis' for controller 1 axis 1

The graphics icon appeared and the file menu responded OK but showed the message "ROMs directory not found", which is perfectly understandable.

Updated from tainted updates testing and tried again.
$ m64py
[...]
Frontend: DEBUG: Loaded libGL.so => libGL.so.1 <CDLL 'libGL.so.1', handle 1af9270 at 0x7fccb6a9b048>
Frontend: INFO: OpenGL_accelerate module loaded
Frontend: INFO: Using accelerated ArrayDatatype
Frontend: INFO: attached to library 'Mupen64Plus Core' version 2.5.0
Frontend: INFO: includes support for Dynamic Recompiler.
Frontend: INFO: video extension enabled
$

The gui worked properly, as before, so it looks like everything is in order.

CC: (none) => tarazed25
Whiteboard: (none) => MGA7-64-OK

Comment 9 Len Lawrence 2019-07-29 12:25:38 CEST
Replying to comment 8:
$ /usr/lib64/libmupen64plus.so.2.0.0
Segmentation fault (core dumped)

Executable, but probably needs an argument.
Comment 10 Len Lawrence 2019-07-30 08:54:57 CEST
With respect to this OK, we can infer from comment 6 that opening a ROM does not cause a segfault.
Comment 11 Frédéric "LpSolit" Buclin 2019-07-30 12:09:10 CEST
(In reply to Len Lawrence from comment #10)
> With respect to this OK, we can infer from comment 6 that opening a ROM does
> not cause a segfault.

It doesn't cause a segfault, no. Games are working fine.
Comment 12 Rémi Verschelde 2019-07-30 19:39:29 CEST
Advisory uploaded, validating.

Thanks for the tests and fix :)

Keywords: (none) => advisory, validated_update
CC: (none) => sysadmin-bugs

Comment 13 Mageia Robot 2019-08-03 23:20:08 CEST
An update for this issue has been pushed to the Mageia Updates repository.

https://advisories.mageia.org/MGAA-2019-0074.html

Resolution: (none) => FIXED
Status: NEW => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.