On Fri, Nov 08, 2019 at 10:38:26AM +0100, Oswald Buddenhagen wrote:
anyway, i now have a hypothesis that is consistent with all observations so far: the trigger is an early resize event
Do you mean a resize that you perform, or are you referring to the asynchronous update that konsole performs?
that would mean that the SIGWINCH handling in mutt is racy, at least during startup.
There are a couple odd things here. Mutt installs its signal handlers twice - once before initscr(), and once after. The second installation was originally only for slang, but was changed to always run 18 years ago.
The commit has a reference to an old ticket (not in Trac) noting the second installation helps with Solaris 8. I don't think this would cause a race issue though.
The SIGWINCH handler sets a flag, which is then processed outside the handler. However, I did note two places where the flag is reset *after* the resize/reflow. That does seem racy, and is easy enough to fix.
I've pushed a commit up to the branch 'kevin/sigwinch-fixes'. Would you mind giving that a try and seeing if it resolves the issue? -- Kevin J. McCarthy GPG Fingerprint: 8975 A9B3 3AA3 7910 385C 5308 ADEF 7684 8031 6BDA
signature.asc
Description: PGP signature