[64bit] emacs is unable to call subprocesses if display-time-mode is set
Ken Brown
kbrown@cornell.edu
Mon Apr 1 16:04:00 GMT 2013
On 4/1/2013 8:48 AM, Ken Brown wrote:
> On 3/30/2013 7:17 AM, Corinna Vinschen wrote:
>> On Mar 30 06:54, 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.
>>
>> Can you extrace a simple testcase from the itimer code? That would help
>> a lot to track down this case. I'm a bit scared of emacs...
>
> I was wrong about itimers. It turns out that emacs uses two different
> kinds of timers. One type is defined in C code and uses itimers, and
> the other type is defined in Lisp code. It's the latter that's involved
> here. So it won't be easy to make a test case in plain C.
>
> I'm also finding that the order in which I do things affects whether or
> not the bug shows up. For example, if I start a shell within emacs
> before setting display-time-mode, the bug disappears. I'll keep looking
> at the emacs code, but maybe you'll be able to see something in the
> strace output.
Sorry for yet another email, but I just wanted to let you know that you
shouldn't put much time into this unless something jumps out at you.
I just looked at this with gdb again and noticed that the function
`Fcall_process' [which is the C function that implements the lisp
function `call-process'] is being called with an argument nargs =
4305072226, which is 0x1009A3062; the value should be 4. nargs is of
type ptrdiff_t. I'll try to figure out why this is happening.
Ken
More information about the Cygwin-developers
mailing list