Bug#909328: More information and new backtrace

Egmont Koblinger egmont at gmail.com
Tue Sep 25 09:00:54 BST 2018


Hi,

I can also reproduce the problem under Wayland + gnome-shell (but not on
X11). On Wayland the window is not forced to fit in the screen, on X11 it
is (with gnome-shell).

(I incorrectly thought I was testing with Wayland previously while I was
actually on X11. I should've tried both, anyways, my bad.)

The crash happens when the window size exceeds a constant somewhere
slightly below 16384 pixels (about 100 pixels smaller or so) in either
direction. Presence of the menu bar, tab bar also influence the number of
maximum lines without crash, so it's the window size that matters, not the
VTE widget size.

- gnome-terminal-server requests some situation that gnome-shell could not
> deliver,
>   therefore it should possibly avoid such a request.
>

Without having further studied what's exactly going on, I also assume it's
something along these lines.

We'd need to check if it's indeed gnome-terminal's responsibility to handle
the error and try a smaller window size. Isn't it rather a bug somewhere in
our underlying infrastructure: wayland, gnome-shell, gtk+ and friends?

gnome-terminal, xfce4-terminal and roxterm (three native Wayland, VTE-based
emulators that handle app-initiated resize) all crash with "Gdk-Message:
09:55:43.773: Error 71 (Protocol error) dispatching to Wayland display."

- vim seems to have a problem to handle SIGHUPs while currently reacting to
> user input.
>   Sending a SIGHUP while vim is idle does not produce a SIGSEGV.
>
  Also I thought inside a signal handler should be done just the absolute
> necessary,
>   at least stdio/printf or malloc is forbidden - does this apply to
> sprintf too?
>

Sure, the less the signal handler does the better, to the extent that it
could just flip a flag and do the rest from the app's main flow (check for
the flag after the main pselect() which atomically blocks/unblocks the
signals the app is interested in). I'm not sure about sprintf either.

Vim is known not to handle correctly if two SIGWINCHes arrive quickly after
each other. That is, something's not right with its main loop
infrastructure. Knowing that, it's a bit less surprising that weird signal
conditions can make it crash.


cheers,
egmont
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-gnome-maintainers/attachments/20180925/3f9b51d5/attachment-0001.html>


More information about the pkg-gnome-maintainers mailing list