divideconcept / FluidLite

Very light version of FluidSynth designed to be hardware, platform and external dependency independent.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FluidLite crash with specific soundfont

ePirat opened this issue · comments

Using a specific soundfont with FluidLite, it causes a crash:

It happens with both of these soundfonts for me, the first is a probably truncated or otherwise broken version of the full one.

(I tested this in VLC, with both FluidLite (a95c030) and FluidSynth, the crash only happens with FluidLite.)

Trace:

libfluidsynth_plugin.dylib was compiled with optimization - stepping may behave oddly; variables may not be available.
Process 52655 stopped
* thread #27, stop reason = EXC_BAD_ACCESS (code=1, address=0x29)
    frame #0: 0x000000010d29ef6c libfluidsynth_plugin.dylib`fluid_defsfont_sfont_get_preset [inlined] fluid_defsfont_get_preset(sfont=0x000000010a1983f0) at fluid_defsfont.c:600 [opt]
   597 	{
   598 	  fluid_defpreset_t* preset = sfont->preset;
   599 	  while (preset != NULL) {
-> 600 	    if ((preset->bank == bank) && ((preset->num == num))) {
   601 	      return preset;
   602 	    }
   603 	    preset = preset->next;
Target 0: (vlc-osx-static) stopped.
(lldb) bt
error: libarclite_macosx.a(arclite.o) failed to load objfile for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a
* thread #27, stop reason = EXC_BAD_ACCESS (code=1, address=0x29)
  * frame #0: 0x000000010d29ef6c libfluidsynth_plugin.dylib`fluid_defsfont_sfont_get_preset [inlined] fluid_defsfont_get_preset(sfont=0x000000010a1983f0) at fluid_defsfont.c:600 [opt]
    frame #1: 0x000000010d29ef47 libfluidsynth_plugin.dylib`fluid_defsfont_sfont_get_preset(sfont=0x000000010a18dd60, bank=0, prenum=1) at fluid_defsfont.c:188 [opt]
    frame #2: 0x000000010d2ac780 libfluidsynth_plugin.dylib`fluid_synth_program_change [inlined] fluid_synth_find_preset(synth=<unavailable>, banknum=<unavailable>, prognum=1) at fluid_synth.c:1477 [opt]
    frame #3: 0x000000010d2ac6ff libfluidsynth_plugin.dylib`fluid_synth_program_change(synth=0x00000001005c8b60, chan=0, prognum=1) at fluid_synth.c:1519 [opt]
    frame #4: 0x000000010d29c483 libfluidsynth_plugin.dylib`DecodeBlock(p_dec=0x00000001002a61e0, p_block=0x00000001002ad930) at fluidsynth.c:277 [opt]
    frame #5: 0x000000010010018c libvlccore.dylib`DecoderProcess [inlined] DecoderDecode(p_dec=0x00000001002a61e0, p_block=<unavailable>) at decoder.c:1325 [opt]
    frame #6: 0x0000000100100179 libvlccore.dylib`DecoderProcess(p_dec=0x00000001002a61e0, p_block=<unavailable>) at decoder.c:1448 [opt]
    frame #7: 0x00000001000fdcb8 libvlccore.dylib`DecoderThread(p_data=0x00000001002a61e0) at decoder.c:1604 [opt]
    frame #8: 0x00007fff7a1e66c1 libsystem_pthread.dylib`_pthread_body + 340
    frame #9: 0x00007fff7a1e656d libsystem_pthread.dylib`_pthread_start + 377
    frame #10: 0x00007fff7a1e5c5d libsystem_pthread.dylib`thread_start + 13

@ePirat did you compile them yourself? I could look into it from a linux perspective.

Possibly related to #17
This fixed it in my fork.

It seems this issue can be closed.

Is it fixed upstream now?

Ah yes seems this was merged, so I'll close this.

@ePirat can you test it?

I'll try but I am not sure I still can find the file needed for that, due to hardware failure of the server they were on…