thisProcess.stop not stopping Nodes

Hey all, has anyone noticed this issue. When I try to quit all nodes from server I get an error. Steps to reproduce and error message below.

(
{WhiteNoise.ar(0.01)}.play;
)

thisProcess.stop;

This throws an error:
→ Synth(‘temp__0’ : 1000)
ERROR: Message ‘nodeID’ 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 = ‘nodeID’
arg args = [*0]
ScinServer:cmdPeriod
arg this =
ArrayedCollection:do
arg this = [*7]
arg function =
var i = 2
List:do
arg this =
arg function =
Meta_CmdPeriod:run
arg this =
Main:stop
arg this =
Interpreter:interpretPrintCmdLine
arg this =
var res = nil
var func =
var code = “thisProcess.stop;”
var doc =
var ideClass = nil
Process:interpretPrintCmdLine
arg this =
^^ ERROR: Message ‘nodeID’ not understood.
RECEIVER: nil

This is referring to the Scintillator graphics server. Perhaps a bug with that, where the error is unfortunately breaking the rest of the CmdPeriod behavior.

I think this is where the bug should be logged.

I don’t have a workaround, short of removing Scintillator from the compile paths.

hjh

Hey, thanks. Is this part of some quark and thus easily omitted from the compilation path? I could grep this I guess, but if the exact path is known, where can I rm it.

I haven’t tried Scintillator, but I guess the word “scintillator” will figure in the directory name.

hjh

Okay, for legacy reasons of this thread: Scintillator is a Quark (visual synthesizer) which I didn’t remember.

Uninstalling it will fix the error.

Yeah, unfortunately a number of quarks override core functionality in a way that breaks it. It’s not an uncommon problem, alas. See e.g. autogui. One issue for quark writers is that SC class lib doesn’t always provide enough hooks so that less brutal methods than overrides can be employed.

I’m not sure it’s override problem here though. I can see from the stack trace that CmdPeriod:run calls ScinServer:cmdPeriod but that may have been just a regularly hooked callback with CmdPeriod.add. Maybe CmdPeriod should be more tolerant of errors in these, i.e. try { } them, but that might lead to
other issues like unreported errors. The correct solution is probably for ScinServer:cmdPeriod to inspect the kind of object it tries to do its work on, i.e. the try { } should probably be at ScinServer:cmdPeriod level.

You should probably report this as a bug in Scintillator. Maybe its author still maintains that quark and will fix it. It looks like it had activity in the past year. Actually, it’s the latest issue reported against it :smiley: as of this time

Which actually points back to a fix here: