From ea32f9971d063ccb8f892a5f441877012d0b510f Mon Sep 17 00:00:00 2001 From: Louie Lu Date: Tue, 16 Nov 2021 11:02:25 +0800 Subject: [PATCH 1/2] Fix vte spawn_sync runtime check failed When running Guake, `spawn_sync` shows runtime check failed: ``` $ guake ... (guake:193534): VTE-WARNING **: 10:57:38.556: (../vte/src/vtepty.cc:667):bool _vte_pty_spawn_sync(VtePty*, const char*, const char* const*, const char* const*, GSpawnFlags, GSpawnChildSetupFunc, gpointer, GDestroyNotify, GPid*, int, GCancellable*, GError**): runtime check failed: ((spawn_flags & ignored_spawn_flags()) == 0) ... ``` This is cause by setting `DO_NOT_REAP_CHILD` flag in it. As shown in vte document & source code, `DO_NOT_REAP_CHILD` is the default behavior for `spawn_sync`, so we don't need to pass it when we try to `spawn_sync`. --- guake/terminal.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guake/terminal.py b/guake/terminal.py index d5109a033..2a6b559b7 100644 --- a/guake/terminal.py +++ b/guake/terminal.py @@ -569,7 +569,7 @@ def spawn_sync_pid(self, directory): directory, argv, self.envv, - GLib.SpawnFlags(Vte.SPAWN_NO_PARENT_ENVV | GLib.SpawnFlags.DO_NOT_REAP_CHILD), + GLib.SpawnFlags(Vte.SPAWN_NO_PARENT_ENVV), None, None, None, From 4438a5386b9f8ae32e9372ba547d8cd2e957e854 Mon Sep 17 00:00:00 2001 From: Louie Lu Date: Tue, 16 Nov 2021 11:07:49 +0800 Subject: [PATCH 2/2] Add reno for #1974 --- releasenotes/notes/fragment_name-2a5a482a34398a59.yaml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 releasenotes/notes/fragment_name-2a5a482a34398a59.yaml diff --git a/releasenotes/notes/fragment_name-2a5a482a34398a59.yaml b/releasenotes/notes/fragment_name-2a5a482a34398a59.yaml new file mode 100644 index 000000000..441aaea7a --- /dev/null +++ b/releasenotes/notes/fragment_name-2a5a482a34398a59.yaml @@ -0,0 +1,3 @@ +fixes: + - | + - Fix vte spawn_sync runtime check failed: ((spawn_flags & ignored_spawn_flags()) == 0)