Subject: bug#14889: 23.1;Emacs does not exits after log out

From: Petr Hracek <[email-masked]>
Date: Wed, 17 Jul 2013 10:00:27 +0200

Hi developer,

I have a pretty old version emacs-23.1-21.
On the system I run emacs and afterwards logout from the desktop.
But emacs does not exist but becom a child of init process.

Some traces:

[root@localhost ~]# gdb emacs 2984
...
(gdb) bt
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00000032ca00889f in _xcb_conn_wait (c=0x1082570, cond=<value optimized out>, vector=0x0, count=0x0) at xcb_conn.c:274
#2  0x00000032ca00a1ec in xcb_wait_for_reply (c=0x1082570, request=8134, e=0x7fff819bad70) at xcb_in.c:390
#3  0x00000032ca44d5a3 in _XReply (dpy=0x1038490, rep=0x7fff819badd0, extra=0, discard=1) at xcb_io.c:454
#4  0x00000032ca42fa54 in XInternAtom (dpy=0x1038490, name=0x32ca51e750 "XIM_SERVERS", onlyIfExists=<value optimized out>) at IntAtom.c:184
#5  0x00000032ca47197a in _XimFilterPropertyNotify (display=0x1038490, window=<value optimized out>, event=0x7fff819baea0, client_data=<value optimized out>) at imInsClbk.c:97
#6  0x00000032cf85fa31 in _gdk_events_queue (display=0x1089000) at gdkevents-x11.c:2292
#7  0x00000032cf85ffae in gdk_event_dispatch (source=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at gdkevents-x11.c:2366
#8  0x00000032c7c38f0e in g_main_dispatch (context=0xdc6340) at gmain.c:1960
#9  IA__g_main_context_dispatch (context=0xdc6340) at gmain.c:2513
#10 0x00000032c7c3c938 in g_main_context_iterate (context=0xdc6340, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2591
#11 0x00000032c7c3ca3a in IA__g_main_context_iteration (context=0xdc6340, may_block=1) at gmain.c:2654
#12 0x00000032cfd4c1b1 in IA__gtk_main_iteration () at gtkmain.c:1306
#13 0x00000000004a301c in XTread_socket (terminal=0xe44890, expected=<value optimized out>, hold_quit=0x7fff819bb420) at xterm.c:7279
#14 0x00000000004e6a43 in read_avail_input (expected=1) at keyboard.c:7093
#15 0x00000000004e6b5a in handle_async_input () at keyboard.c:7335
#16 0x00000000004dc45d in fatal_error_signal (sig=1) at emacs.c:382
#17 <signal handler called>
#18 0x00000032c68df218 in __poll (fds=0x7fff819bbb80, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:83
#19 0x00000032ca00885a in _xcb_conn_wait (c=0x1082570, cond=<value optimized out>, vector=0x0, count=0x0) at xcb_conn.c:306
#20 0x00000032ca00a1ec in xcb_wait_for_reply (c=0x1082570, request=8133, e=0x7fff819bbc90) at xcb_in.c:390
#21 0x00000032ca44d5a3 in _XReply (dpy=0x1038490, rep=0x7fff819bbcf0, extra=0, discard=1) at xcb_io.c:454
#22 0x00000032ca42fa54 in XInternAtom (dpy=0x1038490, name=0x32ca51e750 "XIM_SERVERS", onlyIfExists=<value optimized out>) at IntAtom.c:184
#23 0x00000032ca47197a in _XimFilterPropertyNotify (display=0x1038490, window=<value optimized out>, event=0x7fff819bbdc0, client_data=<value optimized out>) at imInsClbk.c:97
#24 0x00000032cf85fa31 in _gdk_events_queue (display=0x1089000) at gdkevents-x11.c:2292
#25 0x00000032cf85ffae in gdk_event_dispatch (source=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at gdkevents-x11.c:2366
#26 0x00000032c7c38f0e in g_main_dispatch (context=0xdc6340) at gmain.c:1960
#27 IA__g_main_context_dispatch (context=0xdc6340) at gmain.c:2513
#28 0x00000032c7c3c938 in g_main_context_iterate (context=0xdc6340, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2591
#29 0x00000032c7c3ca3a in IA__g_main_context_iteration (context=0xdc6340, may_block=1) at gmain.c:2654
#30 0x00000032cfd4c1b1 in IA__gtk_main_iteration () at gtkmain.c:1306
#31 0x00000000004a301c in XTread_socket (terminal=0xe44890, expected=<value optimized out>, hold_quit=0x7fff819bc340) at xterm.c:7279
#32 0x00000000004e6a43 in read_avail_input (expected=1) at keyboard.c:7093
#33 0x00000000004e6b5a in handle_async_input () at keyboard.c:7335
#34 0x00000000004e6d45 in process_pending_signals () at keyboard.c:7351
#35 0x000000000058f9bd in wait_reading_process_output (time_limit=0, microsecs=0, read_kbd=<value optimized out>, do_display=1, wait_for_cell=11020689, wait_proc=0x0, just_wait_proc=0)
     at process.c:4566
#36 0x00000000004e9e8b in kbd_buffer_get_event (commandflag=1, nmaps=2, maps=0x7fff819bcba0, prev_event=11020689, used_mouse_menu=0x7fff819bccb4, end_time=0x0) at keyboard.c:4099
#37 read_char (commandflag=1, nmaps=2, maps=0x7fff819bcba0, prev_event=11020689, used_mouse_menu=0x7fff819bccb4, end_time=0x0) at keyboard.c:3059
#38 0x00000000004ebf95 in read_key_sequence (keybuf=<value optimized out>, bufsize=30, prompt=11020689, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9460
#39 0x00000000004ee30d in command_loop_1 () at keyboard.c:1642
#40 0x000000000054fecf in internal_condition_case (bfun=0x4ee0f0 <command_loop_1>, handlers=11107841, hfun=0x4e5730 <cmd_error>) at eval.c:1512
#41 0x00000000004e4b6e in command_loop_2 () at keyboard.c:1359
#42 0x000000000054fffa in internal_catch (tag=140735367855032, func=0x4e4b50 <command_loop_2>, arg=11020689) at eval.c:1248
---Type <return> to continue, or q <return> to quit---
#43 0x00000000004e5571 in command_loop () at keyboard.c:1338
#44 0x00000000004e596c in recursive_edit_1 () at keyboard.c:953
#45 0x00000000004e5aa7 in Frecursive_edit () at keyboard.c:1015
#46 0x00000000004db2b7 in main (argc=<value optimized out>, argv=<value optimized out>) at emacs.c:1852

It seems emacs receive a signal, and in XTread_socket function, it stop at here:

  7274   while (gtk_events_pending ())
  7275     {
  7276       current_count = count;
  7277       current_hold_quit = hold_quit;
  7278
  7279       gtk_main_iteration (); <---- run here, and never return
  7280
  7281       count = current_count;
  7282       current_count = -1;
  7283       current_hold_quit = 0;
  7284
  7285       if (current_finish == X_EVENT_GOTO_OUT)
  7286         break;
  7287     }

I'm not sure whether it is a emacs problem or a gtk problem.

-- 
Best regards / S pozdravem
Petr Hracek