[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-smalltalk] [bug] Exceptions using Delay
From: |
Tony Garnock-Jones |
Subject: |
[Help-smalltalk] [bug] Exceptions using Delay |
Date: |
Mon, 14 Jan 2008 10:09:24 -0700 |
Issue status update for
http://smalltalk.gnu.org/node/159
Post a follow up:
http://smalltalk.gnu.org/project/comments/add/159
Project: GNU Smalltalk
Version: <none>
Component: VM
Category: bug reports
Priority: normal
Assigned to: Unassigned
Reported by: tonyg
Updated by: tonyg
Status: active
The following code produces exceptions as below in bursts after a few
seconds. More generally, it seems Delay starts failing in situations
where the system is somewhat loaded (such as during the event- and
render-loops in our SDL/cairo bindings-in-progress).
Code:
Object subclass: DelayExperiment [
run [
[ (Delay forMilliseconds: 1) wait ] repeat.
]
].
DelayExperiment new run.
Expected output: nothing, forever.
Actual output:
$ gst delay-bug.st
"Global garbage collection... done"
Object: nil error: did not understand #goodness:
MessageNotUnderstood(Exception)>>signal
UndefinedObject(Object)>>doesNotUnderstand: #goodness:
optimized [] in BlockClosure class>>exceptionHandlerSearchBlock
[] in Kernel.CoreException>>instantiateNextHandler:
MethodContext(ContextPart)>>scanBacktraceForAttribute:do:
Kernel.CoreException>>instantiateNextHandler:
SystemExceptions.PrimitiveFailed(Exception)>>signal
SystemExceptions.PrimitiveFailed class(Exception class)>>signal
ProcessorScheduler(Object)>>primitiveFailed
ProcessorScheduler>>signal:atMilliseconds:
Delay class>>handleDelayEvent
optimized [] in Delay class>>runDelayProcess
[] in BlockClosure>>ifCurtailed:
BlockClosure>>ensure:
BlockClosure>>ifCurtailed:
Delay class>>runDelayProcess
optimized [] in Delay class>>startDelayLoop
[] in Process>>onBlock:at:suspend:
BlockClosure>>on:do:
[] in Process>>onBlock:at:suspend:
BlockClosure>>ensure:
[] in Process>>onBlock:at:suspend:
[] in BlockClosure>>asContext:
BlockContext class>>fromClosure:parent:
Object: ProcessorScheduler new "<0x4030c820>" error: primitive
operation failed
SystemExceptions.PrimitiveFailed(Exception)>>signal
SystemExceptions.PrimitiveFailed class(Exception class)>>signal
ProcessorScheduler(Object)>>primitiveFailed
ProcessorScheduler>>signal:atMilliseconds:
Delay class>>handleDelayEvent
optimized [] in Delay class>>runDelayProcess
[] in BlockClosure>>ifCurtailed:
BlockClosure>>ensure:
BlockClosure>>ifCurtailed:
Delay class>>runDelayProcess
optimized [] in Delay class>>startDelayLoop
[] in Process>>onBlock:at:suspend:
BlockClosure>>on:do:
[] in Process>>onBlock:at:suspend:
BlockClosure>>ensure:
[] in Process>>onBlock:at:suspend:
[] in BlockClosure>>asContext:
BlockContext class>>fromClosure:parent:
Object: ProcessorScheduler new "<0x4030c820>" error: primitive
operation failed
SystemExceptions.PrimitiveFailed(Exception)>>signal
SystemExceptions.PrimitiveFailed class(Exception class)>>signal
ProcessorScheduler(Object)>>primitiveFailed
ProcessorScheduler>>signal:atMilliseconds:
Delay class>>handleDelayEvent
optimized [] in Delay class>>runDelayProcess
[] in BlockClosure>>ifCurtailed:
BlockClosure>>ensure:
BlockClosure>>ifCurtailed:
Delay class>>runDelayProcess
optimized [] in Delay class>>startDelayLoop
[] in Process>>onBlock:at:suspend:
BlockClosure>>on:do:
[] in Process>>onBlock:at:suspend:
BlockClosure>>ensure:
[] in Process>>onBlock:at:suspend:
[] in BlockClosure>>asContext:
BlockContext class>>fromClosure:parent:
Object: ProcessorScheduler new "<0x4030c820>" error: primitive
operation failed
SystemExceptions.PrimitiveFailed(Exception)>>signal
SystemExceptions.PrimitiveFailed class(Exception class)>>signal
ProcessorScheduler(Object)>>primitiveFailed
ProcessorScheduler>>signal:atMilliseconds:
Delay class>>handleDelayEvent
optimized [] in Delay class>>runDelayProcess
[] in BlockClosure>>ifCurtailed:
BlockClosure>>ensure:
BlockClosure>>ifCurtailed:
Delay class>>runDelayProcess
optimized [] in Delay class>>startDelayLoop
[] in Process>>onBlock:at:suspend:
BlockClosure>>on:do:
[] in Process>>onBlock:at:suspend:
BlockClosure>>ensure:
[] in Process>>onBlock:at:suspend:
[] in BlockClosure>>asContext:
BlockContext class>>fromClosure:parent:
...
...
...
- [Help-smalltalk] [bug] Exceptions using Delay,
Tony Garnock-Jones <=