newsAdvanced Gtk+ Sequencer - News

 
 

Got segfault after a while of recording

Item posted by Joël Krähemann <jkraehemann> on Thu 20 Sep 2018 03:04:31 PM UTC.

Capturing sound works good. However gsequencer crashed once, from my `journalctl -b`:


Sep 20 14:22:27 deb-halen kernel: gsequencer[3841]: segfault at 7f44548ba000 ip 00007f44c261a8cb sp 00007f447a755528 error 6 in libags_audio.so.2.0.0[7f44c2600000+133000]
Sep 20 14:22:27 deb-halen kernel: Code: 29 f5 48 8d 34 09 48 89 44 24 b0 48 89 d1 48 89 74 24 a8 4d 01 ed 48 89 f8 31 f6 0f 1f 40 00 0f b7 11 48 8b 7c 24 b8 83 c6 08 <66> 01 10 42 0f b7 14 21 66 42 01 14 10 48 8b 54 24 c0 0f b7 14 11


I think it is a bad file descriptor. Since the scheduling of IO makes trouble. In GSequencer you usually have this order:

  1. ... idle
  2. read input from soundcard
  3. compute audio data
  4. write output to soundcard
  5. idle ...


The problem now, is there is no hint where in attacks in the order. Ideally it would start during idle but there is no guarantee to it. One more problem is the library could yet have been starting playback and then you decide to do capture sound. One more is communication between GUI and audio layer happens async and non-blocking.

Anyhow, even as it would do proper order. Reading soundcard first is believed to be bad for ALSA because it expects output.

You should think about it. I tell you as figured out a solution.



by Joël

Back to the top

Powered by Savane 3.13-3cd0.
Corresponding source code