[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sc-dev] bug: yield outside of a Routine

i mistakenly do this:

• ERROR: yield was called outside of a Routine.
Primitive '_RoutineYield' failed.

Float 0.4 3FD99999 9999999A
arg this = 0.400000
arg this = 0.400000
arg this = 0.400000
arg val = nil
arg this = <instance of Sample>
arg group = <instance of RootNode>
arg onComplete = nil
< closed FunctionDef > (no arguments or variables)
arg this = <instance of Interpreter>
arg this = <instance of Main>

and then i hit play which starts another routine and it crashes, quite dependably:

Date/Time: 2002-11-26 19:17:52 -0500
OS Version: 10.2.2 (Build 6F21)
Host: cruxbox.local.

Command: SuperCollider
PID: 1496

Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_INVALID_ADDRESS (0x0001) at 0x7ff90075

Thread 0 Crashed:
#0 0x00035370 in Interpret(VMGlobals*) (PyrInterpreter3.cpp:238)
#1 0x000336c8 in Interpret(VMGlobals*) (PyrInterpreter3.cpp:172)
#2 0x000398ec in runLibrary (PyrLexer.cpp:1862)
#3 0x0000d39c in -[MyDocument sendSelection:] (MyDocument.M:564)
#4 0x00010f5c in -[SCTextView keyDown:] (SCTextView.M:62)
#5 0x9336e63c in -[NSWindow sendEvent:]
#6 0x930ce328 in -[NSApplication sendEvent:]
#7 0x930ca524 in -[NSApplication run]
#8 0x930d2598 in NSApplicationMain
#9 0x00004b18 in _start (crt.c:267)
#10 0x00004998 in start

Thread 1:
#0 0x90025cec in recvfrom
#1 0x000661f0 in SC_UdpInPort::Run() (SC_ComPort.cpp:150)
#2 0x90021308 in _pthread_body

Thread 2:
#0 0x900070a8 in clock_sleep_trap
#1 0x90006dac in nanosleep
#2 0x90006cf0 in sleep
#3 0x0005c258 in resyncThread(void*) (PyrSched.cpp:458)
#4 0x90021308 in _pthread_body

Thread 3:
#0 0x9003f068 in semaphore_wait_signal_trap
#1 0x9003ee84 in _pthread_cond_wait
#2 0x0005c300 in schedRunFunc(void*) (PyrSched.cpp:482)
#3 0x90021308 in _pthread_body

PPC Thread State:
srr0: 0x00035370 srr1: 0x0200f030 vrsave: 0x00000000
xer: 0x20000000 lr: 0x000336c8 ctr: 0x00034dd0 mq: 0x00000000
r0: 0x7ff90001 r1: 0xbfffefb0 r2: 0x00100000 r3: 0x00034dd0
r4: 0x01b948b0 r5: 0x7ff90000 r6: 0x000331ec r7: 0x00030000
r8: 0x0000006c r9: 0x7ff90001 r10: 0x7ff90001 r11: 0x00000000
r12: 0x7ff90001 r13: 0x00000000 r14: 0x00000000 r15: 0x00000000
r16: 0x00000000 r17: 0x00000000 r18: 0x00000000 r19: 0x00000000
r20: 0x00000000 r21: 0x00000000 r22: 0x00000000 r23: 0x00000000
r24: 0x0000001b r25: 0x000f4388 r26: 0x00000002 r27: 0x01ee8e80
r28: 0x01ee8010 r29: 0x01ee8018 r30: 0x01ee8008 r31: 0x01d247dc

so after the first error is spotted, something needs to be cleaned up and reset.