atsushieno / aap-lv2-sfizz

sfizz plugin for AAP using aap-lv2
MIT License
3 stars 0 forks source link

audio processing i.e. run() fails, around CC processing #6

Closed atsushieno closed 1 year ago

atsushieno commented 2 years ago

There is almost no actual failure details around, but the latest import does not complete run(), especially around resync_cc. It was why I have implemented ResizePort support, but even after its working allocation it seems to crash. It does not seem to be an isolatable culprit - commenting it out did not work.

logcat almost only reports SEGV and lldb only catches ASanDie() (when ASAN is enabled, of course no details without it either).

No difference between sfizz 1.2.0, 1.1.1 and 1.1.0.

atsushieno commented 2 years ago

And forgot to note, it is an intermittent heisenbug that if I step over those lines it can complete audio processing and I get the expected outputs.

atsushieno commented 2 years ago

Related: https://github.com/atsushieno/android-audio-plugin-framework/issues/113 - I figured out there are inconsistency between mmap() and munmap() with respect to the argument buffer size. It may be causing the problem (though I rather guess it should always fail; yet the referenced issue is also intermittent so it may not be 100% reproducible either == my assumption could be still valid).

atsushieno commented 2 years ago

The latest build for V2 protocol fails on MidiDeviceService as:

02:56:33.424 3088-3224 libc org...n.samples.aap_sfizz A /media/atsushi/extssd0/sources/AAP/aap-lv2-sfizz/external/sfizz/plugins/lv2/sfizz.cpp:1071: void run(LV2_Handle, uint32_t): assertion "false" failed

which is in run():

    if (!lv2_atom_forge_sequence_head(&self->forge_automate, &automate_frame, 0))
        assert(false);

Not sure if aap-juce-pluginhost works (it's not migrated to V2 yet).

atsushieno commented 1 year ago

apart from the forementioned aap-lv2 issue (still broken on aap-juce-plugin-host), this is fixed.