Subject: bug#14515: 24.3; emacs hangs when running epg with glib 2.36 and the awesome wm

From: Vincent Legout <[email-masked]>
Date: Thu, 30 May 2013 21:31:27 +0200

Hello,

I'm running Debian unstable and the awesome window manager. Since the
update of glib in Debian unstable (from 2.32 to 2.36), emacs hangs when
I run epg. I also had this bug with vc-git when opening a file in a git
directory.

To reproduce this bug, I just run emacs -Q, select a region and then run
M-x epa-verify-region. Emacs gets stuck, takes 100% of a cpu and I have
to run C-g and kill epg manually. When I launch M-x epa-verify-region,
the following appears:

(emacs:32655): GLib-WARNING **: GChildWatchSource: Exit status of a child process was requested but ECHILD was received by waitpid(). Most likely the process is ignoring SIGCHLD, or some other thread is invoking waitpid() with a nonpositive first argument; either behavior can break applications that use g_child_watch_add()/g_spawn_sync() either directly or indirectly.

This bug appears with emacs24 from Debian unstable but also with emacs
24.3 from gnu.org. Downgrading to glib 2.32 fixes the issue. And this
doesn't happen with another window manager (e.g. Xfce). I was able to
reproduce this bug on three different machines with Debian unstable,
emacs 24.3, glib 2.36 and awesome.

I think this is the same bug as in:
 https://bugs.launchpad.net/ubuntu/+source/emacs24/+bug/1175422

Attached is a backtrace with gdb. It seems to be stuck at xgselect.c:48.

Thanks,
Vincent

In GNU Emacs 24.3.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw scroll bars)
 of 2013-05-30 on eithne
Windowing system distributor `The X.Org Foundation', version 11.0.11204000
System Description:	Debian GNU/Linux unstable (sid)

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
M-x r e p o r t <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax
facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak
czech european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting system-font-setting
font-render-setting x-toolkit x multi-tty emacs)