[64bit] emacs is unable to call subprocesses if display-time-mode is set

Ken Brown kbrown@cornell.edu
Sat Mar 30 11:02:00 GMT 2013


On 3/30/2013 6:54 AM, Ken Brown wrote:
> When you set display-time-mode in emacs, the mode line near the bottom
> of the screen shows the current time.  The code that does this involves
> setting itimers.
>
> After I set display-time-mode, every attempt to start a subprocess
> within emacs fails.  Steps to reproduce:
>
> 1. Install my build of 64-bit emacs, which was just uploaded to
> 64bit/release.
>
> 2. Start emacs via `emacs -Q' in a Cygwin terminal.
>
> 3. You should now be in the *scratch* buffer.  Set display-time-mode:
>
>    <alt-x>display-time-mode<ret>
>
> [You should see the time displayed in the mode line.]
>
> 4. Type the following text in the *scratch* buffer, position the cursor
> at the end, and type `<cntl-j>':
>
> (call-process "/bin/ls" nil t t)
>
> emacs will report "Can't exec program: /bin/ls".
>
> I tried to step through the emacs code in gdb, but gdb became
> unresponsive after a while and I had to kill it with the Task Manager.
>
> I also tried strace, with the following results:
>
> (a) If I attach strace to a running emacs process and then carry out
> steps 3 and 4 above, the emacs output in step 4 changes to "Segmentation
> fault".  The strace output does in fact show a SEGV.  I've posted the
> strace output from one such run at
>
>    http://sanibeltranquility.com/cygwin/strace.out
>
> (b) If instead I run emacs under strace from the beginning, the bug
> disappears.

I forgot to say that I'm running cygwin-1.7.18-14 on Windows 7.

Ken



More information about the Cygwin-developers mailing list