Server 'localhost' exited with exit code 0

I’m working on a fairly big project that gives me intermittent errors of the kind “Server ‘localhost’ exited with exit code 0.” when booting. It happens maybe 10% of the times. Since the error message doesn’t tell me more than that it’s hard to know what’s happening. What would be a good strategy to investigate this?
What i’ve done so far includes commenting out parts of the code and putting in postln markers to where it fails. But i figured there might be ways to probe the server to see what’s actually going on that i’m not aware of.

i think scsynth.exe is already runnin then.
in windows for example you can use the task manager to kill the process.

Unfortunately, it’s not that simple it seems. I have tried running

"killall scsynth".unixCmd;

before running my system but it can happen anyway.

Which OS?

If it’s Windows, it might be sensitive to the audio device and driver. Should be less sensitive to that in macOS but not sure it’s 100% bulletproof. (In Linux, if Jack is running successfully, the server should be ok.)

Are you loading any SynthDefs or buffers when booting the server?

hjh

OSX mojave (latest version) and SC 3.11. Yes, i add all my synthdefs to the server and load some buffers in a waitForBoot. But it seems it fails before doing that according to the postln tests. When it fails that is. Because most of the time it works. I also tried with different audio drivers.

Btw: if i switch to supernova it fails 100% of the time. Could that give some clues?

Oh, I just remembered what to do on Mac.

Check the console log for scsynth (Console app under Utilities.) If there’s a crash report, it should say which part of the code is failing.

hjh

Ah, yes, there seems to be two different types of crashes SIGSEGV and SIGABRT. Which according to Apple means “Bad Memory Access” or “Abnormal Exit”. I’m not sure how to decipher this though. I also use Ambisonics Toolkit and load some kernels at boot. Maybe there’s just too much memory allocation going on at the same time? But it should crash anyway i guess. Or it should at least crash all the time. :wink:

Process:               scsynth [35921]
Path:                  /Volumes/VOLUME/*/SuperCollider.app/Contents/Resources/../Resources/scsynth
Identifier:            scsynth
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        sclang [34716]
Responsible:           scsynth [35921]
User ID:               2058162021

Date/Time:             2020-04-06 23:25:47.121 +0200
OS Version:            Mac OS X 10.14.6 (18G4032)
Report Version:        12
Bridge OS Version:     3.0 (14Y906)
Anonymous UUID:        F336808F-D699-44F8-A7DC-3EC3F4A81A66

Sleep/Wake UUID:       ABDB9152-CFF0-45AA-8988-A94BF0012C53

Time Awake Since Boot: 370000 seconds
Time Since Wake:       36000 seconds

System Integrity Protection: enabled

Notes:                 Translocated Process

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000700000000018
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [35921]

VM Regions Near 0x700000000018:
    MALLOC_LARGE           00000001283b8000-00000001283b9000 [    4K] rw-/rwx SM=PRV  
--> 
    STACK GUARD            000070000c275000-000070000c276000 [    4K] ---/rwx SM=NUL  stack guard for thread 1

Application Specific Information:
objc_msgSend() selector name: isEqual:


Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib               	0x00007fff6218969d objc_msgSend + 29
1   com.apple.CoreFoundation      	0x00007fff379ad2b5 CFEqual + 637
2   com.apple.CoreFoundation      	0x00007fff379aa98e CFBasicHashFindBucket + 1218
3   com.apple.CoreFoundation      	0x00007fff379aa4a6 CFDictionaryGetValue + 90
4   com.apple.CoreFoundation      	0x00007fff37a015d3 _CFBundleCopyFromTablesForURL + 42
5   com.apple.CoreFoundation      	0x00007fff37a9f792 _CFBundleCreate + 181
6   com.apple.CoreFoundation      	0x00007fff37a0127b _CFBundleEnsureBundleExistsForImagePath + 55
7   com.apple.CoreFoundation      	0x00007fff37a01114 CFBundleGetBundleWithIdentifier + 221
8   com.apple.HIToolbox           	0x00007fff36c3e8a1 HLTBGetBundleIDName + 40
9   com.apple.HIToolbox           	0x00007fff36c3ec28 GetInputSourceEnabledPrefs + 52
10  com.apple.HIToolbox           	0x00007fff36c3e17a isPrefsCreateCacheFromEnabledAndDefaultInputSources + 68
11  com.apple.HIToolbox           	0x00007fff36c3db38 islGetInputSourceListWithAdditions + 192
12  com.apple.HIToolbox           	0x00007fff36c3da50 TSMGetInputSourceCountWithFilteredAdditions + 38
13  com.apple.HIToolbox           	0x00007fff36c3c82c TISCreateInputSourceList + 84
14  com.apple.HIToolbox           	0x00007fff36c3c50e SyncHandwritingHotKey + 128
15  com.apple.HIToolbox           	0x00007fff36c3b570 _FirstEventTime + 852
16  com.apple.HIToolbox           	0x00007fff36c3b0b8 RunCurrentEventLoopInMode + 49
17  com.apple.HIToolbox           	0x00007fff36c3aded ReceiveNextEventCommon + 355
18  com.apple.HIToolbox           	0x00007fff36c3ac76 _BlockUntilNextEventMatchingListInModeWithFilter + 64
19  com.apple.AppKit              	0x00007fff34fd277d _DPSNextEvent + 1135
20  com.apple.AppKit              	0x00007fff34fd146b -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361
21  scsynth                       	0x0000000109701026 SC::Apple::EventLoop::run() + 278
22  scsynth                       	0x00000001096fd6a8 EventLoop::run(std::__1::function<void ()>) + 136
23  scsynth                       	0x00000001096fbabf main + 2383
24  libdyld.dylib                 	0x00007fff639663d5 start + 1

Thread 1:
0   libsystem_pthread.dylib       	0x00007fff63b593f0 start_wqthread + 0

Thread 2:
0   libsystem_pthread.dylib       	0x00007fff63b593f0 start_wqthread + 0

Thread 3:
0   libsystem_pthread.dylib       	0x00007fff63b593f0 start_wqthread + 0

Thread 4:
0   libsystem_kernel.dylib        	0x00007fff63a9ef2e __semwait_signal + 10
1   libsystem_c.dylib             	0x00007fff63a2a914 nanosleep + 199
2   libc++.1.dylib                	0x00007fff60b9adc4 std::__1::this_thread::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 73
3   UIUGens.scx                   	0x000000010d9c0f69 gstate_update_func() + 201
4   UIUGens.scx                   	0x000000010d9c2128 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)()> >(void*) + 40
5   libsystem_pthread.dylib       	0x00007fff63b5a2eb _pthread_body + 126
6   libsystem_pthread.dylib       	0x00007fff63b5d249 _pthread_start + 66
7   libsystem_pthread.dylib       	0x00007fff63b5940d thread_start + 13

Thread 5:
0   libsystem_kernel.dylib        	0x00007fff63a9e866 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff63b5d56e _pthread_cond_wait + 722
2   libc++.1.dylib                	0x00007fff60b97a0a std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   DiskIO_UGens.scx              	0x000000010dafa794 void std::__1::condition_variable_any::wait<std::__1::unique_lock<std::__1::mutex> >(std::__1::unique_lock<std::__1::mutex>&) + 84
4   DiskIO_UGens.scx              	0x000000010dafa42b (anonymous namespace)::DiskIOThread::ioThreadFunc() + 123
5   DiskIO_UGens.scx              	0x000000010dafa8de void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, std::__1::__bind<void ((anonymous namespace)::DiskIOThread::*)(), (anonymous namespace)::DiskIOThread*> > >(void*) + 62
6   libsystem_pthread.dylib       	0x00007fff63b5a2eb _pthread_body + 126
7   libsystem_pthread.dylib       	0x00007fff63b5d249 _pthread_start + 66
8   libsystem_pthread.dylib       	0x00007fff63b5940d thread_start + 13

Thread 6:
0   libsystem_kernel.dylib        	0x00007fff63a9ef2e __semwait_signal + 10
1   libsystem_c.dylib             	0x00007fff63a2a914 nanosleep + 199
2   libsystem_c.dylib             	0x00007fff63a2a776 sleep + 41
3   scsynth                       	0x000000010971181a resyncThreadFunc() + 58
4   scsynth                       	0x0000000109710e08 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)()> >(void*) + 40
5   libsystem_pthread.dylib       	0x00007fff63b5a2eb _pthread_body + 126
6   libsystem_pthread.dylib       	0x00007fff63b5d249 _pthread_start + 66
7   libsystem_pthread.dylib       	0x00007fff63b5940d thread_start + 13

Thread 7:
0   libsystem_kernel.dylib        	0x00007fff63a9e866 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff63b5d56e _pthread_cond_wait + 722
2   libc++.1.dylib                	0x00007fff60b97a0a std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   scsynth                       	0x0000000109716d64 void std::__1::condition_variable_any::wait<std::__1::unique_lock<std::__1::mutex> >(std::__1::unique_lock<std::__1::mutex>&) + 84
4   scsynth                       	0x00000001097124eb SC_AudioDriver::RunThread() + 139
5   scsynth                       	0x000000010971704e void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, std::__1::__bind<void (SC_AudioDriver::*)(), SC_AudioDriver*> > >(void*) + 62
6   libsystem_pthread.dylib       	0x00007fff63b5a2eb _pthread_body + 126
7   libsystem_pthread.dylib       	0x00007fff63b5d249 _pthread_start + 66
8   libsystem_pthread.dylib       	0x00007fff63b5940d thread_start + 13

Thread 8:
0   libsystem_kernel.dylib        	0x00007fff63a9b26e semaphore_timedwait_trap + 10
1   libdispatch.dylib             	0x00007fff63919c99 _dispatch_sema4_timedwait + 76
2   libdispatch.dylib             	0x00007fff6391a377 _dispatch_semaphore_wait_slow + 58
3   libdispatch.dylib             	0x00007fff639271fd _dispatch_worker_thread + 317
4   libsystem_pthread.dylib       	0x00007fff63b5a2eb _pthread_body + 126
5   libsystem_pthread.dylib       	0x00007fff63b5d249 _pthread_start + 66
6   libsystem_pthread.dylib       	0x00007fff63b5940d thread_start + 13

Thread 9:: com.apple.audio.IOThread.client
0   libsystem_kernel.dylib        	0x00007fff63a9b21a mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff63a9b768 mach_msg + 60
2   com.apple.audio.CoreAudio     	0x00007fff3744a9f7 HALC_IOContext_Start + 145
3   com.apple.audio.CoreAudio     	0x00007fff374490e3 HALC_ProxyIOContext::IOWorkLoop() + 317
4   com.apple.audio.CoreAudio     	0x00007fff37448df4 HALC_ProxyIOContext::IOThreadEntry(void*) + 122
5   com.apple.audio.CoreAudio     	0x00007fff37448956 HALB_IOThread::Entry(void*) + 72
6   libsystem_pthread.dylib       	0x00007fff63b5a2eb _pthread_body + 126
7   libsystem_pthread.dylib       	0x00007fff63b5d249 _pthread_start + 66
8   libsystem_pthread.dylib       	0x00007fff63b5940d thread_start + 13

Thread 10:: com.apple.audio.IOThread.client
0   libsystem_kernel.dylib        	0x00007fff63a9b21a mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff63a9b768 mach_msg + 60
2   com.apple.audio.CoreAudio     	0x00007fff3744a9f7 HALC_IOContext_Start + 145
3   com.apple.audio.CoreAudio     	0x00007fff374490e3 HALC_ProxyIOContext::IOWorkLoop() + 317
4   com.apple.audio.CoreAudio     	0x00007fff37448df4 HALC_ProxyIOContext::IOThreadEntry(void*) + 122
5   com.apple.audio.CoreAudio     	0x00007fff37448956 HALB_IOThread::Entry(void*) + 72
6   libsystem_pthread.dylib       	0x00007fff63b5a2eb _pthread_body + 126
7   libsystem_pthread.dylib       	0x00007fff63b5d249 _pthread_start + 66
8   libsystem_pthread.dylib       	0x00007fff63b5940d thread_start + 13

Thread 11:
0   libsystem_kernel.dylib        	0x00007fff63aa178a kevent + 10
1   scsynth                       	0x000000010970cde3 boost::asio::detail::kqueue_reactor::run(long, boost::asio::detail::op_queue<boost::asio::detail::scheduler_operation>&) + 275
2   scsynth                       	0x000000010970c81b boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) + 363
3   scsynth                       	0x000000010970c4e2 boost::asio::detail::scheduler::run(boost::system::error_code&) + 194
4   scsynth                       	0x0000000109704c9b scsynth::asioFunction() + 91
5   scsynth                       	0x0000000109710e08 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)()> >(void*) + 40
6   libsystem_pthread.dylib       	0x00007fff63b5a2eb _pthread_body + 126
7   libsystem_pthread.dylib       	0x00007fff63b5d249 _pthread_start + 66
8   libsystem_pthread.dylib       	0x00007fff63b5940d thread_start + 13

Thread 12:
0   libsystem_kernel.dylib        	0x00007fff63a9b256 semaphore_wait_trap + 10
1   libdispatch.dylib             	0x00007fff63919bd9 _dispatch_sema4_wait + 16
2   libdispatch.dylib             	0x00007fff6391a39f _dispatch_semaphore_wait_slow + 98
3   scsynth                       	0x00000001097463d6 World_WaitForQuit + 38
4   scsynth                       	0x00000001096fe8d3 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, EventLoop::run(std::__1::function<void ()>)::'lambda'()> >(void*) + 51
5   libsystem_pthread.dylib       	0x00007fff63b5a2eb _pthread_body + 126
6   libsystem_pthread.dylib       	0x00007fff63b5d249 _pthread_start + 66
7   libsystem_pthread.dylib       	0x00007fff63b5940d thread_start + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x4107700000000000  rbx: 0x00007ff874d316a0  rcx: 0x00007fff92cba098  rdx: 0x00007ff875b028e0
  rdi: 0x00007ff874d316a0  rsi: 0x00007fff35b55af3  rbp: 0x00007ffee6507480  rsp: 0x00007ffee6507468
   r8: 0x00007ff875b02950   r9: 0x00000000a5baadb8  r10: 0x0000700000000000  r11: 0x00007fff35b55af3
  r12: 0x0000000000000001  r13: 0xffffffffffffffff  r14: 0x00007ff875b028e0  r15: 0x00007ff874ca4a70
  rip: 0x00007fff6218969d  rfl: 0x0000000000010206  cr2: 0x0000700000000018
  
Logical CPU:     1
Error Code:      0x00000004
Trap Number:     14

Could you test whether the same crash occurs with 3.10.4?

It did, yes. It’s been there for a while actually.

Thanks for confirming.
I think this will be hard to debug without having a reproducer. If supernova fails 100%, would you be able to post a code to reproduce it using supernova?

Probably should report this as a bug on https://github.com/supercollider/supercollider.

What is odd about this crash is that it looks like it’s happening in macOS code, not directly in our code. We are calling SC::Apple::EventLoop::run() and this is going through a bunch of other system calls, and eventually dying within com.apple.CoreFoundation.

A macOS event loop was added fairly recently to scsynth (to support UGens with user interfaces, specifically VSTPlugin) – probably in 3.10.4 but I don’t recall exactly. Something seems to be going wrong with it, but I don’t know macOS internals so I can’t guess further.

hjh

A macOS event loop was added fairly recently to scsynth (to support UGens with user interfaces, specifically VSTPlugin) – probably in 3.10.4 but I don’t recall exactly.

I think it was added in 3.11, that’s why I asked about testing in 3.10.4.

I agree that reporting as an issue on SC github would be great!

WIth supernova it seems to have changed a bit since 3.10 (if i remember correctly). At least now SC tells me something of value. I get an endless loop of:

Exception when reading synthdef: corrupted synthdef
corrupted synthdefException when reading synthdef: Exception when reading synthdef: corrupted synthdef
Exception when reading synthdef: corrupted synthdef
corrupted synthdef
Exception when reading synthdef: Exception when reading synthdef: corrupted synthdefException when reading synthdef: 
corrupted synthdef

corrupted synthdef
Exception when reading synthdef: corrupted synthdef
Exception when reading synthdef: corrupted synthdefcorrupted synthdef

Exception when reading synthdef: corrupted synthdef
Exception when reading synthdef: corrupted synthdef
Exception when reading synthdef: corrupted synthdef
Exception when reading synthdef: Exception when reading synthdef: Exception when reading synthdef: corrupted synthdefcorrupted synthdef


Exception when reading synthdef: Exception when reading synthdef: Exception when reading synthdef: corrupted synthdefcorrupted synthdef

Have to force quit the interpreter. Maybe it’s one of my synthdefs after all then? I have already tried commenting them out but i still got the error. I’ll try again.

The crash log now looks like this:

Process:               scsynth [39707]
Path:                  /Volumes/VOLUME/*/SuperCollider.app/Contents/Resources/../Resources/scsynth
Identifier:            scsynth
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        sclang [35922]
Responsible:           scsynth [39707]
User ID:               2058162021

Date/Time:             2020-04-07 00:56:26.590 +0200
OS Version:            Mac OS X 10.14.6 (18G4032)
Report Version:        12
Bridge OS Version:     3.0 (14Y906)
Anonymous UUID:        F336808F-D699-44F8-A7DC-3EC3F4A81A66

Sleep/Wake UUID:       ABDB9152-CFF0-45AA-8988-A94BF0012C53

Time Awake Since Boot: 380000 seconds
Time Since Wake:       41000 seconds

System Integrity Protection: enabled

Notes:                 Translocated Process

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
abort() called
scsynth(39707,0x10c32b5c0) malloc: Incorrect checksum for freed object 0x7f9281e23f08: probably modified after being freed.
Corrupt value: 0x4107700000000000
 

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x00007fff63aa12c2 __pthread_kill + 10
1   libsystem_pthread.dylib       	0x00007fff63b5cbf1 pthread_kill + 284
2   libsystem_c.dylib             	0x00007fff63a0b6a6 abort + 127
3   libsystem_malloc.dylib        	0x00007fff63b1a077 malloc_vreport + 545
4   libsystem_malloc.dylib        	0x00007fff63b32e0d malloc_zone_error + 183
5   libsystem_malloc.dylib        	0x00007fff63b1684b tiny_free_list_remove_ptr + 544
6   libsystem_malloc.dylib        	0x00007fff63b1421c tiny_free_no_lock + 934
7   libsystem_malloc.dylib        	0x00007fff63b13d79 free_tiny + 480
8   scsynth                       	0x00000001016b4e92 SC_CoreAudioDriver::DriverSetup(int*, double*) + 2178
9   scsynth                       	0x00000001016b38d6 SC_AudioDriver::Setup() + 102
10  scsynth                       	0x00000001016e57e1 World_New + 2753
11  scsynth                       	0x000000010169ca03 main + 2195
12  libdyld.dylib                 	0x00007fff639663d5 start + 1

Thread 1:
0   libsystem_pthread.dylib       	0x00007fff63b593f0 start_wqthread + 0

Thread 2:
0   libsystem_pthread.dylib       	0x00007fff63b593f0 start_wqthread + 0

Thread 3:
0   libsystem_pthread.dylib       	0x00007fff63b593f0 start_wqthread + 0

Thread 4:
0   libsystem_kernel.dylib        	0x00007fff63a9ef2e __semwait_signal + 10
1   libsystem_c.dylib             	0x00007fff63a2a914 nanosleep + 199
2   libc++.1.dylib                	0x00007fff60b9adc4 std::__1::this_thread::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 73
3   UIUGens.scx                   	0x0000000101de7f69 gstate_update_func() + 201
4   UIUGens.scx                   	0x0000000101de9128 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)()> >(void*) + 40
5   libsystem_pthread.dylib       	0x00007fff63b5a2eb _pthread_body + 126
6   libsystem_pthread.dylib       	0x00007fff63b5d249 _pthread_start + 66
7   libsystem_pthread.dylib       	0x00007fff63b5940d thread_start + 13

Thread 5:
0   libsystem_kernel.dylib        	0x00007fff63a9e866 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff63b5d56e _pthread_cond_wait + 722
2   libc++.1.dylib                	0x00007fff60b97a0a std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   DiskIO_UGens.scx              	0x0000000104907794 void std::__1::condition_variable_any::wait<std::__1::unique_lock<std::__1::mutex> >(std::__1::unique_lock<std::__1::mutex>&) + 84
4   DiskIO_UGens.scx              	0x000000010490742b (anonymous namespace)::DiskIOThread::ioThreadFunc() + 123
5   DiskIO_UGens.scx              	0x00000001049078de void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, std::__1::__bind<void ((anonymous namespace)::DiskIOThread::*)(), (anonymous namespace)::DiskIOThread*> > >(void*) + 62
6   libsystem_pthread.dylib       	0x00007fff63b5a2eb _pthread_body + 126
7   libsystem_pthread.dylib       	0x00007fff63b5d249 _pthread_start + 66
8   libsystem_pthread.dylib       	0x00007fff63b5940d thread_start + 13

Thread 6:
0   libsystem_kernel.dylib        	0x00007fff63a9ef2e __semwait_signal + 10
1   libsystem_c.dylib             	0x00007fff63a2a914 nanosleep + 199
2   libsystem_c.dylib             	0x00007fff63a2a776 sleep + 41
3   scsynth                       	0x00000001016b281a resyncThreadFunc() + 58
4   scsynth                       	0x00000001016b1e08 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)()> >(void*) + 40
5   libsystem_pthread.dylib       	0x00007fff63b5a2eb _pthread_body + 126
6   libsystem_pthread.dylib       	0x00007fff63b5d249 _pthread_start + 66
7   libsystem_pthread.dylib       	0x00007fff63b5940d thread_start + 13

Thread 7:
0   libsystem_kernel.dylib        	0x00007fff63a9e866 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff63b5d56e _pthread_cond_wait + 722
2   libc++.1.dylib                	0x00007fff60b97a0a std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   scsynth                       	0x00000001016b7d64 void std::__1::condition_variable_any::wait<std::__1::unique_lock<std::__1::mutex> >(std::__1::unique_lock<std::__1::mutex>&) + 84
4   scsynth                       	0x00000001016b34eb SC_AudioDriver::RunThread() + 139
5   scsynth                       	0x00000001016b804e void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, std::__1::__bind<void (SC_AudioDriver::*)(), SC_AudioDriver*> > >(void*) + 62
6   libsystem_pthread.dylib       	0x00007fff63b5a2eb _pthread_body + 126
7   libsystem_pthread.dylib       	0x00007fff63b5d249 _pthread_start + 66
8   libsystem_pthread.dylib       	0x00007fff63b5940d thread_start + 13

Thread 8:
0   libsystem_kernel.dylib        	0x00007fff63a9b26e semaphore_timedwait_trap + 10
1   libdispatch.dylib             	0x00007fff63919c99 _dispatch_sema4_timedwait + 76
2   libdispatch.dylib             	0x00007fff6391a377 _dispatch_semaphore_wait_slow + 58
3   libdispatch.dylib             	0x00007fff639271fd _dispatch_worker_thread + 317
4   libsystem_pthread.dylib       	0x00007fff63b5a2eb _pthread_body + 126
5   libsystem_pthread.dylib       	0x00007fff63b5d249 _pthread_start + 66
6   libsystem_pthread.dylib       	0x00007fff63b5940d thread_start + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x000000010c32b5c0  rcx: 0x00007ffeee567178  rdx: 0x0000000000000000
  rdi: 0x0000000000000307  rsi: 0x0000000000000006  rbp: 0x00007ffeee5671b0  rsp: 0x00007ffeee567178
   r8: 0x0000000000000000   r9: 0x00007ffeee5670d0  r10: 0x0000000000000000  r11: 0x0000000000000206
  r12: 0x0000000000000307  r13: 0x0000000101831000  r14: 0x0000000000000006  r15: 0x000000000000002d
  rip: 0x00007fff63aa12c2  rfl: 0x0000000000000206  cr2: 0x00007fff9a0dc188
  
Logical CPU:     0
Error Code:      0x02000148
Trap Number:     133

It’s interesting, I have recently also encountered Exception when reading synthdef from supernova, not sure what triggered it or when it started happening. On my system the server eventually boots though.

I have already tried commenting them out but i still got the error. I’ll try again.

Synthdefs are stored on the disk and persist there… If you always create your synthdefs from sclang, you should be fine to remove them from ~/Library/Application Support/SuperCollider/synthdefs (to be extra careful you may move them somewhere temporarily). After that restart SC, the server and your code - synthdefs should be recreated.

I found what’s causing the SuperNova crash. Maybe also the reason for the localhost exit errors. Need more testing to be sure. However, it seems to be related to the pbindFx_split synthdefs created by miSCellaneous. Uninstalling that quark and throwing away those synthdefs makes it go away.
Maybe @dkmayer wants to check this?

With miSCellaneous installed even something as simple as

(
Server.supernova;
s.boot;
)

causes the

Exception when reading synthdef: corrupted synthdef

on my system which is OSX 10.4.6 and SC 3.11.0.

Hello,

thanks for the report. I’m not using supernova, so I didn’t encounter that so far.
Another point is an issue with SynthDef.writeDefFile which was used up to miSCellaneous v0.22


Did you encounter the issue with v0.23 ?

I installed it again and it’s still there with 0.23 unfortunately. It seems that the latest one is still labelled 0.22 btw:

Installing miSCellaneous_lib
Adding path: /Users/mattpete/Library/Application Support/SuperCollider/downloaded-quarks/miSCellaneous_lib
miSCellaneous_lib installed
-> Quark: miSCellaneous_lib[0.22.0]

Two things: something with your quark update must have gone wrong, the label is 0.23.0, I just tried and got the prompt (click “check for updates” ?)

-> Quark: miSCellaneous_lib[0.23.0]

Though more relevant, I could reproduce your errors with supernova on OSX 10.13.6 + SC 3.11.0 BUT: not on SC 3.10.4, so it must be related to the supernova changes in 3.11. I assume it’s unlikely that it would only affect my quark.

There isn’t much: https://github.com/supercollider/supercollider/commits/3.11/server/supernova – 3.10 stops on Nov 30, 2019.

I’m curious: if you generate the SynthDef file in 3.10 and again in 3.11, are they byte-identical? (That is, it’s unclear yet whether it’s a supernova SynthDef reading problem – supernova SynthDef reading hasn’t changed in a couple of years – or a 3.11 SynthDef writing problem.)

hjh

Good point, the scsyndef files are identical due to a Toast check, but in 3.11 the txarcmeta files are contained in the synthdef folder. Maybe there’s some path confusion related to this ?

Late here, maybe others might want to chime in to continue checking ?