Bug 309187

Summary: Crash wile find/replace
Product: [Applications] kate Reporter: roman.hellmueller
Component: partAssignee: KWrite Developers <kwrite-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: christoph
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description roman.hellmueller 2012-10-29 10:21:41 UTC
Application: kile (2.1.0)
KDE Platform Version: 4.8.5 (4.8.5)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-32-generic x86_64
Distribution: Ubuntu 12.04.1 LTS

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

find and replace in Kile with a latex document

find pattern ".\n"
replace pattern ". \\ \n"

either with escape sequences or regular expression. Crash occurs only at certain lines, but is reproducible for those lines. Both a single replace or replace all crashes Kile.

It is not possible to provide the document. However the extract below is one place where is occurred (after handled)

"
\begin {itemize}
 \item Unstructured meshes can be read/refined and stored in parallel. \ 
 Different options for partitioning (geometrically with octrees and graph-based) are provided and shared data in refinement is handled.
 \item Chunking of elements is used for optimizing parallel I/O.
 \item An octree is used for generating the chunks.
 The Morton ordering, used for creating the octree, also provides a distribution schema.
\end {itemize}
"

The crash can be reproduced every time.

-- Backtrace:
Application: Kile (kile), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fc68fb4f780 (LWP 5400))]

Thread 4 (Thread 0x7fc67a118700 (LWP 5411)):
#0  0x00007fff1f1d08de in ?? ()
#1  0x00007fc6872de15d in __GI_clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:116
#2  0x00007fc68d29ebb4 in do_gettime (frac=0x7fc67a117b98, sec=0x7fc67a117b90) at tools/qelapsedtimer_unix.cpp:123
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#4  0x00007fc68d376b8d in QTimerInfoList::updateCurrentTime (this=0x7fc674002860) at kernel/qeventdispatcher_unix.cpp:343
#5  0x00007fc68d376ec3 in QTimerInfoList::timerWait (this=0x7fc674002860, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#6  0x00007fc68d37597c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7fc67a117c6c) at kernel/qeventdispatcher_glib.cpp:136
#7  0x00007fc68d375a25 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#8  0x00007fc68702c846 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007fc68702cf5b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007fc68702d164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007fc68d376426 in QEventDispatcherGlib::processEvents (this=0x7fc6740008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#12 0x00007fc68d345c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#13 0x00007fc68d345ed7 in QEventLoop::exec (this=0x7fc67a117dd0, flags=...) at kernel/qeventloop.cpp:204
#14 0x00007fc68d244fa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#15 0x00007fc68d3259ff in QInotifyFileSystemWatcherEngine::run (this=0x1fcae40) at io/qfilesystemwatcher_inotify.cpp:248
#16 0x00007fc68d247fcb in QThreadPrivate::start (arg=0x1fcae40) at thread/qthread_unix.cpp:298
#17 0x00007fc6878f1e9a in start_thread (arg=0x7fc67a118700) at pthread_create.c:308
#18 0x00007fc68ba9fcbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#19 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fc679217700 (LWP 5428)):
#0  0x00007fc68baad8b6 in pthread_mutex_lock (mutex=0x7fc66c000a60) at forward.c:182
#1  0x00007fc6870685a1 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc68702c851 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fc68702cf5b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fc68702d164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fc68d376426 in QEventDispatcherGlib::processEvents (this=0x7fc66c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007fc68d345c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fc68d345ed7 in QEventLoop::exec (this=0x7fc679216dd0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fc68d244fa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#9  0x00007fc68d3259ff in QInotifyFileSystemWatcherEngine::run (this=0x29100e0) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007fc68d247fcb in QThreadPrivate::start (arg=0x29100e0) at thread/qthread_unix.cpp:298
#11 0x00007fc6878f1e9a in start_thread (arg=0x7fc679217700) at pthread_create.c:308
#12 0x00007fc68ba9fcbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fc670c10700 (LWP 5789)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fc689cf8222 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007fc689cf8259 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007fc6878f1e9a in start_thread (arg=0x7fc670c10700) at pthread_create.c:308
#4  0x00007fc68ba9fcbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fc68fb4f780 (LWP 5400)):
[KCrash Handler]
#6  0x00007fc67a9fdf16 in Kate::TextBuffer::rangesForLine (this=<optimized out>, line=448, view=0x3f46c60, rangesWithAttributeOnly=false) at ../../part/buffer/katetextbuffer.cpp:820
#7  0x00007fc67aaeba5e in KateView::updateRangesIn (this=0x3f46c60, activationType=KTextEditor::Attribute::ActivateCaretIn) at ../../part/view/kateview.cpp:2830
#8  0x00007fc67aaf4a20 in KateViewInternal::updateCursor (this=0x3f8c5f0, newCursor=..., force=<optimized out>, center=true, calledExternally=false) at ../../part/view/kateviewinternal.cpp:1875
#9  0x00007fc67aaddd8c in KateView::setCursorPositionInternal (this=0x3f46c60, position=..., tabwidth=1, calledExternally=false) at ../../part/view/kateview.cpp:1156
#10 0x00007fc67aaa738e in KateSearchBar::selectRange (view=0x3f46c60, range=...) at ../../part/search/katesearchbar.cpp:355
#11 0x00007fc67aaa740a in KateSearchBar::selectRange2 (this=0x49cffc0, range=...) at ../../part/search/katesearchbar.cpp:366
#12 0x00007fc67aaaa68a in KateSearchBar::find (this=0x49cffc0, searchDirection=KateSearchBar::SearchForward, replacement=0x7fff1f0e7230) at ../../part/search/katesearchbar.cpp:603
#13 0x00007fc67aaaacba in KateSearchBar::find (this=0x49cffc0, searchDirection=KateSearchBar::SearchForward, replacement=0x7fff1f0e7230) at ../../part/search/katesearchbar.cpp:515
#14 0x00007fc67aaaad08 in KateSearchBar::replaceNext (this=0x49cffc0) at ../../part/search/katesearchbar.cpp:747
#15 0x00007fc68d35b281 in QMetaObject::activate (sender=0x49e4650, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff1f0e7380) at kernel/qobject.cpp:3547
#16 0x00007fc68cadcc72 in QAbstractButton::clicked (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:220
#17 0x00007fc68c81aa4e in QAbstractButtonPrivate::emitClicked (this=<optimized out>) at widgets/qabstractbutton.cpp:548
#18 0x00007fc68c81bd8b in QAbstractButtonPrivate::click (this=0x49e4680) at widgets/qabstractbutton.cpp:541
#19 0x00007fc68c81bffc in QAbstractButton::mouseReleaseEvent (this=0x49e4650, e=0x7fff1f0e7c50) at widgets/qabstractbutton.cpp:1123
#20 0x00007fc68c49d144 in QWidget::event (this=0x49e4650, event=0x7fff1f0e7c50) at kernel/qwidget.cpp:8362
#21 0x00007fc68c44c894 in notify_helper (e=0x7fff1f0e7c50, receiver=0x49e4650, this=0x1c48370) at kernel/qapplication.cpp:4559
#22 QApplicationPrivate::notify_helper (this=0x1c48370, receiver=0x49e4650, e=0x7fff1f0e7c50) at kernel/qapplication.cpp:4531
#23 0x00007fc68c4520bf in QApplication::notify (this=<optimized out>, receiver=0x49e4650, e=0x7fff1f0e7c50) at kernel/qapplication.cpp:4102
#24 0x00007fc68ddac3f6 in KApplication::notify (this=0x7fff1f0e8960, receiver=0x49e4650, event=0x7fff1f0e7c50) at ../../kdeui/kernel/kapplication.cpp:311
#25 0x00007fc68d346e9c in QCoreApplication::notifyInternal (this=0x7fff1f0e8960, receiver=0x49e4650, event=0x7fff1f0e7c50) at kernel/qcoreapplication.cpp:876
#26 0x00007fc68c44d862 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#27 QApplicationPrivate::sendMouseEvent (receiver=0x49e4650, event=0x7fff1f0e7c50, alienWidget=0x49e4650, nativeWidget=0x49cffc0, buttonDown=0x49e4650, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3170
#28 0x00007fc68c4ccbf5 in QETWidget::translateMouseEvent (this=0x49cffc0, event=<optimized out>) at kernel/qapplication_x11.cpp:4617
#29 0x00007fc68c4cbbae in QApplication::x11ProcessEvent (this=0x7fff1f0e8960, event=0x7fff1f0e8520) at kernel/qapplication_x11.cpp:3732
#30 0x00007fc68c4f50d2 in x11EventSourceDispatch (s=0x1c4b770, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#31 0x00007fc68702cd53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007fc68702d0a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fc68702d164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007fc68d3763bf in QEventDispatcherGlib::processEvents (this=0x1c11b30, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#35 0x00007fc68c4f4d5e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#36 0x00007fc68d345c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#37 0x00007fc68d345ed7 in QEventLoop::exec (this=0x7fff1f0e88c0, flags=...) at kernel/qeventloop.cpp:204
#38 0x00007fc68d34af67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#39 0x0000000000436c84 in ?? ()
#40 0x00007fc68b9cd76d in __libc_start_main (main=0x435ad0, argc=1, ubp_av=0x7fff1f0e9788, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff1f0e9778) at libc-start.c:226
#41 0x0000000000439015 in _start ()

Possible duplicates by query: bug 297382.

Reported using DrKonqi
Comment 1 Michel Ludwig 2012-10-29 20:34:03 UTC
Forwarding to KatePart.
Comment 2 Christoph Cullmann 2012-10-31 23:33:39 UTC
I am unable to reproduce the crash :(
Can you provide some test case that allows reproduction? Would be very eager to fix this, one of the last remaining issues in our current buffer :/
But can't reproduce it with your search term + provided text (nor some other text I tried with that replacement you provided)
Comment 3 roman.hellmueller 2012-11-01 08:12:44 UTC
Reproduction seems only possible in my case. Was not able to find a small example for it. 

As i said publication here is not possible, however sending you the files by mail should work.
Comment 4 Dominik Haumann 2013-01-20 15:50:54 UTC

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