process hanging in embeded mode on exception
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginne damit, den Hänger mit crash.clj, ffi/lock-gil, py/import-module und clojurebridge.load_clojure_file unter manual-gil zu reproduzieren. Verfolge, wie die Ausnahme des fehlenden Moduls zwischen clojurebridge und libpython-clj behandelt wird; die Aufgabe ist abgeschlossen, wenn der eingebettete Prozess beendet wird oder zurückkehrt, statt zu hängen, und die Ausnahme sichtbar bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
As a FUP of #221 which provided a new pathway to see the exception,
but does not prevent the "hanging" in an other pathway.
The simplest scenario is that we have a hanging python process by using this clojure code crash.clj
(ns train
(:require [libpython-clj2.python :refer [py.- py.] :as py]
[libpython-clj2.python.ffi :as ffi]))
(def locked (ffi/lock-gil))
(py/import-module "not existing")
and load it in embedded mode using manual-gil via:
export JDK_JAVA_OPTIONS="-Dlibpython_clj.manual_gil=true"
python -c 'from clojurebridge import cljbridge;cljbridge.load_clojure_file(clj_file="crash.clj")'
The exception thrown by python on the last line in crash.clj is swallowed by either clojurebridge or libpython-clj and the process hangs forever.
- Vorherrschende Sprache
- Clojure
- Sterne
- 1.2k
- Forks
- 74
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
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 clj-python/libpython-clj
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
clj-python/libpython-clj#280 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
clj-python/libpython-clj#275 · 5 Kommentare ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 58/100
clj-python/libpython-clj#273 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
clj-python/libpython-clj#271 · 1 Kommentar ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
clj-python/libpython-clj#270 · 1 Kommentar ·
Alle Issues in clj-python/libpython-clj
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
-
.Team/Metabot Priority:P3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
needs triage
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
scalar-labs/scalar-jepsen#222 · 1 Kommentar ·