Eli Zaretskii writes: >> Resent-To: bug-gnu-emacs@gnu.org >> From: Simon Pugnet >> Date: Fri, 03 Mar 2023 13:08:42 +0000 (2 hours, 47 minutes, 40 >> seconds ago) >> >> I've recently (within the last week) noticed that Emacs will crash >> when I'm scrolling, specifically when scrolling through a fairly >> large >> PHP source file using either `php-mode' or `web-mode'. I'm not sure >> however if this is related to those modes or not. >> >> By "scrolling" I mean holding down a key to move the point up or >> down. >> I am using Evil so this is done by holding "j" or "k". >> >> I'm aware that this isn't very helpful for reproducing the problem >> considering that I have so many packages loaded. I've yet to be >> able >> to reproduce this with a simpler configuration, but I'll be sure to >> send an update if I do. I am having trouble narrowing down the >> packages to find a culprit, but it could also be that my loaded >> packages exacerbate the core issue enough to cause a crash. >> >> In addition to this I recently noticed that key presses would >> occasionally become out of order. I would start typing something >> like >> "hello world" and I'd notice Emacs pause briefly, then I'd see >> something like "llohe world". This was particularly evident when >> using >> Evil as normal state commands like "i" (insert state) would come >> out >> of order, meaning that "ihello" (insert, enter "hello") might >> become >> "lloihe" (move right, move right, new line below and enter insert, >> enter "ihe"). I'm not sure if this is related to the crashing bug >> but >> it also started happening at the same time. >> >> The reason that I think it has something to do with visual line >> numbers is that the backtrace (below) seems to be within >> `display_count_lines_visually'. Also, I've changed the line >> numbering >> mode to relative and I haven't experienced the crash since >> (although >> it's still early days). >> >> I got the following backtrace when attaching to a running instance >> of >> Emacs which crashed. > > I'm not sure I understand what you mean by "attaching to a running > instance of Emacs which crashed". If Emacs crashed, then it no > longer > is running, so what exactly happens when Emacs "crashes", and how do > you attach GDB to such a "crashed" session? I used `gdb --pid=PID' to attach to the process which had crashed (or was at least not redrawing or accepting any user input). From there I obtained the backtrace and was able to step, which is how I noticed that it seemed to be in a loop. I might have diagnosed this incorrectly however. >> Continuing from this point seems to return to `XIfEvent' which then >> ends up back in `poll' (a loop). > > This backtrace just says Emacs is reading input, and that you have > an > X input method enabled. I'm not sure it tells us anything about the > crash itself. Please run Emacs under GDB to begin with, and then > try > to reproduce the crash. When it does crash, please type at the GDB > prompt: > > thread apply all bt > > and post here the output. > > Let me know if you need more detailed instructions for doing the > above, or if something is unclear. OK I'll be sure to do that. It might have to be next week as the issue only appears on my office machine at present, but as soon as I've been able to do what you ask then I'll reply with the details. Thanks for your help. -- Simon Pugnet https://www.polaris64.net/