Process.spawn with IO.pipe output fails on Java 21 + warbler
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
The failure is an EBADF raised from spawn when Warbler packages a JRuby app and runs on Java 21, so the trigger lies in JRuby's process and file-descriptor handling rather than in Warbler's own Ruby files. Reproduce with the minimal IO.pipe and spawn('ls', out: out_w) snippet from the body under java21 with and without a Warbler war. Done means the spawn succeeds inside the war and the captured output matches the non-war run.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Using Open3.capture3 fails when running with java21 from a warbler jar with
ERROR: org.jruby.embed.EvalFailedException: (EBADF) Bad file descriptor - ls
This works correctly with java 11 and warbler, or with java 21 and no warbler. This is tested on jruby 9.4.12 and warbler 2.0.5.
I simplified the Open3 code down to this repro:
out_r, out_w = IO.pipe
pid = spawn('ls', out: out_w)
wait_thr = Process.detach(pid)
out_w.close
begin
out_reader = Thread.new { out_r.read }
output = out_reader.value
puts output
ensure
out_r.close
wait_thr.join
end
When running this, it will fail at spawn. Spawning without an output pipe works fine in the java21+warbler configuration.
- Vorherrschende Sprache
- Ruby
- Sterne
- 901
- Forks
- 206
- Ø Merge
- 1 T. 10 Std.
- Gemergte PRs (30 T.)
- 3
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
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 jruby/warbler
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
-
Schwierigkeit 4/5 Über eine Woche Anfängerfreundlichkeit 25/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 22/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 12/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 12/100
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug] Chatwoot v4.19.0 – Super Admin returns 500 due to missing superadmin.scss Vite manifest entryOffenBug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 2 Tagen
-
PRM baseline System 1 and 2 fans run continuously in unoccupied hours (low priority)Evtl. vergeben @anchapin hat das vor 1 Tag übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
NatLabRockies/openstudio-standards#2167 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
18F/identity-idp#13734 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Ubuntu 26.04: gems linking OpenSSL statically (e.g. rugged) fail to build – libjitterentropy3-dev missingEvtl. vergeben @BattleAurora hat das vor 1 Tag übernommen. OffenArea: Ruby bug report needs triage OS: Ubuntu
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
actions/runner-images#15068 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 3 Tagen