Closed atsushieno closed 5 years ago
some facts:
*p
seems to be causing the problem.2018-09-09 20:55:44.800 10280-10280/name.atsushieno.fluidsynthmidideviceservicej I/System.out: ASSET SEEK 1 : 0 / 2
2018-09-09 20:55:44.800 10280-10280/name.atsushieno.fluidsynthmidideviceservicej I/System.out: ASSET SEEK 4
2018-09-09 20:55:45.689 10280-10280/name.atsushieno.fluidsynthmidideviceservicej I/System.out: ASSET SEEK 7: 148398306
2018-09-09 20:55:45.689 10280-10280/name.atsushieno.fluidsynthmidideviceservicej I/System.out: ASSET TELL 1
2018-09-09 20:55:46.562 10280-10280/name.atsushieno.fluidsynthmidideviceservicej I/System.out: ASSET TELL 2 : 148398306
2018-09-09 20:55:46.563 10280-10280/name.atsushieno.fluidsynthmidideviceservicej I/System.out: ASSET SEEK 1 : 0 / 0
2018-09-09 20:55:46.563 10280-10280/name.atsushieno.fluidsynthmidideviceservicej I/System.out: ASSET SEEK 2
2018-09-09 20:55:46.563 10280-10280/name.atsushieno.fluidsynthmidideviceservicej I/System.out: ASSET SEEK 5: 0
2018-09-09 20:55:46.563 10280-10280/name.atsushieno.fluidsynthmidideviceservicej I/System.out: ASSET READ 1 : 8
2018-09-09 20:55:46.563 10280-10280/name.atsushieno.fluidsynthmidideviceservicej I/System.out: ASSET READ 2
2018-09-09 20:55:46.563 10280-10280/name.atsushieno.fluidsynthmidideviceservicej I/System.out: ASSET READ 3
2018-09-09 20:55:46.563 10280-10280/name.atsushieno.fluidsynthmidideviceservicej I/System.out: ASSET READ 4: read 8 byte(s). 82 73 70 70
2018-09-09 20:57:26.119 10280-10280/name.atsushieno.fluidsynthmidideviceservicej A/libc: Fatal signal 4 (SIGILL), code 2, fault addr 0xce96771e in tid 10280 (ideviceservicej), pid 10280 (ideviceservicej)
2018-09-09 20:57:30.052 10280-10280/name.atsushieno.fluidsynthmidideviceservicej A/libc: crash_dump helper failed to exec
2018-09-09 20:57:30.053 10280-10280/name.atsushieno.fluidsynthmidideviceservicej A/libc: failed to wait for crash_dump helper: No child processes
This does not happen if I use x86_64 emulator.
Some people reports that the same(?) problem started to happen when NDK default switched to clang from gcc: https://stackoverflow.com/questions/7901867/what-causes-signal-sigill#comment85158375_7901891
It crashes on Pixel2 (assuming that the build is arm64-v8a, possibly armeabi-v7a). Something is x64-specific.
The same binary crashed on x86 and Xamarin.Android, meaning that the binary build itself is likely broken (due to the issue mentioned at https://github.com/atsushieno/fluidsynth-midi-service-j/issues/2#issuecomment-431296091)
Basically this change fixes the exact part: https://github.com/atsushieno/fluidsynth-fork/commit/0239d37
fluid_opensles.c has similar SIGILL problem around fluid_opensles_adjust_latency()
(this is hacky code and should be rewritten anyways).
This is practically fixed by 9a4c265. There are still remaining code path that could hit the issue but it is not really anticipated.
Something went wrong...