Package: emacs;
Reported by: "Jay Berkenbilt" <ejb <at> ql.org>
Date: Mon, 30 May 2022 13:00:03 UTC
Severity: normal
Found in version 28.1
View this message in rfc822 format
From: "Jay Berkenbilt" <ejb <at> ql.org> To: 55726 <at> debbugs.gnu.org Subject: bug#55726: 28.1; emacs becomes unresponsive to input Date: Sat, 18 Jun 2022 15:38:09 -0400
The issue finally happened again. I was exiting M-x ediff-revision. I think ediff definitely seems to increase the odds. > On Mon, May 30, 2022, at 9:57 AM, Eli Zaretskii wrote: > > > Cc: ejb <at> ql.org > > > Date: Mon, 30 May 2022 08:58:26 -0400 > > > From: "Jay Berkenbilt" <ejb <at> ql.org> > > > > >> . . . > > > > > > My emacs is built from source using default configure options, so I was > > > able to attach my running emacs process in gdb and get a stack trace. > > > Here is the stack trace: > > > > > > . . . > > > > This says that Emacs's main thread is just waiting for input, either > > from the keyboard or from any other sources, like the window-system or > > subprocesses. > > > > If this session is still alive under GDB, please type this command: > > > > (gdb) thread apply all bt > > > > and show the output -- it will tell us what the other threads are > > doing. If you already killed that session, then do the above next > > time it happens. Attaching to process 3403 [New LWP 3410] [New LWP 3503] [New LWP 3621] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". pselect64_syscall (sigmask=<optimized out>, timeout=<optimized out>, exceptfds=0x0, writefds=0x7ffdfac20990, readfds=0x7ffdfac20910, nfds=19) at ../sysdeps/unix/sysv/linux/pselect.c:34 34 ../sysdeps/unix/sysv/linux/pselect.c: No such file or directory. Thread 4 (Thread 0x7f7bf0917640 (LWP 3621) "dconf worker"): #0 0x00007f7bf6427d7f in __GI___poll (fds=0x55c3d85854c0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f7bf7bcc696 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f7bf7b753c3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f7bf0a3133d in () at /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so #4 0x00007f7bf7ba6a41 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007f7bf63a3b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #6 0x00007f7bf6435a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 3 (Thread 0x7f7bf12bd640 (LWP 3503) "gdbus"): #0 0x00007f7bf6427d7f in __GI___poll (fds=0x55c3d843aea0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f7bf7bcc696 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f7bf7b77293 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f7bf7dd2c1a in () at /lib/x86_64-linux-gnu/libgio-2.0.so.0 #4 0x00007f7bf7ba6a41 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007f7bf63a3b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #6 0x00007f7bf6435a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 2 (Thread 0x7f7bf1b36640 (LWP 3410) "gmain"): #0 0x00007f7bf6427d7f in __GI___poll (fds=0x55c3d8055490, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f7bf7bcc696 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f7bf7b753c3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f7bf7b75411 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007f7bf7ba6a41 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007f7bf63a3b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #6 0x00007f7bf6435a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 1 (Thread 0x7f7bf358c000 (LWP 3403) "emacs"): #0 pselect64_syscall (sigmask=<optimized out>, timeout=<optimized out>, exceptfds=0x0, writefds=0x7ffdfac20990, readfds=0x7ffdfac20910, nfds=19) at ../sysdeps/unix/sysv/linux/pselect.c:34 #1 __pselect (nfds=19, readfds=0x7ffdfac20910, writefds=0x7ffdfac20990, exceptfds=0x0, timeout=<optimized out>, sigmask=<optimized out>) at ../sysdeps/unix/sysv/linux/pselect.c:56 #2 0x000055c3d77cf035 in really_call_select (arg=0x7ffdfac20800) at thread.c:596 #3 0x000055c3d77cfe73 in flush_stack_call_func (arg=0x7ffdfac20800, func=0x55c3d77cefc0 <really_call_select>) at /home/ejb/tmp/net/emacs-28.1/src/lisp.h:3834 #4 thread_select (func=<optimized out>, max_fds=max_fds <at> entry=19, rfds=rfds <at> entry=0x7ffdfac20910, wfds=wfds <at> entry=0x7ffdfac20990, efds=efds <at> entry=0x0, timeout=timeout <at> entry=0x7ffdfac20f50, sigmask=0x0) at thread.c:628 #5 0x000055c3d77ed8d1 in xg_select (fds_lim=19, rfds=rfds <at> entry=0x7ffdfac21060, wfds=wfds <at> entry=0x7ffdfac210e0, efds=efds <at> entry=0x0, timeout=timeout <at> entry=0x7ffdfac20f50, sigmask=sigmask <at> entry=0x0) at xgselect.c:147 #6 0x000055c3d77acb15 in wait_reading_process_output (time_limit=time_limit <at> entry=0, nsecs=nsecs <at> entry=0, read_kbd=read_kbd <at> entry=-1, do_display=true, wait_for_cell=wait_for_cell <at> entry=0x0, wait_proc=wait_proc <at> entry=0x0, just_wait_proc=0) at process.c:5591 #7 0x000055c3d76ede6c in kbd_buffer_get_event (end_time=0x0, used_mouse_menu=0x7ffdfac218eb, kbp=<synthetic pointer>) at keyboard.c:3926 #8 read_event_from_main_queue (used_mouse_menu=0x7ffdfac218eb, local_getcjmp=0x7ffdfac214f0, end_time=0x0) at keyboard.c:2198 #9 read_decoded_event_from_main_queue (used_mouse_menu=<optimized out>, prev_event=<optimized out>, local_getcjmp=<optimized out>, end_time=<optimized out>) at keyboard.c:2262 #10 read_char (commandflag=1, map=0x55c3d96ec313, prev_event=0x0, used_mouse_menu=0x7ffdfac218eb, end_time=0x0) at keyboard.c:2892 #11 0x000055c3d76f04d4 in read_key_sequence (keybuf=<optimized out>, prompt=0x0, dont_downcase_last=<optimized out>, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=<optimized out>) at keyboard.c:9635 #12 0x000055c3d76f1e9c in command_loop_1 () at keyboard.c:1392 #13 0x000055c3d7761a47 in internal_condition_case (bfun=bfun <at> entry=0x55c3d76f1ca0 <command_loop_1>, handlers=handlers <at> entry=0x90, hfun=hfun <at> entry=0x55c3d76e8490 <cmd_error>) at eval.c:1450 #14 0x000055c3d76e24be in command_loop_2 (handlers=handlers <at> entry=0x90) at keyboard.c:1133 #15 0x000055c3d7761989 in internal_catch (tag=tag <at> entry=0xe850, func=func <at> entry=0x55c3d76e2490 <command_loop_2>, arg=arg <at> entry=0x90) at eval.c:1181 #16 0x000055c3d76e2459 in command_loop () at keyboard.c:1111 #17 0x000055c3d76e8080 in recursive_edit_1 () at keyboard.c:720 #18 0x000055c3d76e83d9 in Frecursive_edit () at keyboard.c:803 #19 0x000055c3d75f7054 in main (argc=1, argv=<optimized out>) at emacs.c:2354 Detaching from program: /usr/local/emacs-28.1/bin/emacs-28.1, process 3403 [Inferior 1 (process 3403) detached] > It is also important to know whether Emacs is stuck or inflooping. Do > you happen to know if it was using the CPU while in this state? The > strategy to dig into the problem depends on whether Emacs hangs (which > might mean some kind of deadlock), or infloops in some code. It was hanging. CPU was 0% on all the threads. The suggestion of running emacsclient -t to save state was very helpful. I used emacsclient -t, M-x desktop-save, M-x kill-emacs. Then I started a new emacs and did M-x desktop-read to restore my previous state.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.