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

Maxim Yegorushkin <maxim.yegorush...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |maxim.yegorush...@gmail.com

--- Comment #10 from Maxim Yegorushkin <maxim.yegorush...@gmail.com> ---
I do encounter this same crash with diff'ing 2 large files csv files of sizes
1,158,506,947 and 1,158,448,716 bytes. The machine has 32GB RAM most of which
is available.

It looks like it reads files into memory using QString::append and that crashes
on the resize. A better strategy may be to map the input files into memory
using mmap.

Here follows automatically generated crash report:

Application: kdiff3 (0.9.98 (64 bit))
KDE Platform Version: 4.14.17
Qt Version: 4.8.7
Operating System: Linux 4.4.6-201.fc22.x86_64 x86_64
Distribution: "Fedora release 22 (Twenty Two)"

-- Information about the crash:

The crash can be reproduced every time.

-- Backtrace:
Application: kdiff3 (kdiff3), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f4af0cd08c0 (LWP 18243))]

Thread 2 (Thread 0x7f4ad2b2a700 (LWP 18246)):
#0  0x00007f4aec10e57d in poll () at /lib64/libc.so.6
#1  0x00007f4ae7fefdbc in g_main_context_iterate.isra () at
/lib64/libglib-2.0.so.0
#2  0x00007f4ae7fefecc in g_main_context_iteration () at
/lib64/libglib-2.0.so.0
#3  0x00007f4aed5d3e7e in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /lib64/libQtCore.so.4
#4  0x00007f4aed5a2131 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at
/lib64/libQtCore.so.4
#5  0x00007f4aed5a24a5 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/lib64/libQtCore.so.4
#6  0x00007f4aed491a99 in QThread::exec() () at /lib64/libQtCore.so.4
#7  0x00007f4aed582203 in QInotifyFileSystemWatcherEngine::run() () at
/lib64/libQtCore.so.4
#8  0x00007f4aed49438c in QThreadPrivate::start(void*) () at
/lib64/libQtCore.so.4
#9  0x00007f4aed1f2555 in start_thread () at /lib64/libpthread.so.0
#10 0x00007f4aec119ded in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f4af0cd08c0 (LWP 18243)):
[KCrash Handler]
#6  0x00007f4aec04b9c8 in raise () at /lib64/libc.so.6
#7  0x00007f4aec04d65a in abort () at /lib64/libc.so.6
#8  0x00007f4aec986b4d in __gnu_cxx::__verbose_terminate_handler() () at
/lib64/libstdc++.so.6
#9  0x00007f4aec9849a6 in  () at /lib64/libstdc++.so.6
#10 0x00007f4aec9849f1 in  () at /lib64/libstdc++.so.6
#11 0x00007f4aec984c09 in  () at /lib64/libstdc++.so.6
#12 0x00007f4aed489402 in  () at /lib64/libQtCore.so.4
#13 0x00007f4aed4e423a in QString::realloc(int) () at /lib64/libQtCore.so.4
#14 0x00007f4aed4e7a13 in QString::append(QString const&) () at
/lib64/libQtCore.so.4
#15 0x00007f4aed539462 in QTextStreamPrivate::fillReadBuffer(long long) () at
/lib64/libQtCore.so.4
#16 0x00007f4aed539b1f in QTextStreamPrivate::read(int) () at
/lib64/libQtCore.so.4
#17 0x00007f4aed53aad0 in QTextStream::readAll() () at /lib64/libQtCore.so.4
#18 0x0000000000462401 in SourceData::FileData::preprocess(bool, QTextCodec*)
()
#19 0x0000000000462ad1 in SourceData::readAndPreprocess(QTextCodec*, bool) ()
#20 0x000000000044e12f in KDiff3App::mainInit(TotalDiffStatus*, bool, bool) ()
#21 0x0000000000450db3 in KDiff3App::slotFileOpen() ()
#22 0x0000000000429f1d in KDiff3App::completeInit(QString const&, QString
const&, QString const&) ()
#23 0x000000000042682d in KDiff3Shell::KDiff3Shell(bool) ()
#24 0x000000000042221b in main ()

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

Reply via email to