Bug 365339

Summary: Several seconds delay switching to certain tabs
Product: [Applications] konsole Reporter: Andreas Hartmetz <ahartmetz>
Component: generalAssignee: Konsole Developer <konsole-devel>
Status: RESOLVED FIXED    
Severity: major CC: asturm, linux, stupor_scurvy343
Priority: NOR    
Version: master   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Backtraces and thread info taken while konsole is hanging

Description Andreas Hartmetz 2016-07-11 00:06:33 UTC
I like to use infinite scrollback. Since recently, it takes several seconds to switch to tabs with many thousands of lines of scrollback, such as from compiling a large project with qmake. From the attached backtrace (and other gdb info dump) it looks like konsole's filtering for highlighting etc. is what is taking so long. I think it's probably scanning more than it has to, which would be really just the current screen. And it probably handled it more cleverly before.
Needless to say, the current behavior is quite annoying.

Reproducible: Always

Steps to Reproduce:
1. Get a few thousand lines of scrollback in a tab (compiling something with qmake works well)
2. Make sure that the scrollback is still growing (konsole is smart enough not to rescan completely constant contents)
3. Switch to another tab
4. Switch back to the tab with lots of lines

Actual Results:  
konsole hangs for some time before the tab with the long scrollback is shown.

Expected Results:  
konsole shows the tab with the long scrollback quasi-instantly, which it used to do before.

I think this is major because it kind of kills the infinite scrollback feature and even makes tab switching with "just" 1000 lines a bit slower.
Comment 1 Andreas Hartmetz 2016-07-11 00:07:46 UTC
Created attachment 99999 [details]
Backtraces and thread info taken while konsole is hanging
Comment 2 Andreas Hartmetz 2016-07-11 00:09:25 UTC
By the way, I'm using Qt 5.7  branch.
Comment 3 Andreas Hartmetz 2017-03-27 16:40:57 UTC
This was fixed a few months ago.