Sure, and my apologies for the slow response too!
It happened again tonight on my MacBook Pro 2011 running El Capitan. Latest build of Roon. I had recently rebooted and hadn’t yet started Roon since the reboot. Here’s what happened:
- Launch Roon with cmd-space roon
- Roon paused while looking for a Roon server… some weird network thing, I don’t know.
- Bored of waiting for Roon to find a server I hit cmd-q to kill Roon
- Cmd-space roon again
- This is what appeared on screen:
- Go to this forum and start writing this post
- Some minutes later, cmd-space roon again
- Roon loads, no worries
- Cmd-q
- Cmd-space Roon
- Same error appears
- Wait approx 30 seconds
- Cmd-space roon
- Same error appears
- Wait another 30 seconds or so
- Cmd-space roon
- Same error again
- Wait another 30 seconds (about 1 and a half minutes by this point)
- Cmd-space
- Same error again
- 3 minutes later: same error
- 5 Minutes later! Ok, this is crazy. Drop to terminal:
➜ ~ ps axuw|grep -i roon carl 17511 0.0 0.0 2453272 836 s001 S+ 10:44PM 0:00.00 grep -i roon carl 16430 0.0 0.0 0 0 ?? ?E 10:39PM 0:00.00 (Roon) carl 16464 0.0 0.5 2647020 84784 ?? S 10:39PM 0:02.40 /Applications/Roon.app/RAATServer --debug --gc=sgen --server RAATServer.exe ➜ ~
Try to kill it:
➜ ~ kill 16430 ➜ ~ ps axuw|grep -i roon carl 17846 0.0 0.0 2434840 796 s001 S+ 10:46PM 0:00.00 grep -i roon carl 16430 0.0 0.0 0 0 ?? ?E 10:39PM 0:00.00 (Roon) carl 16464 0.0 0.5 2647020 84784 ?? S 10:39PM 0:02.40 /Applications/Roon.app/RAATServer --debug --gc=sgen --server RAATServer.exe
Nope. Really kill it:
➜ ~ kill -9 16430 ➜ ~ ps axuw|grep -i roon carl 17914 0.0 0.0 2434840 796 s001 S+ 10:46PM 0:00.00 grep -i roon carl 16430 0.0 0.0 0 0 ?? ?E 10:39PM 0:00.00 (Roon) carl 16464 0.0 0.5 2647020 84784 ?? S 10:39PM 0:02.40 /Applications/Roon.app/RAATServer --debug --gc=sgen --server RAATServer.exe
Nope. Still there. How about a debugger?
➜ ~ sudo lldb -p 16430 (lldb) process attach --pid 16430 error: attach failed: unable to attach (lldb) ^D
Ok, what’s going on? Let’s try some code:
`#include <stdio.h
#include <string.h>
#include <sys/types.h>
#include <sys/ptrace.h>
extern int errno;
int main() {
errno = 0;
int result = ptrace(PT_ATTACHEXC, 16430, NULL, 0);
printf(“result: %d, errno: %d, error: %s\n”, result, errno, strerror(errno));
return 0;
}`
Compile and run:
➜ tmp gcc -o wat wat.c ➜ tmp ./wat result: -1, errno: 3, error: No such process
No such process, eh?
➜ tmp ps axuw|grep '(Roon)'|head -n1 carl 16430 0.0 0.0 0 0 ?? ?E 10:39PM 0:00.00 (Roon)
And as root?
➜ tmp sudo ./wat Password: result: -1, errno: 3, error: No such process
Well, shit. Roon is no more. It has ceased to be. It’s expired and gone to meet its maker. This is a late Roon. It’s a stiff. Bereft of life, Roon rests in peace. All attempts at resuscitation have failed and a reboot is required to fix it.
Ninja edit: I forgot to try with mach port entitlements signed into the binary. Tomorrow!