GNU bug report logs -
#30182
27.0.50; Crash when doing mouse-over on modeline
Previous Next
Reported by: Sujith <m.sujith <at> gmail.com>
Date: Sat, 20 Jan 2018 06:27:02 UTC
Severity: normal
Found in version 27.0.50
Done: martin rudalics <rudalics <at> gmx.at>
Bug is archived. No further changes may be made.
Full log
Message #191 received at 30182 <at> debbugs.gnu.org (full text, mbox):
> That commentary was outdated. I updated it now.
Thanks.
> Please take a look
> and tell if anything there needs clarification or any other change.
One question I'd ask myself is how we avoid that redisplay is
reentered during maybe_quit. And I would like to know which settings
can disrupt redisplay and whether and which, if any, parts of
redisplay (mode lines and echo area) may get through after such a
disruption, probably to avoid garbling the display.
> I believe that what I wrote in the message to which you were replying
> was based on incorrect interpretation of what actually happens. With
> the correct interpretation, there's no asynchronous entry into
> redisplay, if "asynchronous" is interpreted literally. So the
> measures I described above are unnecessary, but there is a need to
> block input around C fragments that cannot tolerate changes in global
> state.
I must admit that I never thought of maybe_quit being able to process
input when a function like 'copy-sequence' executes "normally". Maybe
this should be emphasized in the Elisp manual's section on Quitting.
I don't even understand what it's good for to process input just after
a few conses or calculating the length of some short list.
> This now raises the question: should we block input around the 2 calls
> to Fcopy_sequence in timer_check, on the emacs-26 branch? I tend to
> think we should, because letting arbitrary Lisp change the timer lists
> while Fcopy_sequence runs could cause hard-to-debug bugs. WDYT?
It cannot possibly harm so I think we should.
>> And one thing that is obviously needed is some guidance on what should
>> be allowed in the mode line and what should be avoided. For example,
>> having `mode-line-buffer-identification' install a timer is something
>> that should be avoided IMO.
>
> If we protect Fcopy_sequence as indicated above, I think such a
> limitation would no longer be necessary.
If the :eval form in 'mode-line-format' changes an arbitrary list
which is about to be copied, a similar crash could be provoked. Or am
I missing something?
martin
This bug report was last modified 7 years and 108 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.