After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 707572 - Aborts on assertion (debug mode)
Aborts on assertion (debug mode)
Status: RESOLVED DUPLICATE of bug 708213
Product: vte
Classification: Core
Component: general
0.34.x
Other Linux
: Normal minor
: ---
Assigned To: VTE Maintainers
VTE Maintainers
Depends on:
Blocks: 336238
 
 
Reported: 2013-09-05 15:47 UTC by Egmont Koblinger
Modified: 2013-09-27 19:34 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Egmont Koblinger 2013-09-05 15:47:51 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.)
Comment 1 Egmont Koblinger 2013-09-18 20:05:24 UTC
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.
Comment 2 Behdad Esfahbod 2013-09-27 19:34:54 UTC

*** This bug has been marked as a duplicate of bug 708213 ***