From: Eli Zaretskii Sent: Thursday, March 13, 2025 02:43 PM To: Po Lu > From: Po Lu > Cc: sunlin7@hotmail.com, 76805@debbugs.gnu.org > Date: Thu, 13 Mar 2025 20:03:09 +0800 > > Eli Zaretskii writes: > > >> From: Po Lu > >> Cc: Lin Sun , 76805@debbugs.gnu.org > >> Date: Sun, 09 Mar 2025 21:58:38 +0800 > >> > >> Eli Zaretskii writes: > >> > >> >> From: Lin Sun > >> >> Date: Fri, 7 Mar 2025 08:17:31 +0000 > >> >> > >> >> Emacs sometimes takes 100% CPU after I switch emacs graphic frame to inactive. > >> >> This patch will fix the issue. > >> >> > >> >> Reproduce steps: > >> >> 1. Build Emacs with gtk3 and xinput2 on Ubuntu 22.04. > >> >> 2. (setq x-use-fast-mouse-position 'really-fast) in early-init.el. > >> >> 3. On a windows-host start a X11 server, and ssh -XY > >> >> ubuntu-host:emacs to Start emacs with X11 forwared-frame, and open > >> >> emacs "src/eval.c", enable the show-paren-mode in emacs. > >> >> 4. On the windows host, move the mouse out of emacs-graphic frame > >> >> first, the move the mouse in emacs-graphic frame and click. > >> >> 5. On the windows host, switch the emacs-graphic frame to inactive (switch a native windows app to active). > >> >> Repeat steps 4,5 sometimes the emacs will takes 100% CPU. > >> >> > >> >> The issue won't happen if set the x-use-fast-mouse-position to `t` or `nil` instead of the 'really-fast. > >> >> > >> >> According to my debugging and tracking the variables, I found that > >> >> 1. the xterm.c:21710 will let "dpyinfo->last_mouse_motion_frame = NULL;", then > >> >> 2. later calls `x_fast_mouse_position` will no chance to let "XX->mouse_moved = false", then > >> >> 3. the function some_mouse_moved() in keyboard.c always return true; then > >> >> 4. the function timer_start_idle() in keyboard.c will be called again and again, which leads 100% CPU usage. > >> >> > >> >> As contrast when setting the x-use-fast-mouse-position to `t`, the > >> >> "XX->mouse_moved = false;" always run, then the issue won't happen. > >> >> > >> >> Please help review the patch. Thanks > >> > > >> > Thanks. > >> > > >> > Po Lu, any comments? > >> > >> I'll investigate this issue tomorrow. Thank you for reporting it. > > > > Did you have a chance to look into this? > > I fixed it but neglected to report the fact here, my apologies. > Thanks, so should this bug be closed now? I found commit now: https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=ab5bfcebddf4c0613ef352231628d4034c8cb178 . Thank you all of you. Please feel free to close the ticket.