NetLogo / NetLogo/Python-Extension

Py:run unable read child process output

未关闭
#27 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Scala
星标
31
派生
16
PR 合并指标
30 天内没有已合并 PR

描述

Environment: Netlogo 6.3.0
I have tried on Python version 3.11, 3.10 and 3.9.13.

Netlogo is unable to read the code written in python, even the code is put in py:run.
But it works on other's pc. Not sure why this error happens :(

Error code:
Extension exception: Unable to read child process output. Try running the command again
error while manufacturer 21536 running PY:RUN
called by procedure CALIBRATION-GETLEARINGRATE (C:\Users\Joule\Desktop\ev market model 0331\manufacturer.nls)
called by procedure SETUP-MANUFACTURER (C:\Users\Joule\Desktop\ev market model 0331\manufacturer.nls)
called by procedure SETUP
called by Button 'setup'

org.nlogo.nvm.WrappedExtensionException: Extension exception: Unable to read child process output. Try running the command again
at org.nlogo.prim._extern.perform(_extern.java:40)
at org.nlogo.nvm.Context.runExclusive(Context.java:133)
at org.nlogo.nvm.ExclusiveJob.run(ExclusiveJob.scala:39)
at org.nlogo.nvm.Context.runExclusiveJob(Context.java:177)
at org.nlogo.prim._createturtles.perform(_createturtles.java:56)
at org.nlogo.nvm.Context.stepConcurrent(Context.java:107)
at org.nlogo.nvm.ConcurrentJob.step(ConcurrentJob.scala:65)
at org.nlogo.job.JobThread.runPrimaryJobs(JobThread.scala:133)
at org.nlogo.job.JobThread.$anonfun$run$1(JobThread.scala:68)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
at scala.util.control.Exception$Catch.apply(Exception.scala:228)
at org.nlogo.api.Exceptions$.handling(Exceptions.scala:41)
at org.nlogo.job.JobThread.run(JobThread.scala:66)
Caused by: org.nlogo.api.ExtensionException: Unable to read child process output. Try running the command again
at org.nlogo.languagelibrary.Subprocess.receive(Subprocess.scala:432)
at org.nlogo.languagelibrary.Subprocess.$anonfun$exec$4(Subprocess.scala:225)
at org.nlogo.languagelibrary.Subprocess.$anonfun$async$1(Subprocess.scala:410)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)

NetLogo 6.3.0
main: org.nlogo.app.AppFrame
thread: JobThread
OpenJDK 64-Bit Server VM 17.0.3 (BellSoft; 17.0.3+7-LTS)
operating system: Windows 11 10.0 (amd64 processor)
Scala version 2.12.16
JOGL: (3D View not initialized)
OpenGL Graphics: (3D View not initialized)
model: main

02:15:56.944 SwitchedTabsEvent (org.nlogo.app.Tabs) AWT-EventQueue-0
02:15:56.934 RuntimeErrorEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:15:56.923 JobRemovedEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) JobThread
02:15:56.920 OutputEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:15:56.919 OutputEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:15:56.917 OutputEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:15:56.915 OutputEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:15:56.843 InterfaceGlobalEvent (org.nlogo.app.interfacetab.InterfacePanel$$anon$1 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
02:15:56.843 InterfaceGlobalEvent (org.nlogo.app.interfacetab.InterfacePanel$$anon$1 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
02:15:56.843 InterfaceGlobalEvent (org.nlogo.app.interfacetab.InterfacePanel$$anon$1 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先,使用报告中的 NetLogo 和 Python 版本,在 Windows 11 上复现 py:run 失败。以提供的堆栈跟踪为切入点,检查 Subprocess.scala:432 附近的子进程处理,尤其是 receive。完成的标准是:报告的配置能够可靠地读取子进程输出,或者将失败范围缩小到一个已记录的环境条件。

由索引模型根据 Issue 内容生成。

评估

技术栈
python, scala
领域
tooling
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。