[Konsole-devel] [Bug 300855] New: Konsole hangs when scrolling in binary data output

Petr Viktorin encukou at gmail.com
Wed May 30 08:57:23 UTC 2012


https://bugs.kde.org/show_bug.cgi?id=300855

            Bug ID: 300855
          Severity: crash
           Version: 2.8.3
          Priority: NOR
          Assignee: konsole-devel at kde.org
           Summary: Konsole hangs when scrolling in binary data output
    Classification: Unclassified
                OS: Linux
          Reporter: encukou at gmail.com
          Hardware: Fedora RPMs
            Status: UNCONFIRMED
         Component: general
           Product: konsole

Application: konsole (2.8.3)
KDE Platform Version: 4.8.3 (4.8.3)
Qt Version: 4.8.1
Operating System: Linux 3.3.7-1.fc16.x86_64 x86_64
Distribution: "Fedora release 16 (Verne)"

-- Information about the crash:
- What I was doing when the application crashed:

Using a large Konsole window (232×64) in UTF-8 encoding, I `cat`-ed a binary
file by accident. I then scrolled up.

- Unusual behavior I noticed:

After scrolling up to about 2/3 of the output (near the line output as '?qwP0',
byte offset about 0x52A0), Konsole hangs, starts consuming excessive memory and
eventually crashes.
Scrolling around a bit with the mouse wheel reproduces this reliably.

A backtrace from the hang before the crash:

(gdb) bt
#0  _int_malloc (av=0x30f39b1700, bytes=40) at malloc.c:3468
#1  0x00000030f3682595 in __GI___libc_malloc (bytes=40) at malloc.c:2928
#2  0x00000030feec14b5 in QString::QString (this=0x7fff7b2d3ec0, size=4) at
tools/qstring.cpp:1141
#3  0x00000030fefb171a in QUtf16::convertToUnicode (chars=0x1cd19d2 "", len=4,
state=0x0, e=<optimized out>) at codecs/qutfcodec.cpp:331
#4  0x00000030feec391c in QString::fromUtf16 (unicode=<optimized out>,
size=<optimized out>) at tools/qstring.cpp:4049
#5  0x00000031078a4e2d in Konsole::PlainTextDecoder::decodeLine
(this=0x7fff7b2d3f40, characters=0x1cae4a0, count=<optimized out>) at
/usr/src/debug/konsole-4.8.3/src/TerminalCharacterDecoder.cpp:125
#6  0x000000310786284b in Konsole::TerminalImageFilterChain::setImage
(this=0x1b01810, image=<optimized out>, lines=64, columns=232,
lineProperties=...) at /usr/src/debug/konsole-4.8.3/src/Filter.cpp:161
#7  0x00000031078abf58 in Konsole::TerminalDisplay::processFilters
(this=0x1b90410) at /usr/src/debug/konsole-4.8.3/src/TerminalDisplay.cpp:924
#8  0x0000003107897a75 in eventFilter (event=<optimized out>, this=0x1b4db20,
watched=<optimized out>) at
/usr/src/debug/konsole-4.8.3/src/SessionController.cpp:356
#9  Konsole::SessionController::eventFilter (this=0x1b4db20, watched=<optimized
out>, event=<optimized out>) at
/usr/src/debug/konsole-4.8.3/src/SessionController.cpp:309
#10 0x00000030fef79a68 in
QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>,
receiver=0x1b90410, event=0x7fff7b2d4640) at kernel/qcoreapplication.cpp:986
#11 0x00000031025c9b8f in notify_helper (e=0x7fff7b2d4640, receiver=0x1b90410,
this=0x18dc600) at kernel/qapplication.cpp:4550
#12 QApplicationPrivate::notify_helper (this=0x18dc600, receiver=0x1b90410,
e=0x7fff7b2d4640) at kernel/qapplication.cpp:4526
#13 0x00000031025cf313 in QApplication::notify (this=<optimized out>,
receiver=0x1b90410, e=0x7fff7b2d4640) at kernel/qapplication.cpp:4097
#14 0x0000003104a51ff6 in KApplication::notify (this=0x7fff7b2d5340,
receiver=0x1b90410, event=0x7fff7b2d4640) at
/usr/src/debug/kdelibs-4.8.3/kdeui/kernel/kapplication.cpp:311
#15 0x00000030fef798dc in QCoreApplication::notifyInternal
(this=0x7fff7b2d5340, receiver=0x1b90410, event=0x7fff7b2d4640) at
kernel/qcoreapplication.cpp:876
#16 0x00000031025cab92 in sendEvent (event=<optimized out>, receiver=<optimized
out>) at ../../src/corelib/kernel/qcoreapplication.h:231
#17 QApplicationPrivate::sendMouseEvent (receiver=0x1b90410,
event=0x7fff7b2d4640, alienWidget=0x1b90410, nativeWidget=0x1a6cc40,
buttonDown=0x0, lastMouseReceiver=..., spontaneous=true) at
kernel/qapplication.cpp:3165
#18 0x0000003102646395 in QETWidget::translateMouseEvent (this=0x1a6cc40,
event=<optimized out>) at kernel/qapplication_x11.cpp:4523
#19 0x000000310264525a in QApplication::x11ProcessEvent (this=0x7fff7b2d5340,
event=0x7fff7b2d4f00) at kernel/qapplication_x11.cpp:3646
#20 0x000000310266cbdc in x11EventSourceDispatch (s=0x18e3190, callback=0,
user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#21 0x00000030f5644f3d in g_main_context_dispatch () from
/lib64/libglib-2.0.so.0
#22 0x00000030f5645738 in ?? () from /lib64/libglib-2.0.so.0
#23 0x00000030f564590c in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#24 0x00000030fefa85bf in QEventDispatcherGlib::processEvents (this=0x18a5ee0,
flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#25 0x000000310266c8ce in QGuiEventDispatcherGlib::processEvents
(this=<optimized out>, flags=<optimized out>) at
kernel/qguieventdispatcher_glib.cpp:207
#26 0x00000030fef78a12 in QEventLoop::processEvents (this=<optimized out>,
flags=...) at kernel/qeventloop.cpp:149
#27 0x00000030fef78c67 in QEventLoop::exec (this=0x7fff7b2d52d0, flags=...) at
kernel/qeventloop.cpp:204
#28 0x00000030fef7d665 in QCoreApplication::exec () at
kernel/qcoreapplication.cpp:1148
#29 0x00000030ffc14232 in kdemain (argc=2, argv=0x7fff7b2d5598) at
/usr/src/debug/konsole-4.8.3/src/main.cpp:88
#30 0x00000030f362169d in __libc_start_main (main=0x400780 <main(int, char**)>,
argc=2, ubp_av=0x7fff7b2d5598, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7fff7b2d5588) at libc-start.c:226
#31 0x00000000004007b1 in _start ()

The crash can be reproduced every time.

-- Backtrace:
Application: Konsole (konsole), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
82    T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[KCrash Handler]
#6  0x00000030f3636285 in __GI_raise (sig=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7  0x00000030f3637b9b in __GI_abort () at abort.c:91
#8  0x00000030f6ebbc5d in __gnu_cxx::__verbose_terminate_handler () at
../../../../libstdc++-v3/libsupc++/vterminate.cc:95
#9  0x00000030f6eb9e16 in __cxxabiv1::__terminate (handler=<optimized out>) at
../../../../libstdc++-v3/libsupc++/eh_terminate.cc:40
#10 0x00000030f6eb9e43 in std::terminate () at
../../../../libstdc++-v3/libsupc++/eh_terminate.cc:50
#11 0x00000030f6eb9f86 in __cxxabiv1::__cxa_rethrow () at
../../../../libstdc++-v3/libsupc++/eh_throw.cc:116
#12 0x00000030fef78efc in QEventLoop::exec (this=<optimized out>,
flags=<optimized out>) at kernel/qeventloop.cpp:218
#13 0x00000030fef7d665 in QCoreApplication::exec () at
kernel/qcoreapplication.cpp:1148
#14 0x00000030ffc14232 in kdemain (argc=2, argv=0x7fff11edf2f8) at
/usr/src/debug/konsole-4.8.3/src/main.cpp:88
#15 0x00000030f362169d in __libc_start_main (main=0x400780 <main(int, char**)>,
argc=2, ubp_av=0x7fff11edf2f8, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7fff11edf2e8) at libc-start.c:226
#16 0x00000000004007b1 in _start ()

Possible duplicates by query: bug 296407, bug 293802, bug 292249, bug 289446,
bug 287966.

Reported using DrKonqi

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the konsole-devel mailing list