desmume2015
desmume2015 copied to clipboard
Segfault if you Open Archive as Folder
I'm getting segfault if I try to "Open Archive as Folder", it happens with zip or 7z. It works if I Load Archive with Core.
I can't get a full backtrace, see #58
Program received signal SIGSEGV, Segmentation fault.
0x00007fffbb20ea17 in Sequencer::execHardware() () from /home/sergio/Games/RetroArch/cores/desmume_libretro.so
(gdb) bt full
#0 0x00007fffbb20ea17 in Sequencer::execHardware() () from /home/sergio/Games/RetroArch/cores/desmume_libretro.so
No symbol table info available.
#1 0x00007fffbb2104c3 in NDS_exec(int) () from /home/sergio/Games/RetroArch/cores/desmume_libretro.so
No symbol table info available.
#2 0x00007fffbb2749e4 in retro_run () from /home/sergio/Games/RetroArch/cores/desmume_libretro.so
No symbol table info available.
#3 0x000000000041c416 in rarch_main_iterate (sleep_ms=sleep_ms@entry=0x7fffffffddf0) at runloop.c:1130
i = <optimized out>
trigger_input = <optimized out>
cmd = {fullscreen_toggle = <optimized out>, overlay_next_pressed = <optimized out>, grab_mouse_pressed = <optimized out>, menu_pressed = <optimized out>,
quit_key_pressed = <optimized out>, screenshot_pressed = <optimized out>, mute_pressed = <optimized out>, osk_pressed = <optimized out>,
volume_up_pressed = <optimized out>, volume_down_pressed = <optimized out>, reset_pressed = <optimized out>, disk_prev_pressed = <optimized out>,
disk_next_pressed = <optimized out>, disk_eject_pressed = <optimized out>, movie_record = <optimized out>, save_state_pressed = <optimized out>,
load_state_pressed = <optimized out>, slowmotion_pressed = <optimized out>, shader_next_pressed = <optimized out>, shader_prev_pressed = <optimized out>,
fastforward_pressed = <optimized out>, hold_pressed = <optimized out>, old_hold_pressed = false, state_slot_increase = <optimized out>,
state_slot_decrease = <optimized out>, pause_pressed = <optimized out>, frameadvance_pressed = <optimized out>, rewind_pressed = <optimized out>,
netplay_flip_pressed = <optimized out>, cheat_index_plus_pressed = <optimized out>, cheat_index_minus_pressed = <optimized out>, cheat_toggle_pressed = <optimized out>}
do_quit = <optimized out>
last_input = 0
driver = 0x7bbc80 <g_driver>
settings = 0x7fffec567010
input = <optimized out>
system = <optimized out>
old_input = <optimized out>
#4 0x00000000004125e7 in rarch_main (argc=<optimized out>, argv=<optimized out>, data=0x0) at frontend/frontend.c:345
sleep_ms = 0
args = 0x0
ret = <optimized out>
settings = 0x7fffec567010
driver = <optimized out>
#5 0x00007ffff23deec5 in __libc_start_main (main=0x40f010 <main>, argc=1, argv=0x7fffffffdf18, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffffffdf08) at libc-start.c:287
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -6620443363659441001, 4255767, 140737488346896, 0, 0, 6620443364724350103, 6620451626623081623}, mask_was_saved = 0}},
priv = {pad = {0x0, 0x0, 0x50d520 <__libc_csu_init>, 0x7fffffffdf18}, data = {prev = 0x0, cleanup = 0x0, canceltype = 5297440}}}
not_first_call = <optimized out>
#6 0x000000000040f040 in _start ()
No symbol table info available.
Great, the debug works now:
Program received signal SIGSEGV, Segmentation fault.
0x00007fffbb16a544 in isTriggered (this=0x7fffbda7c9a0 <sequencer+128>) at src/NDSSystem.cpp:964
964 return (controller->dmaCheck && nds_timer>= controller->nextEvent);
(gdb) bt full
#0 0x00007fffbb16a544 in isTriggered (this=0x7fffbda7c9a0 <sequencer+128>) at src/NDSSystem.cpp:964
No locals.
#1 Sequencer::execHardware (this=0x7fffbda7c920 <sequencer>) at src/NDSSystem.cpp:1579
No locals.
#2 0x00007fffbb16c2d7 in NDS_exec (nb=1120380) at src/NDSSystem.cpp:1859
s32next = 32767
arm9arm7 = {first = -329453992, second = 4161535}
next = 67071968
nds_timer_base = 140736375278528
arm9 = 32767
arm7 = -329518744
#3 0x00007fffbb20f247 in retro_run () at src/libretro/libretro.cpp:983
layout = {dst = 0x12b96a0, dst2 = 0x12d16a0, touch_x = 0, touch_y = 192, width = 256, height = 384, pitch = 256, draw_screen1 = true, draw_screen2 = true}
updated = false
have_touch = false
skipped = false
#4 0x000000000041e9d1 in rarch_main_iterate (sleep_ms=0x7fffffffdf10) at runloop.c:1038
ret = 1
i = 5
trigger_input = 0
cmd = {fullscreen_toggle = false, overlay_next_pressed = false, grab_mouse_pressed = false, menu_pressed = false, quit_key_pressed = false, screenshot_pressed = false,
mute_pressed = false, osk_pressed = false, volume_up_pressed = false, volume_down_pressed = false, reset_pressed = false, disk_prev_pressed = false, disk_next_pressed = false,
disk_eject_pressed = false, movie_record = false, save_state_pressed = false, load_state_pressed = false, slowmotion_pressed = false, shader_next_pressed = false,
shader_prev_pressed = false, fastforward_pressed = false, hold_pressed = false, old_hold_pressed = false, state_slot_increase = false, state_slot_decrease = false,
pause_pressed = false, frameadvance_pressed = false, rewind_pressed = false, netplay_flip_pressed = false, cheat_index_plus_pressed = false, cheat_index_minus_pressed = false,
cheat_toggle_pressed = false}
current = 4320685
target = 140737488346816
to_sleep_ms = 4321251
last_input = 0
devices = 0
driver = 0x81f760 <g_driver>
settings = 0x7fffec565010
global = 0x7f4080 <g_extern>
input = 0
system = 0x895860
old_input = 256
#5 0x00000000004118a3 in rarch_main (argc=1, argv=0x7fffffffe048, data=0x0) at frontend/frontend.c:342
sleep_ms = 0
args = 0x0
ret = 0
settings = 0x7fffec565010
driver = 0x81f760 <g_driver>
#6 0x0000000000411900 in main (argc=1, argv=0x7fffffffe048) at frontend/frontend.c:358
No locals.
Changing to info->need_fullpath = true; fix it
4624e10 broke it...
@twinaphex, did this core ever support need_fullpath = false ?