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

            Bug ID: 460589
           Summary: Rare crash in KateLayoutCache::textLayout when
                    duplicating lines
    Classification: Applications
           Product: kate
           Version: 22.08.1
          Platform: Neon
                OS: Linux
            Status: REPORTED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: kwrite-bugs-n...@kde.org
          Reporter: m_loui...@yahoo.com
  Target Milestone: ---

Application: kate (22.08.1)

Qt Version: 5.15.6
Frameworks Version: 5.98.0
Operating System: Linux 5.15.0-46-generic x86_64
Windowing System: X11
Distribution: KDE neon User - 5.25
DrKonqi: 5.25.5 [KCrashBackend]

-- Information about the crash:
Kate crashed on me while editing, more precisely:

* I had selected multiple lines of text
* I triggered the action "Duplicate selected lines below" using a custom
keyboard shortcut

Despite using this action very often, it is the first time I see this crash.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Kate (kate), signal: Segmentation fault

[New LWP 932684]
[New LWP 932701]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f611c86599f in __GI___poll (fds=0x7ffd57890138, nfds=1, timeout=1000) at
../sysdeps/unix/sysv/linux/poll.c:29
__preamble__
[Current thread is 1 (Thread 0x7f6117a889c0 (LWP 932683))]

Thread 3 (Thread 0x7f60f0870700 (LWP 932701)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x55e1280214a8) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55e128021458,
cond=0x55e128021480) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55e128021480, mutex=0x55e128021458) at
pthread_cond_wait.c:647
#3  0x00007f60f0c355eb in cnd_wait (mtx=0x55e128021458, cond=0x55e128021480) at
../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x55e128019d50) at
../src/util/u_queue.c:294
#5  0x00007f60f0c351eb in impl_thrd_routine (p=<optimized out>) at
../include/c11/threads_posix.h:87
#6  0x00007f611b5eb609 in start_thread (arg=<optimized out>) at
pthread_create.c:477
#7  0x00007f611c872133 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f6116c98700 (LWP 932684)):
#0  0x00007f611c86599f in __GI___poll (fds=0x7f6110015010, nfds=1, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f611aa3536e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f611aa354a3 in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f611ce36b6b in QEventDispatcherGlib::processEvents
(this=0x7f6110000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f611cddab0b in QEventLoop::exec (this=this@entry=0x7f6116c97bb0,
flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f611cbf4342 in QThread::exec (this=this@entry=0x7f611e070d80
<(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f611dfecf4b in QDBusConnectionManager::run (this=0x7f611e070d80
<(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at
qdbusconnection.cpp:179
#7  0x00007f611cbf5543 in QThreadPrivate::start (arg=0x7f611e070d80 <(anonymous
namespace)::Q_QGS__q_manager::innerFunction()::holder>) at
thread/qthread_unix.cpp:330
#8  0x00007f611b5eb609 in start_thread (arg=<optimized out>) at
pthread_create.c:477
#9  0x00007f611c872133 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f6117a889c0 (LWP 932683)):
[KCrash Handler]
#4  std::__atomic_base<int>::operator++ (this=0x0) at
/usr/include/c++/9/bits/atomic_base.h:318
#5  QAtomicOps<int>::ref<int> (_q_value=...) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h:283
#6  QBasicAtomicInteger<int>::ref (this=0x0) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:118
#7  QExplicitlySharedDataPointer<KateLineLayout>::QExplicitlySharedDataPointer
(adata=0x0, this=0x7ffd57890e80) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h:285
#8  KateLineLayout::viewLine (this=0x0, viewLine=viewLine@entry=0) at
./src/render/katelinelayout.cpp:169
#9  0x00007f611c510402 in KateLayoutCache::textLayout
(this=this@entry=0x55e12b194750, realLine=<optimized out>,
_viewLine=_viewLine@entry=0) at ./src/render/katelayoutcache.cpp:305
#10 0x00007f611c56a813 in KateViewInternal::nextLayout
(this=this@entry=0x55e12aa56540, c=...) at
./src/include/ktexteditor/cursor.h:199
#11 0x00007f611c579fef in KateViewInternal::cursorDown (this=0x55e12aa56540,
sel=false) at ./src/include/ktexteditor/cursor.h:87
#12 0x00007f611ce132c2 in QtPrivate::QSlotObjectBase::call (a=0x7ffd578910f0,
r=0x55e12b24f830, this=0x55e12578de40) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#13 doActivate<false> (sender=0x55e12578dba0, signal_index=4,
argv=0x7ffd578910f0) at kernel/qobject.cpp:3919
#14 0x00007f611ce0c557 in QMetaObject::activate
(sender=sender@entry=0x55e12578dba0, m=m@entry=0x7f611dfa21a0
<QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1,
argv=argv@entry=0x7ffd578910f0) at kernel/qobject.cpp:3979
#15 0x00007f611da86986 in QAction::triggered (this=this@entry=0x55e12578dba0,
_t1=<optimized out>) at .moc/moc_qaction.cpp:376
#16 0x00007f611da89038 in QAction::activate (this=0x55e12578dba0,
event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1161
#17 0x00007f611da8994f in QAction::event (e=<optimized out>, this=<optimized
out>) at kernel/qaction.cpp:1086
#18 QAction::event (this=<optimized out>, e=<optimized out>) at
kernel/qaction.cpp:1075
#19 0x00007f611da8ce43 in QApplicationPrivate::notify_helper
(this=this@entry=0x55e12571f840, receiver=receiver@entry=0x55e12578dba0,
e=e@entry=0x7ffd57891470) at kernel/qapplication.cpp:3637
#20 0x00007f611da95c58 in QApplication::notify (this=0x7ffd57891b30,
receiver=0x55e12578dba0, e=0x7ffd57891470) at kernel/qapplication.cpp:3161
#21 0x00007f611cddc00a in QCoreApplication::notifyInternal2
(receiver=0x55e12578dba0, event=0x7ffd57891470) at
../../include/QtCore/5.15.6/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:332
#22 0x00007f611d3bc3e3 in QShortcutMap::dispatchEvent
(this=this@entry=0x55e12571f908, e=e@entry=0x7ffd57891530) at
kernel/qshortcutmap.cpp:675
#23 0x00007f611d3bcd83 in QShortcutMap::tryShortcut
(this=this@entry=0x55e12571f908, e=e@entry=0x7ffd57891530) at
kernel/qshortcutmap.cpp:343
#24 0x00007f611d368b82 in QWindowSystemInterface::handleShortcutEvent
(window=<optimized out>, window@entry=0x55e127f41160, timestamp=876352203,
keyCode=16777237, modifiers=..., nativeScanCode=116, nativeVirtualKey=65364,
nativeModifiers=16, text=..., autorepeat=false, count=1) at
kernel/qwindowsysteminterface.cpp:477
#25 0x00007f611d389b91 in QGuiApplicationPrivate::processKeyEvent
(e=e@entry=0x55e12b603fd0) at kernel/qguiapplication.cpp:2398
#26 0x00007f611d38ee4b in QGuiApplicationPrivate::processWindowSystemEvent
(e=0x55e12b603fd0) at kernel/qguiapplication.cpp:2011
#27 0x00007f611d3656bc in QWindowSystemInterface::sendWindowSystemEvents
(flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#28 0x00007f61173d1e3e in xcbSourceDispatch (source=<optimized out>) at
qxcbeventdispatcher.cpp:105
#29 0x00007f611aa3517d in g_main_context_dispatch () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007f611aa35400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f611aa354a3 in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007f611ce36b52 in QEventDispatcherGlib::processEvents
(this=0x55e125800040, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#33 0x00007f611cddab0b in QEventLoop::exec (this=this@entry=0x7ffd578918e0,
flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:141
#34 0x00007f611cde2cb4 in QCoreApplication::exec () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#35 0x000055e124698d43 in main (argc=<optimized out>, argv=<optimized out>) at
./apps/kate/main.cpp:607
[Inferior 1 (process 932683) detached]

The reporter indicates this bug may be a duplicate of or related to bug 424079.

Reported using DrKonqi

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to