NetLogo / NetLogo/Python-Extension
Extension can hang if you halt
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Scala
- Star
- 31
- Fork
- 16
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
This example is stupid, but I wonder if it means there are other conditions under which the extension will hang.
I was curious if closing down and opening the extension had any memory leakage (it didn't as far as I could tell), so I ran
repeat 10000 [py:setup py:python3]
It took a long time, so I just halted it. I got the message below, and now I can't get the extension to py:setup again. Removing the extension, recompiling, adding it, and recompiling doesn't work. Running __reload_extensions also doesn't work.
NetLogo is unable to supply you with more details about this error. Please report the problem
at https://github.com/NetLogo/NetLogo/issues, or to bugs@ccl.northwestern.edu, and paste the
contents of this window into your report.
java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at java.lang.UNIXProcess.waitFor(UNIXProcess.java:412)
at org.nlogo.extensions.py.PythonSubprocess.close(PythonExtension.scala:481)
at org.nlogo.extensions.py.PythonExtension$.$anonfun$pythonProcess_$eq$1(PythonExtension.scala:49)
at org.nlogo.extensions.py.PythonExtension$.$anonfun$pythonProcess_$eq$1$adapted(PythonExtension.scala:49)
at scala.Option.foreach(Option.scala:274)
at org.nlogo.extensions.py.PythonExtension$.pythonProcess_$eq(PythonExtension.scala:49)
at org.nlogo.extensions.py.SetupPython$.perform(PythonExtension.scala:549)
at org.nlogo.prim._extern.perform(_extern.java:36)
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)
NetLogo 6.1.0
main: org.nlogo.app.AppFrame
thread: AWT-EventQueue-0
Java HotSpot(TM) 64-Bit Server VM 1.8.0_202 (Oracle Corporation; 1.8.0_202-b08)
operating system: Mac OS X 10.14.6 (x86_64 processor)
Scala version 2.12.8
JOGL: (3D View not initialized)
OpenGL Graphics: (3D View not initialized)
model: Untitled
01:12:41.017 AddJobEvent (org.nlogo.app.common.CommandLine) AWT-EventQueue-0
01:12:41.017 OutputEvent (org.nlogo.app.common.CommandLine) AWT-EventQueue-0
01:12:41.017 CompiledEvent (org.nlogo.window.CompilerManager) AWT-EventQueue-0
01:12:40.999 CompileMoreSourceEvent (org.nlogo.app.common.CommandLine) AWT-EventQueue-0
01:12:40.877 PeriodicUpdateEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
01:12:40.672 PeriodicUpdateEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
01:12:40.470 PeriodicUpdateEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
01:12:40.267 PeriodicUpdateEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
01:12:40.065 PeriodicUpdateEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
01:12:39.864 PeriodicUpdateEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với PythonExtension.scala, đặc biệt là PythonSubprocess.close và SetupPython.perform, sử dụng chuỗi lặp lại và dừng đã được báo cáo để tái hiện lỗi. Kiểm tra rằng sau khi dừng, py:setup và __reload_extensions hoạt động trở lại; stack trace và hành vi khôi phục không còn cho thấy extension bị mắc kẹt.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python, scala
- Lĩnh vực
- backend, tooling
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100