| Summary: | Kate crashes when moving selections of text with Crtl+Shift+Arrow keys | ||
|---|---|---|---|
| Product: | [Applications] kate | Reporter: | Jürgen Thomann <juergen_thomann> |
| Component: | general | Assignee: | KWrite Developers <kwrite-bugs-null> |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | crash | CC: | 2012gdwu+k2, christoph, daretmavi, kde, niluxv.opensource.C-h2ty6xl, oded, waqar.17a |
| Priority: | NOR | Keywords: | drkonqi |
| Version First Reported In: | 19.12.2 | ||
| Target Milestone: | --- | ||
| Platform: | openSUSE | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: |
Crash report with more debug symbols installed
Sample text file reproducer script New crash information added by DrKonqi New crash information added by DrKonqi |
||
|
Description
Jürgen Thomann
2020-03-01 10:17:34 UTC
The attached crash report was generated with more debug symobls installed and could be useful. Here's how I got the crash: 1. Select multiple lines of text 2. Move selection up (ctrl+shift) 3. Attempt to move selection down (-> crash) I can't reproduce it consistently. Created attachment 126558 [details]
Crash report with more debug symbols installed
Isn't Qt 5.14 broken? Can you try with Qt 5.15? Still crashes with QT 5.15. Application: kate (20.04.2) Qt Version: 5.15.0 Frameworks Version: 5.71.0 Operating System: Linux 5.7.2-1-default x86_64 Windowing system: X11 Distribution: "openSUSE Tumbleweed" -- Backtrace: Application: Kate (kate), signal: Segmentation fault [KCrash Handler] #4 QV4::Heap::Base::mark (markStack=0x7ffd811b6a40, this=0x7fc9ee3be658) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/include/QtQml/5.15.0/QtQml/private/../../../../../src/qml/memory/qv4heap_p.h:190 #5 QV4::Managed::mark (markStack=0x7ffd811b6a40, this=0x7fc9ee3be668) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/qml/jsruntime/qv4managed_p.h:204 #6 QV4::MemoryManager::collectFromJSStack (this=<optimized out>, markStack=0x7ffd811b6a40) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/qml/memory/qv4mm.cpp:1219 #7 0x00007fca00d62f7e in QV4::MemoryManager::collectRoots (this=0x555f5b6b4500, markStack=0x7ffd811b6a40) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/qml/memory/qv4mm.cpp:876 #8 0x00007fca00d631dd in QV4::MemoryManager::mark (this=this@entry=0x555f5b6b4500) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/qml/memory/qv4mm.cpp:916 #9 0x00007fca00d64ef1 in QV4::MemoryManager::runGC (this=0x555f5b6b4500) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/qml/memory/qv4mm.cpp:1050 #10 0x00007fca00d66b88 in QV4::MemoryManager::allocate (size=96, allocator=0x555f5b6b4510, this=this@entry=0x555f5b6b4500) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/include/QtQml/5.15.0/QtQml/private/../../../../../src/qml/memory/qv4mm_p.h:328 #11 QV4::MemoryManager::allocData (this=this@entry=0x555f5b6b4500, size=size@entry=96) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/qml/memory/qv4mm.cpp:803 #12 0x00007fca00d66be3 in QV4::MemoryManager::allocObjectWithMemberData (this=0x555f5b6b4500, vtable=<optimized out>, nMembers=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/qml/memory/qv4mm.cpp:826 #13 0x00007fca00e7a0f1 in QV4::MemoryManager::allocateObject<QV4::ArgumentsObject> (ic=0x7fc9edfc1200, this=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/qml/jsruntime/qv4argumentsobject_p.h:93 #14 QV4::MemoryManager::allocObject<QV4::ArgumentsObject, QV4::CppStackFrame*> (ic=0x7fc9edfc1200, this=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/include/QtQml/5.15.0/QtQml/private/../../../../../src/qml/memory/qv4mm_p.h:227 #15 QV4::Runtime::CreateMappedArgumentsObject::call (engine=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.0-1.1.x86_64/src/qml/jsruntime/qv4runtime.cpp:1928 #16 0x00007fc9f571906e in ?? () #17 0x0000000000000000 in ?? () [Inferior 1 (process 29715) detached] Created attachment 129894 [details]
Sample text file
Created attachment 129895 [details]
reproducer script
It is a bit of hack, but the attached reproducer script will crash Kate every time with the attached sample text file.
It seems that Kate crashes a lot faster if the lines are longer. The sample file crashes quite fast. I had a different file where I ran the reproducer and completed but running it a second time crashed Kate.
You are unfortunately right, seems not all fixes did make it into Qt 5.15 :( I got a crash that is possibly related: Application: kate (20.11.70) Qt Version: 5.15.0 Frameworks Version: 5.76.0 Operating System: Linux 5.8.0-22-generic x86_64 Windowing system: X11 Distribution: Ubuntu Groovy Gorilla (development branch) Thread 1 (Thread 0x7f0402f5c800 (LWP 1109451)): [KCrash Handler] #4 QV4::Heap::Base::mark (markStack=0x7ffc1e53a620, this=0x7f03e03ba9f0) at ../../include/QtQml/5.15.0/QtQml/private/../../../../../src/qml/memory/qv4heap_p.h:190 #5 QV4::Managed::mark (markStack=0x7ffc1e53a620, this=0x7f03e03baa00) at jsruntime/qv4managed_p.h:204 #6 QV4::MemoryManager::collectFromJSStack (this=<optimized out>, markStack=0x7ffc1e53a620) at memory/qv4mm.cpp:1219 #7 0x00007f040697a450 in QV4::MemoryManager::collectRoots (this=0x560ed49b9390, markStack=0x7ffc1e53a620) at memory/qv4mm.cpp:876 #8 0x00007f040697a6a1 in QV4::MemoryManager::mark (this=this@entry=0x560ed49b9390) at memory/qv4mm.cpp:916 #9 0x00007f040697c1c6 in QV4::MemoryManager::runGC (this=0x560ed49b9390) at memory/qv4mm.cpp:1050 #10 0x00007f040697e498 in QV4::MemoryManager::allocate (size=96, allocator=0x560ed49b93a0, this=0x560ed49b9390) at ../../include/QtQml/5.15.0/QtQml/private/../../../../../src/qml/memory/qv4mm_p.h:328 #11 QV4::MemoryManager::allocData (this=this@entry=0x560ed49b9390, size=size@entry=96) at memory/qv4mm.cpp:803 #12 0x00007f040697e4f7 in QV4::MemoryManager::allocObjectWithMemberData (this=0x560ed49b9390, vtable=<optimized out>, nMembers=<optimized out>) at memory/qv4mm.cpp:826 #13 0x00007f0406ab6c35 in QV4::MemoryManager::allocateObject<QV4::ArgumentsObject> (ic=0x7f03a9401200, this=<optimized out>) at jsruntime/qv4argumentsobject_p.h:93 #14 QV4::MemoryManager::allocObject<QV4::ArgumentsObject, QV4::CppStackFrame*> (ic=0x7f03a9401200, this=<optimized out>) at ../../include/QtQml/5.15.0/QtQml/private/../../../../../src/qml/memory/qv4mm_p.h:227 #15 QV4::Runtime::CreateMappedArgumentsObject::call (engine=<optimized out>) at jsruntime/qv4runtime.cpp:1928 #16 0x00007f03e864663e in ?? () #17 0x0000000000000000 in ?? () [Inferior 1 (process 1109451) detached] ------------ I can reproduce this often (but not always) when editing a large ruby script. I believe it happens when the auto completer tries to show me stuff. @Allen: can you comment on the V4 crash or maybe redirect us to someone who can? It is in the garbage collector. Perhaps we have injected an object with the wrong ownership policy and then deleted it underneath JS? I can't seem to reproduce it. Perhaps it requires a special kate settings? Created attachment 133203 [details]
New crash information added by DrKonqi
kwrite (20.08.2) using Qt 5.15.0
- What I was doing when the application crashed:
It was lua script (with lua settings).
- cut out all text (CTRL-X)
- insert text again (CTRL-V)
I wantend to update all Tabs to lua style.
-- Backtrace (Reduced):
#4 QV4::Heap::Base::mark (markStack=0x7ffcae43c910, this=0x7eff101b57d0) at ../../include/QtQml/5.15.0/QtQml/private/../../../../../src/qml/memory/qv4heap_p.h:190
#5 QV4::Managed::mark (markStack=0x7ffcae43c910, this=0x7eff101b57e0) at jsruntime/qv4managed_p.h:204
#6 QV4::MemoryManager::collectFromJSStack (this=<optimized out>, markStack=0x7ffcae43c910) at memory/qv4mm.cpp:1219
#7 0x00007eff637e9450 in QV4::MemoryManager::collectRoots (this=0x55c745ee9f80, markStack=0x7ffcae43c910) at memory/qv4mm.cpp:876
#8 0x00007eff637e96a1 in QV4::MemoryManager::mark (this=this@entry=0x55c745ee9f80) at memory/qv4mm.cpp:916
Can someone else reproduce this errors with Qt 5.15.1? openSUSE Tumbleweed has now 5.15.1 and I can't reproduce it anymore with the script I once shared here. So I would assume for now that an update to the latest Qt version will fix this problem. Cannot reproduce it with Qt 5.15.2 and latest Kate built from master Created attachment 135321 [details]
New crash information added by DrKonqi
kate (20.08.2) using Qt 5.14.2
- What I was doing when the application crashed:
Editing a .lua file (just typing text). Then kate suddenly crashed.
-- Backtrace (Reduced):
#4 0x00007f1dedd16964 in QV4::MarkStack::drain (this=this@entry=0x7ffdbd5e4e40) at ../../include/QtQml/5.14.2/QtQml/private/../../../../../src/qml/memory/qv4heap_p.h:82
#5 0x00007f1dedd93aa9 in QV4::PersistentValueStorage::mark (this=<optimized out>, markStack=markStack@entry=0x7ffdbd5e4e40) at jsruntime/qv4persistent.cpp:243
#6 0x00007f1dedd16d11 in QV4::MemoryManager::collectRoots (this=this@entry=0x559c2763b560, markStack=markStack@entry=0x7ffdbd5e4e40) at memory/qv4mm.cpp:876
#7 0x00007f1dedd16f28 in QV4::MemoryManager::mark (this=this@entry=0x559c2763b560) at memory/qv4mm.cpp:917
#8 0x00007f1dedd18c81 in QV4::MemoryManager::runGC (this=0x559c2763b560) at memory/qv4mm.cpp:1052
@Allan: you likely already tested with Qt 5.15.1 or so back then, right? I'd assume this issue is fixed then. (In reply to Dominik Haumann from comment #16) > @Allan: you likely already tested with Qt 5.15.1 or so back then, right? > > I'd assume this issue is fixed then. In October I probably tested with 5.15.2, but yes, couldn't reproduce. Likely fixed with Qt 5.12.2 or so. |