GNOME Bugzilla – Bug 707572
Aborts on assertion (debug mode)
Last modified: 2013-09-27 19:34:54 UTC
vte-0.34.7 Add a "usleep(100000);" to the end of vte_terminal_set_size() (file vte.c, line 8063). Configure with --enable-debug. Create some output (e.g. "ls -l") in vte, and then start stress-testing the window resize. Configure your WM to do opaque resize (I have Ubuntu 13.04, Unity, it's ccsm -> Resize Window -> General -> Default Resize Mode: Normal). Click on the window's corner and start dragging it crazily. Vte crashes with: Vte-2.90:ERROR:vte.c:4366:vte_terminal_process_incoming: assertion failed: (screen->cursor_current.row >= screen->insert_delta) So apparently there's something wrong with this logic, handling many resize events (probably some are queued up while others are still being handled) lets you into a state where the assertion doesn't hold. This is causing problems with my attempt to address bug 336238. (That one slows down handling the resize events, hence the delay here to emulate that.)
Here's another (debuggable, yay!) way to reproduce it (with vte-0.34.8, and opaque window resize): - ./configure --enable-debug - start vte - execute: echo -e '\e[J' - execute: sleep 1000000 - press enter ~8-10 times (the cursor is about mid-screen) - slowly shrink the window to ~5 lines - slowly enlarge the window to ~30 lines. Note that you'd expect the prompt and command to re-appear but they don't - slowly shrink the window. At about the original size suddenly the prompts and commands re-appear and the cursor jumps to almost the bottom. Keep shrinking until the cursor reaches the very bottom, and then keep shrinking by at least 1 more. The terminal is now ~15-20 lines tall. - press space - Vte-2.90:ERROR:vte.c:4368:vte_terminal_process_incoming: assertion failed: (screen->cursor_current.row >= screen->insert_delta) Aborted I think it's strongly related to bug 708213 comment 8: probably resizing when the cursor is not at the end of the ring is handled inconsistently.
*** This bug has been marked as a duplicate of bug 708213 ***