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

            Bug ID: 427121
           Summary: kdiff3 crashes with segfault on enabling word wrap on
                    big files
           Product: kdiff3
           Version: 1.8.4
          Platform: Fedora RPMs
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: application
          Assignee: reeves...@gmail.com
          Reporter: travn...@gmail.com
  Target Milestone: ---

The crash can be reproduced every time.
How to reproduce:
- have big (~11 MBytes) saved Facebook feed html file (also has very long
lines)
- make copy of the previous file with small change
- call "kdiff3 a.html b.html"
- toggle "Diffview" -> "Word Wrap Diff Windows"
- observe segfault


Application: kdiff3 (1.8.4 (64-bit))
Qt Version: 5.14.2
Frameworks Version: 5.70.0
Operating System: Linux 5.8.11-200.fc32.x86_64 x86_64
Windowing system: X11
Distribution: "Fedora release 32 (Thirty Two)"


-- Backtrace:
Application: KDiff3 (kdiff3), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fa62ad34900 (LWP 12484))]

Thread 10 (Thread 0x7fa5ec245700 (LWP 12496)):
#0  0x00007fa62dda11b8 in pthread_cond_timedwait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1  0x00007fa62eadbd0a in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from
/lib64/libQt5Core.so.5
#2  0x00007fa62eadbe0b in QWaitCondition::wait(QMutex*, unsigned long) () from
/lib64/libQt5Core.so.5
#3  0x00007fa62ead9f45 in QThreadPoolThread::run() () from
/lib64/libQt5Core.so.5
#4  0x00007fa62ead6690 in QThreadPrivate::start(void*) () from
/lib64/libQt5Core.so.5
#5  0x00007fa62dd9a432 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fa62e611913 in clone () from /lib64/libc.so.6

Thread 9 (Thread 0x7fa5f0071700 (LWP 12495)):
#0  0x00007fa62dda11b8 in pthread_cond_timedwait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1  0x00007fa62eadbd0a in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from
/lib64/libQt5Core.so.5
#2  0x00007fa62eadbe0b in QWaitCondition::wait(QMutex*, unsigned long) () from
/lib64/libQt5Core.so.5
#3  0x00007fa62ead9f45 in QThreadPoolThread::run() () from
/lib64/libQt5Core.so.5
#4  0x00007fa62ead6690 in QThreadPrivate::start(void*) () from
/lib64/libQt5Core.so.5
#5  0x00007fa62dd9a432 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fa62e611913 in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7fa609a7b700 (LWP 12491)):
#0  0x00007fa62dda0e92 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1  0x00007fa61567389b in util_queue_thread_func () from
/usr/lib64/dri/r600_dri.so
#2  0x00007fa61567336b in impl_thrd_routine () from /usr/lib64/dri/r600_dri.so
#3  0x00007fa62dd9a432 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa62e611913 in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7fa60a27c700 (LWP 12490)):
#0  0x00007fa62dda0e92 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1  0x00007fa61567389b in util_queue_thread_func () from
/usr/lib64/dri/r600_dri.so
#2  0x00007fa61567336b in impl_thrd_routine () from /usr/lib64/dri/r600_dri.so
#3  0x00007fa62dd9a432 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa62e611913 in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7fa60aa7d700 (LWP 12489)):
#0  0x00007fa62dda0e92 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1  0x00007fa61567389b in util_queue_thread_func () from
/usr/lib64/dri/r600_dri.so
#2  0x00007fa61567336b in impl_thrd_routine () from /usr/lib64/dri/r600_dri.so
#3  0x00007fa62dd9a432 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa62e611913 in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7fa60b27e700 (LWP 12488)):
#0  0x00007fa62dda0e92 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1  0x00007fa61567389b in util_queue_thread_func () from
/usr/lib64/dri/r600_dri.so
#2  0x00007fa61567336b in impl_thrd_routine () from /usr/lib64/dri/r600_dri.so
#3  0x00007fa62dd9a432 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa62e611913 in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7fa6150dd700 (LWP 12487)):
#0  0x00007fa62dda0e92 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1  0x00007fa61567389b in util_queue_thread_func () from
/usr/lib64/dri/r600_dri.so
#2  0x00007fa61567336b in impl_thrd_routine () from /usr/lib64/dri/r600_dri.so
#3  0x00007fa62dd9a432 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa62e611913 in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fa617fff700 (LWP 12486)):
#0  0x00007fa62e606aaf in poll () from /lib64/libc.so.6
#1  0x00007fa62d2d7aae in g_main_context_iterate.constprop () from
/lib64/libglib-2.0.so.0
#2  0x00007fa62d2d7be3 in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#3  0x00007fa62ecb6b8b in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /lib64/libQt5Core.so.5
#4  0x00007fa62ec6991b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/lib64/libQt5Core.so.5
#5  0x00007fa62ead5427 in QThread::exec() () from /lib64/libQt5Core.so.5
#6  0x00007fa62e08c51b in QDBusConnectionManager::run() () from
/lib64/libQt5DBus.so.5
#7  0x00007fa62ead6690 in QThreadPrivate::start(void*) () from
/lib64/libQt5Core.so.5
#8  0x00007fa62dd9a432 in start_thread () from /lib64/libpthread.so.0
#9  0x00007fa62e611913 in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fa61da63700 (LWP 12485)):
#0  0x00007fa62e606aaf in poll () from /lib64/libc.so.6
#1  0x00007fa62ce2a38a in _xcb_conn_wait () from /lib64/libxcb.so.1
#2  0x00007fa62ce2c71a in xcb_wait_for_event () from /lib64/libxcb.so.1
#3  0x00007fa61dc31c78 in QXcbEventQueue::run() () from
/lib64/libQt5XcbQpa.so.5
#4  0x00007fa62ead6690 in QThreadPrivate::start(void*) () from
/lib64/libQt5Core.so.5
#5  0x00007fa62dd9a432 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fa62e611913 in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fa62ad34900 (LWP 12484)):
[KCrash Handler]
#4  0x00005624cd5523c9 in DiffTextWindow::convertDiff3LineIdxToLine(int) ()
#5  0x00005624cd5478f0 in KDiff3App::slotFinishRecalcWordWrap(int) ()
#6  0x00007fa62ec92b5e in QObject::event(QEvent*) () from
/lib64/libQt5Core.so.5
#7  0x00007fa62f6f03b2 in QFrame::event(QEvent*) () from
/lib64/libQt5Widgets.so.5
#8  0x00007fa62f606063 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /lib64/libQt5Widgets.so.5
#9  0x00007fa62ec6afc0 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /lib64/libQt5Core.so.5
#10 0x00007fa62ec6dc47 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /lib64/libQt5Core.so.5
#11 0x00007fa62ecb70a7 in postEventSourceDispatch(_GSource*, int (*)(void*),
void*) () from /lib64/libQt5Core.so.5
#12 0x00007fa62d2d778f in g_main_context_dispatch () from
/lib64/libglib-2.0.so.0
#13 0x00007fa62d2d7b18 in g_main_context_iterate.constprop () from
/lib64/libglib-2.0.so.0
#14 0x00007fa62d2d7be3 in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#15 0x00007fa62ecb6be0 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /lib64/libQt5Core.so.5
#16 0x00005624cd594d1c in ProgressDialog::recalc(bool) ()
#17 0x00007fa62ec92b5e in QObject::event(QEvent*) () from
/lib64/libQt5Core.so.5
#18 0x00007fa62f606063 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /lib64/libQt5Widgets.so.5
#19 0x00007fa62ec6afc0 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /lib64/libQt5Core.so.5
#20 0x00007fa62ec6dc47 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /lib64/libQt5Core.so.5
#21 0x00007fa62ecb70a7 in postEventSourceDispatch(_GSource*, int (*)(void*),
void*) () from /lib64/libQt5Core.so.5
#22 0x00007fa62d2d778f in g_main_context_dispatch () from
/lib64/libglib-2.0.so.0
#23 0x00007fa62d2d7b18 in g_main_context_iterate.constprop () from
/lib64/libglib-2.0.so.0
#24 0x00007fa62d2d7be3 in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#25 0x00007fa62ecb6b73 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /lib64/libQt5Core.so.5
#26 0x00007fa62ec6991b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/lib64/libQt5Core.so.5
#27 0x00007fa62ec715a6 in QCoreApplication::exec() () from
/lib64/libQt5Core.so.5
#28 0x00005624cd517dbd in main ()
[Inferior 1 (process 12484) detached]

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

Reply via email to