GNU bug report logs - #407
gpm server stop making emacs abort()

Previous Next

Package: emacs;

Reported by: Kevin Ryde <user42 <at> zip.com.au>

Date: Fri, 13 Jun 2008 21:05:05 UTC

Severity: normal

Tags: patch

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Sven Joachim <svenjoac <at> gmx.de>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: 407 <at> debbugs.gnu.org, Kevin Ryde <user42 <at> zip.com.au>
Subject: bug#407: gpm server stop making emacs abort()
Date: Tue, 01 Jul 2008 22:43:40 +0200
[ Stefan, it seems you inadvertently forgot to CC the bug submitter,
  which is why you did not get an answer from him.]

On 2008-06-14 00:18 +0200, Stefan Monnier wrote:

>> If running with
>> 	(gpm-mouse-mode 1)
>> and if you stop the gpm server, then emacs dies with
>> 	Fatal error (6)Aborted

I also saw that. When gpm was upgraded and restarted, Emacs aborted.

>> Output from "bt full" below; xbacktrace printed nothing at all.
>
>> The backtrace shows it at the abort() under the EBADF case in
>> wait_reading_process_output().  I think when Gpm_GetEvent gets an eof
>> from the server it closes gpm_fd; maybe that's the bad fd in question.
>
> I can't test it right now.  Does the patch below help?
>
>
>         Stefan
>
>
> --- keyboard.c.~1.959.~	2008-06-03 02:14:30.000000000 -0400
> +++ keyboard.c	2008-06-13 18:17:35.000000000 -0400
> @@ -7189,6 +7189,8 @@
>        while (gpm = Gpm_GetEvent (&event), gpm == 1) {
>  	  nread += handle_one_term_event (tty, &event, &hold_quit);
>        }
> +      if (gpm < 0)
> +	delete_gpm_wait_descriptor (gpm_fd);
>        if (hold_quit.kind != NO_EVENT)
>  	  kbd_buffer_store_event (&hold_quit);
>        if (nread)

Works fine for me.

Regards,
        Sven




This bug report was last modified 15 years and 266 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.