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

--- Comment #2 from [email protected] ---
Created attachment 195747
  --> https://bugs.kde.org/attachment.cgi?id=195747&action=edit
screen recording

I attached screen recording. The most important is that after duplication of
text the cursor ends up below visible area.

Here's the most important info claude extracted:
Here's the proof I pulled from the signal frame (the CPU state at the instant
of the fault, before KCrash re-raised):

trapno = 14 (page fault),  err = 4  → user-mode READ of a non-present page
CR2 = 0x0000000000000000        ← the address that was dereferenced = NULL
RDI = 0x0000000000000000        ← arg1 'this' (the QTextLine) = NULL

RDI is the first argument of QTextLine::xToCursor — i.e. the QTextLine/its
engine pointer — and it is null. The faulting read was at address 0. So
xToCursor was invoked on a non-existent (null) QTextLine, and it crashed
dereferencing null.

Thread 1 (Thread 0x79cd058fbdc0 (LWP 95578)):
 #0  __pthread_kill_implementation (threadid=<optimized out>, signo=11,
no_tid=0) at ./nptl/pthread_kill.c:44
         tid = <optimized out>
         ret = 0
         pd = <optimized out>
         old_mask = {__val = {0}}
         ret = <optimized out>
 #1  __pthread_kill_internal (threadid=<optimized out>, signo=11) at
./nptl/pthread_kill.c:89
 #2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at
./nptl/pthread_kill.c:100
 #3  0x000079cd0d645b7e in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
         ret = <optimized out>
 #4  0x000079cd0f7dfd8d in KCrash::defaultCrashHandler(int) () at
/usr/lib/x86_64-linux-gnu/libKF6Crash.so.6
 #5  0x000079cd0d645cb0 in <signal handler called> () at
/usr/lib/x86_64-linux-gnu/libc.so.6
 #6  0x000079cd0e8dfc82 in QTextLine::xToCursor(double,
QTextLine::CursorPosition) const () at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
 #7  0x000079cd0d3973e8 in ??? () at
/usr/lib/x86_64-linux-gnu/libKF6TextEditor.so.6
 #8  0x000079cd0d4296a4 in ??? () at
/usr/lib/x86_64-linux-gnu/libKF6TextEditor.so.6
 #9  0x000079cd0dfea525 in ??? () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
 #10 0x000079cd0e98f2ea in QAction::triggered(bool) () at
/usr/lib/x86_64-linux-gnu/libQt6Gui.so.6

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

Reply via email to