Application: kate (3.8.0) KDE Platform Version: 4.8.00 (4.8.0 Qt Version: 4.8.0 Operating System: Linux 3.2.2-1.fc16.x86_64 x86_64 Distribution (Platform): Fedora RPMs -- Information about the crash: - What I was doing when the application crashed: I tried to open a large file text (> 120 MiB) and Kate crashed every time with the given segfault. Perhaps that has something to do with the file text as it contains one newline... only a 120 MiB line of characters. - Custom settings of the application: Line length limit set in: Unlimited The crash can be reproduced every time. -- Backtrace: Application: Kate (kate), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". 82 T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS) [Current thread is 1 (Thread 0x7f8bd6613840 (LWP 2706))] Thread 3 (Thread 0x7f8bc95b8700 (LWP 2707)): #0 0x00000039c3ae6af3 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87 #1 0x0000003c11c44fd8 in g_main_context_poll (n_fds=1, fds=0x7f8bc4002400, priority=<optimized out>, timeout=-1, context=0x7f8bc40009a0) at gmain.c:3402 #2 g_main_context_iterate (context=0x7f8bc40009a0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3084 #3 0x0000003c11c4549c in g_main_context_iteration (context=0x7f8bc40009a0, may_block=1) at gmain.c:3152 #4 0x00000039abba7dc6 in QEventDispatcherGlib::processEvents (this=0x7f8bc40008c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426 #5 0x00000039abb78182 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #6 0x00000039abb783d7 in QEventLoop::exec (this=0x7f8bc95b7d10, flags=...) at kernel/qeventloop.cpp:204 #7 0x00000039aba78b27 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501 #8 0x00000039abb57e7f in QInotifyFileSystemWatcherEngine::run (this=0x1778cf0) at io/qfilesystemwatcher_inotify.cpp:248 #9 0x00000039aba7bb6b in QThreadPrivate::start (arg=0x1778cf0) at thread/qthread_unix.cpp:298 #10 0x00000039c3e07d90 in start_thread (arg=0x7f8bc95b8700) at pthread_create.c:309 #11 0x00000039c3aef48d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 Thread 2 (Thread 0x7f8bc8cb0700 (LWP 2708)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165 #1 0x00000039b4d84e62 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x39b507e240) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359 #2 0x00000039b4d84e99 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464 #3 0x00000039c3e07d90 in start_thread (arg=0x7f8bc8cb0700) at pthread_create.c:309 #4 0x00000039c3aef48d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 Thread 1 (Thread 0x7f8bd6613840 (LWP 2706)): [KCrash Handler] #6 stringToCMap (flags=..., nglyphs=0x7fffc1ab2bb8, glyphs=<optimized out>, len=4096, str=0x7f8b9424e02a, this=0x17ffad0) at text/qfontengine_ft.cpp:1556 #7 QFontEngineFT::stringToCMap (this=0x17ffad0, str=0x7f8b9424e02a, len=4096, glyphs=<optimized out>, nglyphs=0x7fffc1ab2bb8, flags=...) at text/qfontengine_ft.cpp:1501 #8 0x000000326e3eccac in QFontEngineMulti::stringToCMap (this=0x1803ec0, str=0x7f8b9424e02a, len=4096, glyphs=0x7fffc1ab2f90, nglyphs=0x7fffc1ab317c, flags=...) at text/qfontengine.cpp:1335 #9 0x000000326e41e5fe in stringToGlyphs (fontEngine=0x1803ec0, glyphs=0x7fffc1ab2f90, item=0x7fffc1ab2eb0) at text/qtextengine.cpp:841 #10 QTextEngine::shapeTextWithHarfbuzz (this=0x1ae8560, item=<optimized out>) at text/qtextengine.cpp:1225 #11 0x000000326e41f39b in QTextEngine::shapeText (this=0x1ae8560, item=0) at text/qtextengine.cpp:922 #12 0x000000326e41f6ee in QTextEngine::shape (this=0x1ae8560, item=0) at text/qtextengine.cpp:1437 #13 0x000000326e43048e in QTextLine::layout_helper (this=0x7fffc1ab3ae0, maxGlyphs=<optimized out>) at text/qtextlayout.cpp:1752 #14 0x00007f8bca83ca62 in KateRenderer::layoutLine (this=0x17f9750, lineLayout=..., maxwidth=661, cacheLayout=<optimized out>) at /usr/src/debug/kate-4.8.0/part/render/katerenderer.cpp:896 #15 0x00007f8bca84127d in KateLayoutCache::line (this=0x17fd840, realLine=1, virtualLine=1) at /usr/src/debug/kate-4.8.0/part/render/katelayoutcache.cpp:318 #16 0x00007f8bca84235a in KateLayoutCache::updateViewCache (this=0x17fd840, startPos=..., newViewLineCount=<optimized out>, viewLinesScrolled=<optimized out>) at /usr/src/debug/kate-4.8.0/part/render/katelayoutcache.cpp:270 #17 0x00007f8bca89319f in doUpdateView (viewLinesScrolled=0, changed=<optimized out>, this=0x17f9cb0) at /usr/src/debug/kate-4.8.0/part/view/kateviewinternal.cpp:550 #18 KateViewInternal::doUpdateView (this=0x17f9cb0, changed=<optimized out>, viewLinesScrolled=0) at /usr/src/debug/kate-4.8.0/part/view/kateviewinternal.cpp:530 #19 0x00007f8bca8938bc in KateViewInternal::updateView (this=0x17f9cb0, changed=true, viewLinesScrolled=<optimized out>) at /usr/src/debug/kate-4.8.0/part/view/kateviewinternal.cpp:524 #20 0x00007f8bca87eae6 in KateView::updateView (this=0x17f8f50, changed=<optimized out>) at /usr/src/debug/kate-4.8.0/part/view/kateview.cpp:1706 #21 0x00007f8bca7fab79 in KateDocument::updateConfig (this=0x1459830) at /usr/src/debug/kate-4.8.0/part/document/katedocument.cpp:4072 #22 0x00007f8bca8f370e in KateDocumentConfig::setEncoding (this=0x145a7e0, encoding=<optimized out>) at /usr/src/debug/kate-4.8.0/part/utils/kateconfig.cpp:827 #23 0x00007f8bca81401b in KateBuffer::openFile (this=0x1459580, m_file=...) at /usr/src/debug/kate-4.8.0/part/document/katebuffer.cpp:167 #24 0x00007f8bca80efad in KateDocument::openFile (this=0x1459830) at /usr/src/debug/kate-4.8.0/part/document/katedocument.cpp:1981 #25 0x0000003271c278cc in KParts::ReadOnlyPartPrivate::openLocalFile (this=0x1457f50) at /usr/src/debug/kdelibs-4.8.0/kparts/part.cpp:590 #26 0x0000003271c27e84 in KParts::ReadOnlyPart::openUrl (this=0x1459830, url=...) at /usr/src/debug/kdelibs-4.8.0/kparts/part.cpp:554 #27 0x000000326dc365a5 in KateDocManager::openUrl (this=0x11ed3a0, url=<optimized out>, encoding=..., isTempFile=false, docInfo=...) at /usr/src/debug/kate-4.8.0/kate/app/katedocmanager.cpp:243 #28 0x000000326dc4483d in KateViewManager::openUrl (this=0x150c780, url=..., encoding=..., activate=false, isTempFile=false, docInfo=...) at /usr/src/debug/kate-4.8.0/kate/app/kateviewmanager.cpp:287 #29 0x000000326dc2d558 in KateApp::startupKate (this=0x7fffc1ab4e60) at /usr/src/debug/kate-4.8.0/kate/app/kateapp.cpp:222 #30 0x000000326dc2e255 in KateApp::initKate (this=0x7fffc1ab4e60) at /usr/src/debug/kate-4.8.0/kate/app/kateapp.cpp:135 #31 0x000000326dc2e472 in KateApp::KateApp (this=0x7fffc1ab4e60, args=<optimized out>) at /usr/src/debug/kate-4.8.0/kate/app/kateapp.cpp:72 #32 0x0000003272405c86 in kdemain (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kate-4.8.0/kate/app/katemain.cpp:373 #33 0x00000039c3a2169d in __libc_start_main (main=0x400730 <main(int, char**)>, argc=3, ubp_av=0x7fffc1ab6398, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffc1ab6388) at libc-start.c:226 #34 0x0000000000400761 in _start () This bug may be a duplicate of or related to bug 283826. Possible duplicates by query: bug 283826. Reported using DrKonqi
It is a problem in Qt itself, as we support bi-directional text rendering, and in order to do that successfully, the entire line needs to be layouted: a text line with 120,000,000 characters. And this is where Qt is very bad at for very long lines. A workaround exists in KDE 4.8, as Kate will automatically wrap the lines at column 1024 (depending what you configure in the settings). It's still not optimal, but better than a stall of the program. I close this as duplicate report. *** This bug has been marked as a duplicate of bug 225228 ***