[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 23.0.50; Emacs seg fault
From: |
Kim F. Storm |
Subject: |
Re: 23.0.50; Emacs seg fault |
Date: |
Sun, 07 Oct 2007 00:41:24 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) |
Leo <address@hidden> writes:
> On 2007-09-30 11:49 +0100, Kim F. Storm wrote:
>> Leo <address@hidden> writes:
>>
>>> #1 0x08194676 in wait_reading_process_output (time_limit=30, microsecs=0,
>>> read_kbd=-1, do_display=1, wait_for_cell=137551137,
>>> wait_proc=0x0, just_wait_proc=0) at process.c:4880
>>
>> I doubt that is the right line number due to compiler optimizations.
>> Compile with CFLAGS="-g -O0" to get max debugging info.
>>
>> Since xerrno = 9 (EBADF), I suspect it actually traps in
>> process.c line 4651
>
> Compiled with "-g -O0". Please see the backtrace below:
>
> ================================
> Starting program: /home/emacs/src/emacs -nw -q
> [Thread debugging using libthread_db enabled]
> [New Thread -1208334624 (LWP 18445)]
> [Switching to Thread -1208334624 (LWP 18445)]
> [Detaching after fork from child process 18449. (Try `set detach-on-fork
> off'.)]
>
> Breakpoint 1, abort () at emacs.c:431
> 431 kill (getpid (), SIGABRT);
> #0 abort () at emacs.c:431
> #1 0x081fec06 in wait_reading_process_output (time_limit=30, microsecs=0,
> read_kbd=-1, do_display=1, wait_for_cell=138030369,
> wait_proc=0x0, just_wait_proc=0) at process.c:4651
Just as I expected.
Since you are pretty much alone seeing this problem, it would be
great if you could try to determine which of the file descriptors
actually causes the problem - which is that the file descriptor
has been closed but it has not been removed from input_wait_mask
yet...
The relevant code is this:
else if (xerrno == EBADF)
{
#ifdef AIX
/* AIX doesn't handle PTY closure the same way BSD does. On AIX,
the child's closure of the pts gives the parent a SIGHUP, and
the ptc file descriptor is automatically closed,
yielding EBADF here or at select() call above.
So, SIGHUP is ignored (see def of PTY_TTY_NAME_SPRINTF
in m/ibmrt-aix.h), and here we just ignore the select error.
Cleanup occurs c/o status_notify after SIGCLD. */
no_avail = 1; /* Cannot depend on values returned */
#else
abort ();
#endif
}
Just a wild guess - could you try to change "AIX" to "1" in the above
code and see if that makes any difference...
--
Kim F. Storm <address@hidden> http://www.cua.dk
- Re: 23.0.50; Emacs seg fault, Richard Stallman, 2007/10/01
- Re: 23.0.50; Emacs seg fault, Leo, 2007/10/05
- Re: 23.0.50; Emacs seg fault,
Kim F. Storm <=
- Re: 23.0.50; Emacs seg fault, Leo, 2007/10/07
- Re: 23.0.50; Emacs seg fault, Kim F. Storm, 2007/10/07
- Re: 23.0.50; Emacs seg fault, Leo, 2007/10/07
- Re: 23.0.50; Emacs seg fault, Kim F. Storm, 2007/10/08
- Re: 23.0.50; Emacs seg fault, Dan Nicolaescu, 2007/10/08
- Re: 23.0.50; Emacs seg fault, Leo, 2007/10/08
- Re: 23.0.50; Emacs seg fault, Dan Nicolaescu, 2007/10/08
- Re: 23.0.50; Emacs seg fault, Leo, 2007/10/10
- Re: 23.0.50; Emacs seg fault, Dan Nicolaescu, 2007/10/10
- Re: 23.0.50; Emacs seg fault, Leo, 2007/10/10