If leave and return to arduino exten. get Native Library already loaded error
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 38/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- arduino, java
- Bereich
- embedded-iot
Rechercherichtung
Reproduziere den Fehler, indem du das Arduino Example öffnest und erneut öffnest, und verfolge dann den Stack von jssc.SerialNativeInterface bis zu arduino.ArduinoExtension$Ports.report. Untersuche, wie die reflexive Suche nach finalize und das Laden nativer Bibliotheken klassenladerübergreifend zusammenwirken. Die Aufgabe ist erledigt, wenn das Arduino Example ohne den UnsatisfiedLinkError erneut geöffnet werden kann.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
This is a regression from 6.2.2 caused by the deprecation of the Object method finalize as of Java 9.
This was not caught by the compiler because the finalize method is obtained by reflection.
One way to reproduce:
- Open Models Library Arduino Example
- Click setup [Do not need to have an arduino board attached, just click OK in the dialog that says "No available arduino ports were found."]
- Re-Open Arduino Example
Error message will appear
java.lang.UnsatisfiedLinkError: Native Library /Users/aab1638/.jssc/mac_os_x/libjSSC-2.6_x86_64.jnilib already loaded in another classloader
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.base/java.lang.Runtime.load0(Unknown Source)
at java.base/java.lang.System.load(Unknown Source)
at jssc.SerialNativeInterface.(SerialNativeInterface.java:172)
at jssc.SerialPortList.(SerialPortList.java:43)
at arduino.ArduinoExtension$Ports.report(ArduinoExtension.java:112)
at org.nlogo.prim._externreport.report(_externreport.java:31)
at org.nlogo.prim._asm_proceduresetup_setprocedurevariable_6.perform()
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.3.0
main: org.nlogo.app.AppFrame
thread: AWT-EventQueue-0
OpenJDK 64-Bit Server VM 17.0.4 (BellSoft; 17.0.4+8-LTS)
operating system: Mac OS X 10.14.6 (x86_64 processor)
Scala version 2.12.16
JOGL: (3D View not initialized)
OpenGL Graphics: (3D View not initialized)
model: Arduino Example02:15:18.265 TickStateChangeEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) JobThread
02:15:18.265 OutputEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:15:18.264 AddJobEvent (org.nlogo.window.ButtonWidget) AWT-EventQueue-0
02:15:18.192 PeriodicUpdateEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:15:18.144 InputBoxLoseFocusEvent (org.nlogo.window.ButtonWidget) AWT-EventQueue-0
02:15:17.986 PeriodicUpdateEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:15:17.782 PeriodicUpdateEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:15:17.580 PeriodicUpdateEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:15:17.379 PeriodicUpdateEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:15:17.179 PeriodicUpdateEvent (org.nlogo.app.App$$anon$4 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
- Vorherrschende Sprache
- Java
- Sterne
- 2
- Forks
- 7
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus NetLogo/Arduino-Extension
-
documentation
NetLogo/Arduino-Extension#4 · 1 Kommentar · 1 zugewiesene Person ·
-
NetLogo/Arduino-Extension#3 · 1 Kommentar · 1 zugewiesene Person ·
Alle Issues in NetLogo/Arduino-Extension
Ähnliche Issues
-
executions.Query — startDate and timeRange filters are sent with inverted comparison operators Offenarea/plugin
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
kestra-io/plugin-kestra#190 ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
integra-team-red/meet-map#249 ·
-
[Studio][Bug] Cancelled create-user dialog keeps the password and admin switch for the next attempt Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
apache/rocketmq-dashboard#5064 ·