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.
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 ?