libretro / libretro/prosystem-libretro
Crashing if you load content by unzip rom
Open
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 17
- Forks
- 46
- PR merge metrics
- No merged PRs in 30d
Description
If you try load rom by unzip it first (Detect Core or simple Load Content), you get a crash.
gdb retroarch
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from retroarch...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/retroarch
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe5f9c700 (LWP 14983)]
0
[Thread 0x7fffe5f9c700 (LWP 14983) exited]
Opening cartridge file /home/sergio/Games/Atari 7800/Asteroids (USA).zip#Asteroids (USA).a78.Cartridge.cpp
Failed to open the cartridge file /home/sergio/Games/Atari 7800/Asteroids (USA).zip#Asteroids (USA).a78 for reading.Cartridge.cpp
RetroArch [ERROR] :: load_content :: Failed to load game.
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt full
#0 0x0000000000000000 in ?? ()
No symbol table info available.
#1 0x0000000000443b4b in ?? ()
No symbol table info available.
#2 0x00000000004103c7 in ?? ()
No symbol table info available.
#3 0x0000000000414b75 in ?? ()
No symbol table info available.
#4 0x0000000000466ab6 in ?? ()
No symbol table info available.
#5 0x00000000004188c7 in ?? ()
No symbol table info available.
#6 0x000000000040e0f5 in ?? ()
No symbol table info available.
#7 0x00007ffff284dec5 in __libc_start_main (main=0x40e060, argc=1, argv=0x7fffffffdf98, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffffffdf88) at libc-start.c:287
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 1904257585204123383, 4252052, 140737488347024, 0, 0, -1904257586238105865, -1904269311521499401}, mask_was_saved = 0}},
priv = {pad = {0x0, 0x0, 0x4aa870, 0x7fffffffdf98}, data = {prev = 0x0, cleanup = 0x0, canceltype = 4892784}}}
not_first_call = <optimized out>
#8 0x000000000040e1bd in ?? ()
No symbol table info available.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the crash through Detect Core or simple Load Content using an unzipped ROM, then inspect the load_content failure path with a debug build and GDB. The report names no source files or tests; done means the ROM loads without the reported SIGSEGV after a cartridge-open failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100