[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13157: 24.3.50; Crash with Helm?
From: |
Eli Zaretskii |
Subject: |
bug#13157: 24.3.50; Crash with Helm? |
Date: |
Wed, 12 Dec 2012 20:48:41 +0200 |
> From: "Fabrice Niessen" <fni@missioncriticalit.com>
> Cc: 13157@debbugs.gnu.org
> Date: Wed, 12 Dec 2012 17:58:53 +0100
>
> > This abort comes from here:
> >
> > while ((pid = waitpid (child, status, options)) < 0)
> > {
> > /* Check that CHILD is a child process that has not been reaped,
> > and that STATUS and OPTIONS are valid. Otherwise abort,
> > as continuing after this internal error could cause Emacs to
> > become confused and kill innocent-victim processes. */
> > if (errno != EINTR)
> > emacs_abort (); <<<<<<<<<<<<<<<<<<<<<<<<<
> >
> > What it means is that Emacs was trying to get exit status of a process
> > that no longer exists. To make sure this is the reason, please do
> > this from GDB:
> >
> > (gdb) frame 2
> > (gdb) print errno
>
> --8<---------------cut here---------------start------------->8---
> (gdb) frame 2
> #2 0x01144111 in get_child_status (child=9468, status=0x0, options=1,
> interruptible=false) at sysdep.c:297
> 297 sysdep.c: No such file or directory.
> (gdb) print errno
> $1 = 10
> --8<---------------cut here---------------end--------------->8---
>
> Is it what you expected?
Yes. This is ECHILD. It means waitpid returned here:
if (nh == 0)
{
/* No such child process, or nothing to wait for, so fail. */
errno = ECHILD;
return -1;
}