--- gdm-2.29.1/common/gdm-crash-logger.c-orig 2009-12-07 00:06:31.434330787 -0600 +++ gdm-2.29.1/common/gdm-crash-logger.c 2009-12-07 00:19:04.827522143 -0600 @@ -41,18 +41,19 @@ int main (int argc, char ** argv) gboolean done; GError *error; int options; - char * args[] = { "gdb", - "--batch", - "--quiet", - "--command=" DATADIR "/gdm/gdb-cmd", - NULL, - NULL }; + char *cmd; + char **cmd_argv; + int cmd_argc; + + cmd = g_strdup_printf ("/usr/bin/pstack %d\"", getppid ()); + + if (! g_shell_parse_argv (cmd, &cmd_argc, &cmd_argv, NULL)) { + exit (1); + } - snprintf (gdm_pid, sizeof (gdm_pid), "--pid=%d", getppid ()); - args[4] = &gdm_pid[0]; error = NULL; res = g_spawn_async_with_pipes (NULL, - args, + cmd_argv, NULL, G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, NULL,