Hello, in my opinion this is caused this way: - synaptic calls vte_terminal_forkpty which calls __vte_pty_fork - Now we have a parent process which gets in the variable pid the pid of the child process. A call to vte_terminal_watch_child is needed and gives no warning. - But also we have now the child process, which has in variable pid a 0 (man fork(2)). In the child process we call now vte_terminal_watch_child with pid=0 and get therefore the warning.
Therefore I think: - problem lies in package libvte-2.90-9 - with attached patch the warning could be avoided. Kind regards, Bernhard pid_t vte_terminal_forkpty(VteTerminal *terminal, char **envv, const char *working_directory, gboolean lastlog, gboolean utmp, gboolean wtmp) { #ifdef HAVE_FORK VtePty *pty; GPid pid; g_return_val_if_fail(VTE_IS_TERMINAL(terminal), -1); pty = vte_pty_new(__vte_pty_get_pty_flags(lastlog, utmp, wtmp), NULL); if (pty == NULL) return FALSE; if (!__vte_pty_fork(pty, &pid, NULL)) { g_object_unref(pty); return FALSE; } vte_terminal_set_pty_object(terminal, pty); // FIXMEchpe is that really right? vte_terminal_watch_child(terminal, pid); return pid; #else return -1; #endif }
Description: Avoid call to vte_terminal_watch_child in child process Author: Bernhard Ãbelacker <bernha...@vr-web.de> Bug-Debian: https://bugs.debian.org/743995 Bug-Ubuntu: https://launchpad.net/bugs/1282542 Last-Update: <2014-11-17> --- vte3-0.36.3.orig/src/vte.c +++ vte3-0.36.3/src/vte.c @@ -4020,7 +4020,8 @@ vte_terminal_forkpty(VteTerminal *termin vte_terminal_set_pty_object(terminal, pty); // FIXMEchpe is that really right? - vte_terminal_watch_child(terminal, pid); + if (pid > 0) /* call this only in parent process, in child process pid==0 */ + vte_terminal_watch_child(terminal, pid); return pid; #else