Unable to spawn process
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 38/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- lua
- Bereich
- operating-systems
Rechercherichtung
Start in lua/plenary/job.lua at Job:_execute and inspect how options.cwd is passed to uv.spawn. Reproduce the failure from a Neovim terminal buffer with a term:// cwd, then determine the intended handling for a nonexistent directory; done means process spawning no longer fails for that case without breaking valid working directories.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
I kept seeing an error coming from this library when using my nvim setup. The issue is that special buffers like nvim's terminal report a invalid cwd term:///path/to/file which causes the call to spawn to fail with some error. I have been able to trace down a solution that works for me in the following diff. I doubt this code is acceptable for this project, but I'm sharing since it works for me.
diff --git a/lua/plenary/job.lua b/lua/plenary/job.lua
index 7f54971..4c69e48 100644
--- a/lua/plenary/job.lua
+++ b/lua/plenary/job.lua
@@ -400,7 +400,23 @@ function Job:_execute()
self:_user_on_start()
end
- self.handle, self.pid = uv.spawn(options.command, options, shutdown_factory(self, options))
+ local spawnOptions = {}
+
+ for k, v in pairs(options) do
+ spawnOptions[k] = v
+ end
+
+ if spawnOptions.cwd then
+ local stat = uv.fs_stat(spawnOptions.cwd)
+ if not stat or stat.type ~= "directory" then
+ -- Directory doesn't exist, remove cwd from options
+ spawnOptions.cwd = nil
+ end
+ end
+
+ self.handle, self.pid = uv.spawn(spawnOptions.command, spawnOptions, shutdown_factory(self, spawnOptions))
if not self.handle then
error(debug.traceback("Failed to spawn process: " .. vim.inspect(self)))
- Vorherrschende Sprache
- Lua
- Sterne
- 3.5k
- Forks
- 340
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
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 nvim-lua/plenary.nvim
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
nvim-lua/plenary.nvim#682 ·
-
uniform usage of `os.getenv`Evtl. vergeben @rakotomandimby hat das vor 136 Tagen übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
nvim-lua/plenary.nvim#680 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 45/100
nvim-lua/plenary.nvim#675 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 28/100
nvim-lua/plenary.nvim#672 · 1 Kommentar ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
nvim-lua/plenary.nvim#671 · 1 Kommentar ·
Alle Issues in nvim-lua/plenary.nvim
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 75/100
-
Good First Issue
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug] KOReader plugin 2.0.0: gesture shortcut always says "Turn on KOReader's Gestures plugin first"Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 2 Tagen
-
`mupdf.scaleBlitBuffer` fails on RGB565 blitbuffers: stride not updated after RGB32 conversionOffen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
koreader/koreader#16298 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag