Segmentation Fault with SC3.10.3 on Linux

Hi all:

Building SC3 from latest source on KDE Neon (system info below). Build flags:

-DSC_ABLETON_LINK=OFF DSC_ED=OFF -DSC_EL=OFF -DSC_WII=OFF -DSC_VIM=OFF -DSC_IDE=ON -DNATIVE=on

Cannot boot the server. Any advice appreciated. Outputs are as follows:

GUI output:

*** Welcome to SuperCollider 3.10.3. *** For help press Ctrl-D.
SCDoc: Indexing help-files...
SCDoc: Indexed 1908 documents in 0.6 seconds
-> 12
-> localhost
Booting server 'localhost' on address 127.0.0.1:57110.
Faust: supercollider.cpp: sc_api_version = 3
Faust: FaustJPverbRaw numControls=11
Faust: supercollider.cpp: sc_api_version = 3
Faust: FaustGreyholeRaw numControls=7
Server 'localhost' exited with exit code 0.

Terminal output:

nodenoise@nodenoise-Precision-Tower-3620:~$ scsynth -u 57110
Faust: supercollider.cpp: sc_api_version = 3
Faust: FaustJPverbRaw numControls=11
Faust: supercollider.cpp: sc_api_version = 3
Faust: FaustGreyholeRaw numControls=7
Segmentation fault

User is in the audio group which is configured correctly, jackd has been started, etc.

System Info:
Operating System: KDE neon 5.17
KDE Plasma Version: 5.17.4
KDE Frameworks Version: 5.64.0
Qt Version: 5.13.2
Kernel Version: 5.0.0-37-lowlatency
OS Type: 64-bit
Processors: 8 × Intel® Xeon® CPU E3-1240 v6 @ 3.70GHz
Memory: 31.3 GiB of RAM

A bit more:

$ scsynth -u 57110 -U "/usr/local/share/SuperCollider/Extensions/SC3plugins/"
JackDriver: client name is 'SuperCollider'
SC_AudioDriver: sample rate = 48000.000000, driver's block size = 512
SuperCollider 3 server ready.
Zeroconf: registered service 'SuperCollider'

Seems to work? But not in scide…

More: the internal server is working. The following

s = Server.internal;
Server.default = s;
s.boot;
s.makeGui
{SinOsc.ar()}.play;

results in the ubiquitous sine tone we all know and love. Are there compile flags I’m using (or should) or missing dependencies that could screw up the scsynth executable but not produce errors?

Post window output from the above:

-> internal
changed default server to: internal
-> Server
-> internal
Booting internal server.
JackDriver: client name is 'SuperCollider'
SC_AudioDriver: sample rate = 48000.000000, driver's block size = 512
JackDriver: connected  system:capture_1 to SuperCollider:in_1
JackDriver: connected  system:capture_2 to SuperCollider:in_2
JackDriver: connected  SuperCollider:out_1 to system:playback_1
JackDriver: connected  SuperCollider:out_2 to system:playback_2
JackDriver: max output latency 32.0 ms
Requested notification messages from server 'internal'
internal: keeping clientID (0) as confirmed by server process.
Shared memory server interface initialized
-> a QWindow
-> Synth('temp__3' : 1000)

have you tried booting without any additional plugins? looks like you are at least using two Faust plugins from sc3-plugins. can you get a core dump and post a backtrace?

I removed all extensions (plugins) in my testing. The Faust lines in the boot output still appear. Are these part of vanilla? I have no other extensions (Quarks or Ugens) installed. The problem remained.

I will post a backtrace when I am in front of the machine again. This problem is curious as I just build SC3 on a different machine with the same options and same OS with no issues. I have tried removing the install completely and rebuilding without the NATIVE flag, but no-go.

i think you should do a double check, those plugins are not included by default. i would guess that is the source of your issue.

The SCPlugins were not the problem. Using valgrind with scsynth -u… there were about 8500+ lines of the following:

==26886== 45000 errors in context 239 of 239:
==26886== Conditional jump or move depends on uninitialised value(s)
==26886==    at 0x65611F4: __exp1_fma (e_exp.c:252)
==26886==    by 0x6562718: __ieee754_pow_fma (e_pow.c:115)
==26886==    by 0x20FAAAD3: ??? (in /usr/lib/ladspa/ZamTube-ladspa.so)
==26886==    by 0x20FAA655: ??? (in /usr/lib/ladspa/ZamTube-ladspa.so)
==26886==    by 0x20FAA9BA: ??? (in /usr/lib/ladspa/ZamTube-ladspa.so)
==26886==    by 0x20FAC5EB: ??? (in /usr/lib/ladspa/ZamTube-ladspa.so)
==26886==    by 0x20FACF63: ??? (in /usr/lib/ladspa/ZamTube-ladspa.so)
==26886==    by 0x20FA872F: ??? (in /usr/lib/ladspa/ZamTube-ladspa.so)
==26886==    by 0x4010732: call_init (dl-init.c:72)
==26886==    by 0x4010732: _dl_init (dl-init.c:119)
==26886==    by 0x40151FE: dl_open_worker (dl-open.c:522)
==26886==    by 0x6BF72DE: _dl_catch_exception (dl-error-skeleton.c:196)
==26886==    by 0x40147C9: _dl_open (dl-open.c:605)
==26886== 
==26886== ERROR SUMMARY: 2062836 errors from 239 contexts (suppressed: 0 from 0)

ZamTube-ladspa was installed as part of the KXStudio meta-audio-plugin-ladspa package. When I removed the ZamTube-ladspa.so file, Server.local boots fine. I guess what’s happening is some sort of memory error as Server.local checks all the ladspa plugins and hits this obviously krunked file which spits out a billion errors causing the server to barf. (barf being a technical term.) Perhaps the Server.internal does not have this problem because it is in a shared memory space with the lang? No idea.

even if it wasn’t one of the sc3-plugins, this looks exactly like this issue in sc3-plugins from this year: https://github.com/supercollider/sc3-plugins/issues/257

scsynth and its vanilla plugins do not have any knowledge of LADSPA, so it must have been a plugin somewhere. glad you fixed it!