Win10 Primitive '_NetAddr_SendMsg' failed and Primitive ‘_GetLangPort’ failed

Hi all,

I’m new to SuperCollider, trying to get it working for FoxDot. I’ve got 3.11.0 freshly installed on a Windows 10 box and I’ve added the FoxDot Quark. On startup, I get a an error, “ERROR: Primitive ‘_GetLangPort’ failed.”. Trying FoxDot.start also fails with “ERROR: Primitive ‘_NetAddr_SendMsg’ failed.” Is it possible that it’s trying to list on a port that something else is already running on? If so, how can I see what port it’s trying to use/change it? Any other ideas what might be wrong?

I’ve already googled and searched the lists, can’t find any reference to _GetLangPort.

Full errors:
ERROR: Primitive ‘_GetLangPort’ failed.
Failed.
RECEIVER:
class NetAddr (000001CDC17B3140) {
instance variables [19]
name : Symbol ‘NetAddr’
nextclass : instance of Meta_Nil (000001CDB16E9580, size=19, set=5)
superclass : Symbol ‘Object’
subclasses : instance of Array (000001CDC1FC1200, size=1, set=2)
methods : instance of Array (000001CDC17B32C0, size=30, set=5)
instVarNames : instance of SymbolArray (000001CDC17B3540, size=4, set=2)
classVarNames : instance of SymbolArray (000001CDC17B36C0, size=1, set=2)
iprototype : instance of Array (000001CDC17B3600, size=4, set=2)
cprototype : instance of Array (000001CDC17B3780, size=1, set=2)
constNames : nil
constValues : nil
instanceFormat : Integer 0
instanceFlags : Integer 0
classIndex : Integer 194
classFlags : Integer 0
maxSubclassIndex : Integer 195
filenameSymbol : Symbol ‘C:\Program Files\SuperCollider-3.11.0\SCClassLibrary\Common\Control\NetAddr.sc’
charPos : Integer 0
classVarIndex : Integer 304
}
CALL STACK:
MethodError:reportError
arg this =
Nil:handleError
arg this = nil
arg error =
Thread:handleError
arg this =
arg error =
Object:throw
arg this =
Object:primitiveFailed
arg this =
Main:startup
arg this =
var didWarnOverwrite = false
^^ The preceding error dump is for ERROR: Primitive ‘_GetLangPort’ failed.
Failed.
RECEIVER: NetAddr

SCDoc: Indexing help-files…
SCDoc: Indexed 1905 documents in 1.01 seconds
ERROR: Primitive ‘_NetAddr_SendMsg’ failed.
Failed.
RECEIVER:
Instance of NetAddr { (000001CDC0A1E3D8, gc=EC, fmt=00, flg=00, set=02)
instance variables [4]
addr : Integer 2130706433
port : Integer 57110
hostname : “127.0.0.1”
socket : nil
}
CALL STACK:
MethodError:reportError
arg this =
Nil:handleError
arg this = nil
arg error =
Thread:handleError
arg this =
arg error =
Object:throw
arg this =
Object:primitiveFailed
arg this =
Server:prPingApp
arg this =
arg func =
arg onFailure =
arg timeout = 0.25
var id = 461163619
var resp =
var task =
Server:boot
arg this =
arg startAliveThread = true
arg recover = false
arg onFailure = nil
Meta_FoxDot:start
arg this =
Interpreter:interpretPrintCmdLine
arg this =
var res = nil
var func =
var code = “FoxDot.start”
var doc = nil
var ideClass =
Process:interpretPrintCmdLine
arg this =
^^ The preceding error dump is for ERROR: Primitive ‘_NetAddr_SendMsg’ failed.
Failed.
RECEIVER: a NetAddr(127.0.0.1, 57110)

Anyone? Or better to file a github issue?

Maybe try “Kill all servers” in the Server menu (of the SC IDE)?

I haven’t seen this specific error before. It’s unusual. That’s probably why you haven’t gotten a quick response.

hjh

Yeah, totally understand that, hence asking if it might make more sense to go to github.

When I kill all servers, I get a new error!

ERROR: Message ‘basename’ not understood.
RECEIVER:
nil
ARGS:
CALL STACK:
DoesNotUnderstandError:reportError
arg this =
Nil:handleError
arg this = nil
arg error =
Thread:handleError
arg this =
arg error =
Object:throw
arg this =
Object:doesNotUnderstand
arg this = nil
arg selector = ‘basename’
arg args = [*0]
Meta_Server:killAll
arg this =
Process:interpretCmdLine
arg this =
^^ The preceding error dump is for ERROR: Message ‘basename’ not understood.
RECEIVER: nil

That suggests that Server.program is nil… which shouldn’t ever be the case.

Possibly something is going wrong during the startup sequence, preventing some of the classes from being initialized.

Maybe try:

  1. Temporarily remove FoxDot quark.
  2. Relaunch SC.
  3. Try to boot the server from the server menu.

If that works, then it may be something in the FoxDot quark. (Just trying to rule that out.)

Is your startup file empty?

Are there any suspicious messages when launching SC?

hjh

I was getting an unable to open UDP socket up above that (those errors were happening right at start), which I did find some references to. No old processes hanging around (and nothing in the startup file), so that was weird, but after a reboot, it started working again.

Got everything enabled again, started FoxDot, and started working on the tutorials, and then realized that SC had disabled my entire audio interface. Persisted across reboots without the software running, although everything showed that it should be working; all my usual troubleshooting showed nothing wrong. Uninstalling SC completely and then rebooting again fixed it.

So, uh, I guess I’m not going to try getting into livecoding after all… can’t deal software that makes a production machine I need for real work this flaky. I could try to dig in further, and, like, sure, open source, etc., but yeah. Wow, no thanks. :-/

For what it’s worth, I’ve never heard of SC completely breaking an audio interface across reboots (and I’ve been involved in SC for 17+ years). There hasn’t been much opportunity to troubleshoot a problem that quite literally no one has ever reported.

Understood that you’re disappointed.

FWIW: my audio production students who are using Windows run into weird audio driver issues that I never see for my Mac-using students. They are not using open-source software. My conclusion from that is: using Windows for audio production is always a compromise and always somewhat risky. You might get lucky or it might fail hard.

So another way forward for you might be to install Ubuntu Studio on a USB stick and boot from it, to try live coding. Configuring audio in Linux isn’t as easy as on Mac (though Ubuntu Studio does most of it for you) but once it’s configured, I’ve found it to be more stable than Windows audio and without the high expense of Mac. You’d have to build SC from source and that’ll be slow on USB, but only once.

hjh

I am not sure if it is reproducible, but I am getting the same error, after updating my windows10 from version 1909 to 2004 and installed docker for windows.

I could fix the issue by Reboot Interpreter from Language menu, then s.boot
just fyi