#7 SchemeWay buzzes (deadlock) for some code in embedded Kawa

closed-wont-fix
nobody
None
1
2007-11-18
2007-10-05
ilyushkin
No

Here is simple function definition:
(define (query msg lst)
(let loop ()
(if (not (null? msg))
(begin (display msg) (display ": ")))
(let ((item (read)))
(if (member item lst)
item
(begin (display " ???") (newline) (loop))))))

Start embedded Kawa. Load this function definition. Try to execute:
(query "1" '(1 2 3))
Eclipse buzzes.
The main stack is following:
Thread [main] (Suspended)
java.io.FileInputStream.readBytes(byte[], int, int) line: not available [native method]
java.io.FileInputStream.read(byte[], int, int) line: 194
java.io.BufferedInputStream.read1(byte[], int, int) line: 254
java.io.BufferedInputStream.read(byte[], int, int) line: 313
sun.nio.cs.StreamDecoder$CharsetSD.readBytes() line: 411
sun.nio.cs.StreamDecoder$CharsetSD.implRead(char[], int, int) line: 453
sun.nio.cs.StreamDecoder$CharsetSD(sun.nio.cs.StreamDecoder).read(char[], int, int) line: 183
java.io.InputStreamReader.read(char[], int, int) line: 167
gnu.mapping.TtyInPort.fill(int) line: 45
gnu.mapping.TtyInPort(gnu.text.LineBufferedReader).read() line: 271
gnu.mapping.TtyInPort.read() line: 81
gnu.kawa.lispexpr.ScmRead(gnu.kawa.lispexpr.LispReader).readObject() line: 258
kawa.standard.read.apply1(java.lang.Object) line: 22
kawa.standard.read.apply0() line: 11
/home/ilya/work/workspace_europa/scheme1/1.scm line: 5
/home/ilya/work/workspace_europa/scheme1/1.scm line: 1
gnu.expr.ModuleMethod.apply2(java.lang.Object, java.lang.Object) line: 197
gnu.expr.ModuleMethod.apply(gnu.mapping.CallContext) line: 165
gnu.mapping.CallContext.runUntilDone() line: 251
gnu.expr.ModuleExp.evalModule(gnu.mapping.Environment, gnu.mapping.CallContext, gnu.expr.Compilation) line: 222
org.schemeway.plugins.schemescript.interpreter.KawaProcess.eval(kawa.standard.Scheme, gnu.mapping.InPort, gnu.mapping.OutPort, gnu.mapping.OutPort) line: 169
org.schemeway.plugins.schemescript.interpreter.KawaProcess$KawaStreamsProxy$1.run() line: 61
org.eclipse.ui.internal.UILockListener.doPendingWork() line: 155
org.eclipse.ui.internal.UISynchronizer$2.run() line: 126
org.eclipse.swt.widgets.RunnableLock.run() line: 35
org.eclipse.ui.internal.UISynchronizer(org.eclipse.swt.widgets.Synchronizer).runAsyncMessages(boolean) line: 123
org.eclipse.swt.widgets.Display.runAsyncMessages(boolean) line: 3296
org.eclipse.swt.widgets.Display.readAndDispatch() line: 2974
org.eclipse.ui.internal.Workbench.runEventLoop(org.eclipse.jface.window.Window$IExceptionHandler, org.eclipse.swt.widgets.Display) line: 2389
org.eclipse.ui.internal.Workbench.runUI() line: 2353
org.eclipse.ui.internal.Workbench.access$4(org.eclipse.ui.internal.Workbench) line: 2219
org.eclipse.ui.internal.Workbench$4.run() line: 466
org.eclipse.core.databinding.observable.Realm.runWithDefault(org.eclipse.core.databinding.observable.Realm, java.lang.Runnable) line: 289
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(org.eclipse.swt.widgets.Display, org.eclipse.ui.application.WorkbenchAdvisor) line: 461
org.eclipse.ui.PlatformUI.createAndRunWorkbench(org.eclipse.swt.widgets.Display, org.eclipse.ui.application.WorkbenchAdvisor) line: 149
org.eclipse.ui.internal.ide.application.IDEApplication.start(org.eclipse.equinox.app.IApplicationContext) line: 106
org.eclipse.equinox.internal.app.EclipseAppHandle.run(java.lang.Object) line: 169
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(java.lang.Object) line: 106
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(java.lang.Object) line: 76
org.eclipse.core.runtime.adaptor.EclipseStarter.run(java.lang.Object) line: 363
org.eclipse.core.runtime.adaptor.EclipseStarter.run(java.lang.String[], java.lang.Runnable) line: 176
sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) line: not available [native method]
sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 39
sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25
java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...) line: 585
org.eclipse.equinox.launcher.Main.invokeFramework(java.lang.String[], java.net.URL[]) line: 508
org.eclipse.equinox.launcher.Main.basicRun(java.lang.String[]) line: 447
org.eclipse.equinox.launcher.Main.run(java.lang.String[]) line: 1173
org.eclipse.equinox.launcher.Main.main(java.lang.String[]) line: 1148

Discussion

  • Dominique Boucher

    Logged In: YES
    user_id=1114219
    Originator: NO

    Interactive REPL applications is not supported in SchemeScript.

     
  • Dominique Boucher

    • priority: 5 --> 1
    • status: open --> closed-wont-fix
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks