libretro / beetle-pce-fast-libretro

Standalone fork of Mednafen PCE Fast to libretro
GNU General Public License v2.0
29 stars 55 forks source link

WAVE file type name does not work #52

Closed sergiobenrocha2 closed 7 years ago

sergiobenrocha2 commented 7 years ago

Using WAVE or WAV in the file type name as follow will not working, see the backtrace.

FILE "Ginga Fukei Densetsu Sapphire (Japan) (Reprint) (Track 01).wav" WAVE
  TRACK 01 AUDIO
    INDEX 01 00:00:00
terminate called after throwing an instance of 'int'
Aborted (core dumped)

Program received signal SIGABRT, Aborted.
0x00007ffff25d4c37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56  ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) 
(gdb) bt full
#0  0x00007ffff25d4c37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
        resultvar = 0
        pid = 32199
        selftid = 32199
#1  0x00007ffff25d8028 in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x7fffffff86e0, sa_sigaction = 0x7fffffff86e0}, sa_mask = {__val = {2, 8618888, 140737351947559, 140733193388037, 0, 
              140737256975336, 140737259392304, 140737256975336, 8618888, 9151072, 140737351976149, 140737352185488, 9145376, 1, 140737352188048, 9145376}}, sa_flags = -31656, 
          sa_restorer = 0x7fffffff7f60}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff22f2c1d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#3  0x00007ffff22f0ca6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#4  0x00007ffff22f0cf1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#5  0x00007ffff22f0f08 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#6  0x00007fffebf53ace in CDAFReader_Vorbis::CDAFReader_Vorbis (this=0x8b9eb0, fp=0x8b8a40) at mednafen/cdrom/CDAFReader_Vorbis.cpp:87
        cb = {read_func = 0x7fffebf538f2 <iov_read_func(void*, size_t, size_t, void*)>, seek_func = 0x7fffebf53951 <iov_seek_func(void*, int64_t, int)>, 
          close_func = 0x7fffebf53991 <iov_close_func(void*)>, tell_func = 0x7fffebf539c3 <iov_tell_func(void*)>}
#7  0x00007fffebf53c94 in CDAFR_Vorbis_Open (fp=0x8b8a40) at mednafen/cdrom/CDAFReader_Vorbis.cpp:128
No locals.
#8  0x00007fffebf538f0 in CDAFR_Open (fp=0x8b8a40) at mednafen/cdrom/CDAFReader.cpp:50
No locals.
#9  0x00007fffebf48bad in CDAccess_Image::ImageOpen (this=0x8acc40, 
    path="/home/xxxxx/Games/ROMs/PC Engine/Ginga Fukei Densetsu Sapphire (Japan) (Reprint)/tmp_wav/Ginga Fukei Densetsu Sapphire (Japan) (Reprint).cue", image_memcache=false)
    at mednafen/cdrom/CDAccess_Image.cpp:689
        efn = "/home/xxxxx/Games/ROMs/PC Engine/Ginga Fukei Densetsu Sapphire (Japan) (Reprint)/tmp_wav/Ginga Fukei Densetsu Sapphire (Japan) (Reprint) (Track 01).wav"
        argcount = 2
        max_args = 4
        TmpTrack = {LBA = 0, DIFormat = 0, subq_control = 0 '\000', pregap = 0, pregap_dv = 0, postgap = 0, index = {0 <repeats 100 times>}, sectors = 0, fp = 0x8b8a40, 
          FirstFileInstance = true, RawAudioMSBFirst = false, FileOffset = 0, SubchannelMode = 0, LastSamplePos = 0, AReader = 0x0}
        RunningLBA = 0
        __PRETTY_FUNCTION__ = "bool CDAccess_Image::ImageOpen(const string&, bool)"
        cmdbuf = "FILE"
        args = {"Ginga Fukei Densetsu Sapphire (Japan) (Reprint) (Track 01).wav", "WAVE", "", ""}
        IsTOC = false
        fp = {<Stream> = {_vptr.Stream = 0x7fffec19bc50 <vtable for MemoryStream+16>}, 
          data_buffer = 0x8b8ca0 "FILE \"Ginga Fukei Densetsu Sapphire (Japan) (Reprint) (Track 01).wav\" WAVE\r\n  TRACK 01 AUDIO\r\n    INDEX 01 00:00:00\r\nFILE \"Ginga Fukei Densetsu Sapphire (Japan) (Reprint) (Track 02).bin\" BINARY\r\n  TRA"..., data_buffer_size = 2371, data_buffer_alloced = 2371, position = 75}
        linebuf = "FILE \"Ginga Fukei Densetsu Sapphire (Japan) (Reprint) (Track 01).wav\" WAVE"
        active_track = -1
        AutoTrackInc = 1
        file_ext = ".cue"
        toc_streamcache = std::map with 0 elements
        file_base = "Ginga Fukei Densetsu Sapphire (Japan) (Reprint)"
        LastIndex = -225062464
        FileOffset = 140737488324496
#10 0x00007fffebf4a499 in CDAccess_Image::CDAccess_Image (this=0x8acc40, 
    path="/home/xxxxx/Games/ROMs/PC Engine/Ginga Fukei Densetsu Sapphire (Japan) (Reprint)/tmp_wav/Ginga Fukei Densetsu Sapphire (Japan) (Reprint).cue", image_memcache=false)
    at mednafen/cdrom/CDAccess_Image.cpp:1017
No locals.
#11 0x00007fffebf46d7f in CDAccess_Open (
    path="/home/xxxxx/Games/ROMs/PC Engine/Ginga Fukei Densetsu Sapphire (Japan) (Reprint)/tmp_wav/Ginga Fukei Densetsu Sapphire (Japan) (Reprint).cue", image_memcache=false)
    at mednafen/cdrom/CDAccess.cpp:47
        ret = 0x0
#12 0x00007fffebf544d3 in CDIF_Open (
    path="/home/xxxxx/Games/ROMs/PC Engine/Ginga Fukei Densetsu Sapphire (Japan) (Reprint)/tmp_wav/Ginga Fukei Densetsu Sapphire (Japan) (Reprint).cue", image_memcache=false)
    at mednafen/cdrom/cdromif.cpp:270
        cda = 0x7ffff2353861 <std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)+33>
#13 0x00007fffebf62ea3 in MDFNI_LoadCD (
    devicename=0x8ac8c0 "/home/xxxxx/Games/ROMs/PC Engine/Ginga Fukei Densetsu Sapphire (Japan) (Reprint)/tmp_wav/Ginga Fukei Densetsu Sapphire (Japan) (Reprint).cue")
    at libretro.cpp:941
        cdif = 0x0
        ret = false
#14 0x00007fffebf6331e in MDFNI_LoadGame (
    name=0x8ac8c0 "/home/xxxxx/Games/ROMs/PC Engine/Ginga Fukei Densetsu Sapphire (Japan) (Reprint)/tmp_wav/Ginga Fukei Densetsu Sapphire (Japan) (Reprint).cue")
    at libretro.cpp:1005
        valid_iae = std::vector of length 0, capacity 0
        GameFile = 0x0
        curexts = 0x2
#15 0x00007fffebf65306 in retro_load_game (info=0x8a6fe0) at libretro.cpp:1551
        desc = {{port = 0, device = 1, index = 0, id = 6, description = 0x7fffebf85105 "D-Pad Left"}, {port = 0, device = 1, index = 0, id = 4, 
            description = 0x7fffebf85110 "D-Pad Up"}, {port = 0, device = 1, index = 0, id = 5, description = 0x7fffebf85119 "D-Pad Down"}, {port = 0, device = 1, index = 0, 
            id = 7, description = 0x7fffebf85124 "D-Pad Right"}, {port = 0, device = 1, index = 0, id = 0, description = 0x7fffebf85130 "II"}, {port = 0, device = 1, index = 0, 
            id = 8, description = 0x7fffebf85133 "I"}, {port = 0, device = 1, index = 0, id = 9, description = 0x7fffebf85135 "IV"}, {port = 0, device = 1, index = 0, id = 1, 
            description = 0x7fffebf85138 "III"}, {port = 0, device = 1, index = 0, id = 10, description = 0x7fffebf8513c "V"}, {port = 0, device = 1, index = 0, id = 11, 
            description = 0x7fffebf8513e "VI"}, {port = 0, device = 1, index = 0, id = 12, description = 0x7fffebf85141 "Mode Switch"}, {port = 0, device = 1, index = 0, id = 2, 
            description = 0x7fffebf8514d "Select"}, {port = 0, device = 1, index = 0, id = 3, description = 0x7fffebf85154 "Run"}, {port = 1, device = 1, index = 0, id = 6, 
            description = 0x7fffebf85105 "D-Pad Left"}, {port = 1, device = 1, index = 0, id = 4, description = 0x7fffebf85110 "D-Pad Up"}, {port = 1, device = 1, index = 0, 
            id = 5, description = 0x7fffebf85119 "D-Pad Down"}, {port = 1, device = 1, index = 0, id = 7, description = 0x7fffebf85124 "D-Pad Right"}, {port = 1, device = 1, 
            index = 0, id = 0, description = 0x7fffebf85130 "II"}, {port = 1, device = 1, index = 0, id = 8, description = 0x7fffebf85133 "I"}, {port = 1, device = 1, index = 0, 
            id = 9, description = 0x7fffebf85135 "IV"}, {port = 1, device = 1, index = 0, id = 1, description = 0x7fffebf85138 "III"}, {port = 1, device = 1, index = 0, id = 10, 
            description = 0x7fffebf8513c "V"}, {port = 1, device = 1, index = 0, id = 11, description = 0x7fffebf8513e "VI"}, {port = 1, device = 1, index = 0, id = 12, 
            description = 0x7fffebf85141 "Mode Switch"}, {port = 1, device = 1, index = 0, id = 2, description = 0x7fffebf8514d "Select"}, {port = 1, device = 1, index = 0, 
            id = 3, description = 0x7fffebf85154 "Run"}, {port = 2, device = 1, index = 0, id = 6, description = 0x7fffebf85105 "D-Pad Left"}, {port = 2, device = 1, index = 0, 
            id = 4, description = 0x7fffebf85110 "D-Pad Up"}, {port = 2, device = 1, index = 0, id = 5, description = 0x7fffebf85119 "D-Pad Down"}, {port = 2, device = 1, 
            index = 0, id = 7, description = 0x7fffebf85124 "D-Pad Right"}, {port = 2, device = 1, index = 0, id = 0, description = 0x7fffebf85130 "II"}, {port = 2, device = 1, 
            index = 0, id = 8, description = 0x7fffebf85133 "I"}, {port = 2, device = 1, index = 0, id = 9, description = 0x7fffebf85135 "IV"}, {port = 2, device = 1, index = 0, 
            id = 1, description = 0x7fffebf85138 "III"}, {port = 2, device = 1, index = 0, id = 10, description = 0x7fffebf8513c "V"}, {port = 2, device = 1, index = 0, id = 11, 
            description = 0x7fffebf8513e "VI"}, {port = 2, device = 1, index = 0, id = 12, description = 0x7fffebf85141 "Mode Switch"}, {port = 2, device = 1, index = 0, id = 2, 
            description = 0x7fffebf8514d "Select"}, {port = 2, device = 1, index = 0, id = 3, description = 0x7fffebf85154 "Run"}, {port = 3, device = 1, index = 0, id = 6, 
            description = 0x7fffebf85105 "D-Pad Left"}, {port = 3, device = 1, index = 0, id = 4, description = 0x7fffebf85110 "D-Pad Up"}, {port = 3, device = 1, index = 0, 
            id = 5, description = 0x7fffebf85119 "D-Pad Down"}, {port = 3, device = 1, index = 0, id = 7, description = 0x7fffebf85124 "D-Pad Right"}, {port = 3, device = 1, 
            index = 0, id = 0, description = 0x7fffebf85130 "II"}, {port = 3, device = 1, index = 0, id = 8, description = 0x7fffebf85133 "I"}, {port = 3, device = 1, index = 0, 
            id = 9, description = 0x7fffebf85135 "IV"}, {port = 3, device = 1, index = 0, id = 1, description = 0x7fffebf85138 "III"}, {port = 3, device = 1, index = 0, id = 10, 
            description = 0x7fffebf8513c "V"}, {port = 3, device = 1, index = 0, id = 11, description = 0x7fffebf8513e "VI"}, {port = 3, device = 1, index = 0, id = 12, 
            description = 0x7fffebf85141 "Mode Switch"}, {port = 3, device = 1, index = 0, id = 2, description = 0x7fffebf8514d "Select"}, {port = 3, device = 1, index = 0, 
            id = 3, description = 0x7fffebf85154 "Run"}, {port = 4, device = 1, index = 0, id = 6, description = 0x7fffebf85105 "D-Pad Left"}, {port = 4, device = 1, index = 0, 
            id = 4, description = 0x7fffebf85110 "D-Pad Up"}, {port = 4, device = 1, index = 0, id = 5, description = 0x7fffebf85119 "D-Pad Down"}, {port = 4, device = 1, 
            index = 0, id = 7, description = 0x7fffebf85124 "D-Pad Right"}, {port = 4, device = 1, index = 0, id = 0, description = 0x7fffebf85130 "II"}, {port = 4, device = 1, 
            index = 0, id = 8, description = 0x7fffebf85133 "I"}, {port = 4, device = 1, index = 0, id = 9, description = 0x7fffebf85135 "IV"}, {port = 4, device = 1, index = 0, 
            id = 1, description = 0x7fffebf85138 "III"}, {port = 4, device = 1, index = 0, id = 10, description = 0x7fffebf8513c "V"}, {port = 4, device = 1, index = 0, id = 11, 
            description = 0x7fffebf8513e "VI"}, {port = 4, device = 1, index = 0, id = 12, description = 0x7fffebf85141 "Mode Switch"}, {port = 4, device = 1, index = 0, id = 2, 
            description = 0x7fffebf8514d "Select"}, {port = 4, device = 1, index = 0, id = 3, description = 0x7fffebf85154 "Run"}, {port = 0, device = 0, index = 0, id = 0, 
            description = 0x0}}
#16 0x0000000000415c79 in core_load_game (load_info=load_info@entry=0x7fffffff9680) at core_impl.c:289
No locals.
#17 0x0000000000428299 in content_file_load (info=info@entry=0x8a6fe0, content=content@entry=0x8ac690, content_ctx=content_ctx@entry=0x7fffffffbf30, 
    error_string=error_string@entry=0x7fffffffbf00, special=0x0) at tasks/task_content.c:561
        i = <optimized out>
        load_info = {info = 0x8a6fe0, content = 0x8ac690, special = 0x0}
        msg = "\000\276\377\377\377\177\000\000\241\317^\362\377\177\000\000\340\002\243\366\377\177\000\000\300ѕ\362\377\177", '\000' <repeats 18 times>, "\004\200\255\373\004\000\000\000\340\253\225\362\377\177\000\000\300ѕ\362\377\177\000\000\214\000\000\000\000\000\000\000З\377\377\377\177\000\000\016\230\377\377\377\177\000\000з\377\377\377\177\000\000h [libretro INFO] :: \177", '\000' <repeats 18 times>, "\004\200\255\373\377\177\000\000\300ѕ\362\377\177\000\000@\235\377\377\004\000\000\000\207(\255\373\000\000\000\000@s\204", '\000' <repeats 13 times>, "\060\270\377\377\377\177\000\000h [INFO"...
        additional_path_allocs = 0x8ac960
#18 0x0000000000428f30 in content_file_init (error_string=0x7fffffffbf00, content_ctx=0x7fffffffbf30) at tasks/task_content.c:736
        i = <optimized out>
        info = 0x8a6fe0
        content = 0x8ac690
        ret = true
        special = <optimized out>
#19 content_init () at tasks/task_content.c:1404
        content_ctx = {subsystem = {data = 0x0, size = 0}, valid_extensions = 0x8ac670 "pce|cue|ccd", directory_cache = 0x8ac650 "/tmp", 
          directory_system = 0x8d9980 "/home/xxxxx/Games/RetroArch/system", history_list_enable = true, block_extract = false, need_fullpath = true, 
          set_supports_no_game_enable = true, temporary_content = 0x8ac420}
        ret = true
        error_string = 0x0
        sys_info = 0x851500 <runloop_system>
        settings = <optimized out>
#20 0x000000000041dfbe in event_init_content () at command.c:1336
No locals.
#21 command_event_init_core (data=0x839010 <current_core_type>) at command.c:1401
        info = {env = 0x4489c0 <rarch_environment_cb>}
        settings = 0x7fffecaeb010
#22 command_event (cmd=cmd@entry=CMD_EVENT_CORE_INIT, data=data@entry=0x839010 <current_core_type>) at command.c:2229
        boolean = false
#23 0x00000000004183f6 in retroarch_main_init (argc=4, argv=argv@entry=0x7fffffffdda8) at retroarch.c:1075
        init_failed = false
#24 0x0000000000427a63 in content_load (info=0x7fffffffdda8) at tasks/task_content.c:276
        i = <optimized out>
        retval = true
        rarch_argc = 0
        rarch_argv_ptr = 0x7fffffffdda8
        rarch_argv = {0x0 <repeats 32 times>}
        argv_copy = {0x0 <repeats 32 times>}
        rarch_argc_ptr = 0x7fffffffdc90
        wrap_args = 0x8a3910
#25 task_load_content (content_info=content_info@entry=0x7fffffffdc90, launched_from_menu=launched_from_menu@entry=false, mode=mode@entry=CONTENT_MODE_LOAD_FROM_CLI, 
    error_string=error_string@entry=0x7fffffffdbc0, content_ctx=0x7fffffffdbf0) at tasks/task_content.c:807
        name = "\000\311\377\377\377\177\000\000l>\336\367\377\177\000\000\070\223\226\364\377\177\000\000\222y\023O\000\000\000\000\b\000\000\000\000\000\000\000J\000\000\000\000\000\000\000\300\223\342\367\377\177\000\000\346G\336\367\377\177\000\000XM\275\364\377\177\000\000\320\311\377\377\377\177\000\000\020\017\242\366\377\177\000\000\340\312\377\377\377\177\000\000\320\033\242\366\377\177\000\000\346M<\001\000\000\000\000\320\312\377\377\377\177\000\000\325|\336\367\377\177\000\000\000\000\000\000\000\000\000\000\210\226\342\367\377\177\000\000\370Y\374\367\377\177\000\000\335M@\000\000\000\000\000\220.\242\366\377\177\000\000p1@\000\000\000\000\000\000\000\000\000\001\000\000\000\210\000\000\000\001\000\000\000\320\311\377\377\377\177\000\000"...
        msg = "\000\000\000\000\000\000\000\000\210\226\342\367\377\177\000\000\001", '\000' <repeats 15 times>, "\001\000\000\000\377\177\000\000\310\341\377\367\377\177\000\000\310L\275\364\377\177\000\000\325|\336\367\377\177\000\000\001\000\000\000\025\000\000\000\370\065\343\367\377\177\000\000\000\000\000\000\000\000\000\000 \345\377\367\377\177\000\000\340\312\377\377\377\177\000\000\320\312\377\377\377\177\000\000\222y\023O\000\000\000\000\335M@\000\000\000\000\000\377\377\377\377\000\000\000\000$\000\000\000\000\000\000\000\320\033\242\366\377\177\000\000\370Y\374\367\377\177\000\000\221\064\000\000\000\200\377\377(\000\000\000\000\000\000\000\201\064\000\000\000\200\377\377\003", '\000' <repeats 15 times>...
#26 0x0000000000428853 in task_push_content_load_default (core_path=core_path@entry=0x0, fullpath=fullpath@entry=0x0, content_info=content_info@entry=0x7fffffffdc90, 
    type=type@entry=CORE_TYPE_PLAIN, mode=mode@entry=CONTENT_MODE_LOAD_FROM_CLI, cb=cb@entry=0x0, user_data=user_data@entry=0x0) at tasks/task_content.c:1223
        content_ctx = {subsystem = {data = 0x0, size = 0}, valid_extensions = 0x0, directory_cache = 0x0, directory_system = 0x0, history_list_enable = false, 
          block_extract = false, need_fullpath = false, set_supports_no_game_enable = false, temporary_content = 0x4}
        loading_from_menu = <optimized out>
        error_string = 0x0
        settings = <optimized out>
#27 0x0000000000414e64 in rarch_main (argc=4, argv=0x7fffffffdda8, data=0x0) at frontend/frontend.c:113
        info = {argc = 4, argv = 0x7fffffffdda8, args = 0x0, environ_get = 0x413e50 <frontend_linux_get_env>}
        args = 0x0
#28 0x00007ffff25bff45 in __libc_start_main (main=0x412320 <main>, argc=4, argv=0x7fffffffdda8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
    stack_end=0x7fffffffdd98) at libc-start.c:287
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 7376506995942151229, 4268839, 140737488346528, 0, 0, -7376506994964769731, -7376479817422941123}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x528100 <__libc_csu_init>, 0x7fffffffdda8}, data = {prev = 0x0, cleanup = 0x0, canceltype = 5406976}}}
        not_first_call = <optimized out>
#29 0x0000000000412350 in _start ()
No symbol table info available.

WAVE is the default file type name for *.wav files, so it should work, see http://wiki.hydrogenaud.io/index.php?title=Cue_sheet for reference.

I was using BINARY as workaround:

FILE "Ginga Fukei Densetsu Sapphire (Japan) (Reprint) (Track 01).wav" BINARY
  TRACK 01 AUDIO
    INDEX 01 00:00:00

Maybe this is why some users complains about "lack" of bin+wav+cue support.

sergiobenrocha2 commented 7 years ago

Just a side note: upstream does not need that change in CDAccess_Image.cpp, because it works using libsndfile.