ahlstromcj / sequencer64

A major reboot of Seq24. Current release 0.97.0 (2021-05-13), native JACK MIDI, Song recording, playlists, and a Windows/Qt version. For fresher code, see the Seq66 project. Note that trigger and mute-group-in-MIDI-file formats have evolved! Back up your work!
GNU Affero General Public License v3.0
235 stars 29 forks source link

Segmentation Fault on midi sequence stop (also on JACK transport stop) #172

Open X-Ray-Oz opened 5 years ago

X-Ray-Oz commented 5 years ago

Version: Sequencer64 0.96.0 Build features:

Native JACK/ALSA (rtmidi) on Event editor on Follow progress bar on Highlight edit pattern on Highlight empty patterns on JACK session on JACK support on MIDI vector (vs list) on Seq32 chord generator on Seq32 LFO window on Seq32 menu buttons on Seq32 transpose on BPM Tap button on Solid piano-roll grid on Optional pattern coloring on Multiple main windows on Song performance recording on Pause support on Save time-sig/tempo on Debug code on 64-bit support enabled

Options are enabled/disabled via the configure script, libseq64/include/seq64_features.h, or the build-specific seq64-config.h file in include or in include/qt/portmidi

Sequencer terminates itself with segmentation fault whenever I stop the transport (either in seq64 or in qjackctl).

X-Ray-Oz commented 5 years ago

I believe I identified the problem just then. Under Options / Midi Clock, it is possible to disable ports. As long as all ports are ENABLED, the segmentation fault does NOT occur. To generate the segmentation fault, it is sufficient to disable just a single port, save the configuration file, re-start seq64, start playback (with or without patterns), and then stop playback. The stop will cause the segmentation fault.

Looks like se64 is not taking disabled ports into consideration. Cheers

Rainer

ahlstromcj commented 5 years ago

Unable to duplicate so far. Can you send/post the relevant snippet of your configuration file?

Thanks!

-------- X-Ray-Oz 05:19 Sun 24 Feb --------

I believe I identified the problem just then. Under Options / Midi Clock, it is possible to disable ports. As long as all ports are ENABLED, the segmentation fault does NOT occur. To generate the segmentation fault, it is sufficient to disable just a single port, save the configuration file, re-start seq64, start playback (with or without patterns), and then stop playback. The stop will cause the segmentation fault.

Looks like se64 is not taking disabled ports into consideration. Cheers

Rainer

— You are receiving this because you are subscribed to this thread. Reply to this email directly, [1]view it on GitHub, or [2]mute the thread.

References

Visible links

  1. https://github.com/ahlstromcj/sequencer64/issues/172#issuecomment-466774498
  2. https://github.com/notifications/unsubscribe-auth/AHnVqLMjkRYtFm1LH5C0YcjDzEPa2Bv_ks5vQpFQgaJpZM4bOhn-

-- Have a place for everything and keep the thing somewhere else; this is not advice, it is merely custom. -- Mark Twain