On Mon, Sep 30, 2013 at 10:47:31AM +0200, Holger Hans Peter Freyther wrote:
Hi, and one more information: > So I think what is happening is the following: > > * We are in the glib mainloop > * We get an event (F7.. keyboard) > * We use gst_nvmsg_send which will create a new Process (call-in) > * We dispatch GtkDebugger>>#stepOver > * We want to step/resume another process.. > * We wait on a semaphore.. > * The debugged process doesn't run (for whatever reason) > * The call-in is waiting on a Semaphore as well to make it worse.. the call-in will be suspended because it is launching a debugger... 'Invalid index 13: index out of range' SystemExceptions.IndexOutOfRange(Exception)>>signal (ExcHandling.st:254) SystemExceptions.IndexOutOfRange class>>signalOn:withIndex: (SysExcept.st:665) String(Object)>>checkIndexableBounds: (Object.st:798) String>>at: (String.st:312) String(SequenceableCollection)>>replaceFrom:to:with:startingAt: (SeqCollect.st:554) String>>replaceFrom:to:with:startingAt: (String.st:296) String(ArrayedCollection)>>copyFrom:to: (ArrayColl.st:236) ReadStream(PositionableStream)>>copyFrom:to: (PosStream.st:156) STInST.RBParser>>errorLine (Parser.star#VFS.ZipFile/RBParser.st:183) STInST.RBParser>>parserError: (Parser.star#VFS.ZipFile/RBParser.st:207) STInST.RBParser>>parseExpression (Parser.star#VFS.ZipFile/RBParser.st:153) STInST.RBParser class>>parseExpression:onError: (Parser.star#VFS.ZipFile/RBParser.st:35) STInST.RBParser class>>parseExpression: (Parser.star#VFS.ZipFile/RBParser.st:26) UndefinedObject>>executeStatements (a String:1) 6 ^self activateHandler: (onDoBlock isNil and: [ self isResumable ]) The question is.. is this a VisualGST issue or should the VM be more robust against such deadlocks? I think we could have a couple of if (cur_state == STATE_DISPATCHING && blocking) { event_loop_unlock (); return; } in the vm, like in gst_interpret? comments? _______________________________________________ help-smalltalk mailing list help-smalltalk@gnu.org https://lists.gnu.org/mailman/listinfo/help-smalltalk