Bug 378269 - Crash on files coping into BestCrypt container
Summary: Crash on files coping into BestCrypt container
Status: RESOLVED NOT A BUG
Alias: None
Product: kde
Classification: I don't know
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2017-03-30 10:25 UTC by Alexander Sashnov
Modified: 2017-04-06 12:33 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
AESNI in AT&T assembler for IA-64 (2.41 KB, text/plain)
2017-03-30 11:36 UTC, Alexander Sashnov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Sashnov 2017-03-30 10:25:29 UTC
Application: dolphin (16.04.3)

Qt Version: 5.6.1
Frameworks Version: 5.26.0
Operating System: Linux 4.8.0-45-generic x86_64
Distribution: Ubuntu 16.10

-- Information about the crash:
- What I was doing when the application crashed:

I have installed  BestCrypt programm from Jetico (TrueCrypt analog):
$ wget -O - https://www.jetico.com/one-click-installer.sh | sh -

Then created 2 Gb container (vfat, ext3 - reproduced with both):

$ mount
/dev/bcrypta on /home/jetico/BestCrypt/Container5 type vfat (rw,nodev,relatime,sync,uid=1000,gid=1000,fmask=7077,dmask=7077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro,user)
/dev/bcryptb on /home/jetico/BestCrypt/Container6 type ext3 (rw,nodev,relatime,sync,data=ordered,user)

Then copy from somewhere whole bunch of 5 mb files  1 Gb in total size into /home/jetico/BestCrypt/Container5 

Dolphin crashes stably.

I is not reproduced if vfat or ext3 filesystem is mount over /dev/loop<N>

Reproduced on fresh Kubuntu 16.10 x64 installation with latest updates.

The crash can be reproduced every time.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7ffa65ccbd40 (LWP 18524))]

Thread 4 (Thread 0x7ffa53fff700 (LWP 18528)):
#0  0x00007ffa78cea0bd in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffa6f36c9d6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffa6f36caec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffa739cb4ab in QEventDispatcherGlib::processEvents (this=0x7ffa4c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419
#4  0x00007ffa739730fa in QEventLoop::exec (this=this@entry=0x7ffa53ffed00, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007ffa73798d43 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:500
#6  0x00007ffa7379dc68 in QThreadPrivate::start (arg=0x562c504b0ad0) at thread/qthread_unix.cpp:341
#7  0x00007ffa6fefc6ca in start_thread (arg=0x7ffa53fff700) at pthread_create.c:333
#8  0x00007ffa78cf60af in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 3 (Thread 0x7ffa61ae5700 (LWP 18526)):
#0  0x00007ffa6f3b2029 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007ffa6f36bee5 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffa6f36c8fb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffa6f36caec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffa739cb4ab in QEventDispatcherGlib::processEvents (this=0x7ffa540008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419
#5  0x00007ffa739730fa in QEventLoop::exec (this=this@entry=0x7ffa61ae4cd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007ffa73798d43 in QThread::exec (this=this@entry=0x7ffa7944ad60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:500
#7  0x00007ffa793d6575 in QDBusConnectionManager::run (this=0x7ffa7944ad60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:171
#8  0x00007ffa7379dc68 in QThreadPrivate::start (arg=0x7ffa7944ad60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:341
#9  0x00007ffa6fefc6ca in start_thread (arg=0x7ffa61ae5700) at pthread_create.c:333
#10 0x00007ffa78cf60af in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 2 (Thread 0x7ffa6327f700 (LWP 18525)):
#0  0x00007ffa78cea0bd in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffa6d28bc62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007ffa6d28d8d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007ffa657d6299 in QXcbEventReader::run (this=0x562c4ffda460) at qxcbconnection.cpp:1325
#4  0x00007ffa7379dc68 in QThreadPrivate::start (arg=0x562c4ffda460) at thread/qthread_unix.cpp:341
#5  0x00007ffa6fefc6ca in start_thread (arg=0x7ffa6327f700) at pthread_create.c:333
#6  0x00007ffa78cf60af in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 1 (Thread 0x7ffa65ccbd40 (LWP 18524)):
[KCrash Handler]
#6  0x00007ffa73989efc in QMetaType::construct (copy=0x7ffd21f42dbc, where=0x562c50993b90, this=0x7ffd21f42c30) at ../../include/QtCore/../../src/corelib/kernel/qmetatype.h:2155
#7  QMetaType::create (type=<optimized out>, copy=0x7ffd21f42dbc) at kernel/qmetatype.cpp:1702
#8  0x00007ffa739a25ed in queued_activate (locker=<synthetic pointer>..., argv=0x7ffd21f42dd0, c=<optimized out>, signal=5, sender=0x7ffa540030f0) at kernel/qobject.cpp:3568
#9  QMetaObject::activate (sender=sender@entry=0x7ffa540030f0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffd21f42dd0) at kernel/qobject.cpp:3682
#10 0x00007ffa739a30f7 in QMetaObject::activate (sender=sender@entry=0x7ffa540030f0, m=m@entry=0x7ffa79449a60 <QDBusConnectionPrivate::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffd21f42dd0) at kernel/qobject.cpp:3595
#11 0x00007ffa79430f7f in QDBusConnectionPrivate::messageNeedsSending (this=this@entry=0x7ffa540030f0, _t1=<optimized out>, _t1@entry=0x0, _t2=<optimized out>, _t3=<optimized out>, _t3@entry=-1) at .moc/moc_qdbusconnection_p.cpp:334
#12 0x00007ffa793de6c3 in QDBusConnectionPrivate::send (this=0x7ffa540030f0, message=...) at qdbusintegrator.cpp:1947
#13 0x00007ffa793dfa71 in QDBusConnectionPrivate::send (this=<optimized out>, message=...) at qdbusintegrator.cpp:1949
#14 0x00007ffa793d70b1 in QDBusConnection::call (this=this@entry=0x562c507f9290, message=..., mode=mode@entry=QDBus::NoBlock, timeout=<optimized out>) at qdbusconnection.cpp:675
#15 0x00007ffa793f4852 in QDBusAbstractInterface::callWithArgumentList (this=<optimized out>, mode=QDBus::NoBlock, method=..., args=...) at qdbusabstractinterface.cpp:488
#16 0x00007ffa772a08dc in KUiServerJobTracker::processedAmount(KJob*, KJob::Unit, unsigned long long) () from /usr/lib/x86_64-linux-gnu/libKF5JobWidgets.so.5
#17 0x00007ffa7729e795 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5JobWidgets.so.5
#18 0x00007ffa739a2b49 in QMetaObject::activate (sender=0x562c50a18140, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3730
#19 0x00007ffa74ced31f in KJob::processedAmount(KJob*, KJob::Unit, unsigned long long) () from /usr/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5
#20 0x00007ffa74cf0c69 in KJob::setProcessedAmount(KJob::Unit, unsigned long long) () from /usr/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5
#21 0x00007ffa76d47396 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#22 0x00007ffa739a2b49 in QMetaObject::activate (sender=0x562c509269e0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3730
#23 0x00007ffa74ced3fb in KJob::processedSize(KJob*, unsigned long long) () from /usr/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5
#24 0x00007ffa74cf0c8e in KJob::setProcessedAmount(KJob::Unit, unsigned long long) () from /usr/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5
#25 0x00007ffa76d980b6 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#26 0x00007ffa739a2b49 in QMetaObject::activate (sender=0x562c50836a80, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3730
#27 0x00007ffa74ced3fb in KJob::processedSize(KJob*, unsigned long long) () from /usr/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5
#28 0x00007ffa74cf0c8e in KJob::setProcessedAmount(KJob::Unit, unsigned long long) () from /usr/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5
#29 0x00007ffa739a2b49 in QMetaObject::activate (sender=0x562c504b2410, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3730
#30 0x00007ffa76d7a0c2 in KIO::SlaveInterface::processedSize(unsigned long long) () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#31 0x00007ffa76d7b9a3 in KIO::SlaveInterface::dispatch(int, QByteArray const&) () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#32 0x00007ffa76d7a397 in KIO::SlaveInterface::dispatch() () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#33 0x00007ffa76d7f4a1 in KIO::Slave::gotInput() () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#34 0x00007ffa76e0a455 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#35 0x00007ffa739a2b49 in QMetaObject::activate (sender=0x562c50779b10, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3730
#36 0x00007ffa76d1ab4f in ?? () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#37 0x00007ffa739a3699 in QObject::event (this=0x562c50779b10, e=<optimized out>) at kernel/qobject.cpp:1256
#38 0x00007ffa742b08ac in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x562c50779b10, e=0x562c508213b0) at kernel/qapplication.cpp:3804
#39 0x00007ffa742b5d4f in QApplication::notify (this=0x7ffd21f44260, receiver=0x562c50779b10, e=0x562c508213b0) at kernel/qapplication.cpp:3561
#40 0x00007ffa739753b0 in QCoreApplication::notifyInternal2 (receiver=0x562c50779b10, event=event@entry=0x562c508213b0) at kernel/qcoreapplication.cpp:1015
#41 0x00007ffa7397733c in QCoreApplication::sendEvent (event=0x562c508213b0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:225
#42 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x562c4ffbf8a0) at kernel/qcoreapplication.cpp:1650
#43 0x00007ffa739777f8 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1508
#44 0x00007ffa739cb083 in postEventSourceDispatch (s=0x562c4fff8410) at kernel/qeventdispatcher_glib.cpp:270
#45 0x00007ffa6f36c7d7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007ffa6f36ca40 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007ffa6f36caec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007ffa739cb48f in QEventDispatcherGlib::processEvents (this=0x562c4ffff700, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#49 0x00007ffa739730fa in QEventLoop::exec (this=this@entry=0x7ffd21f44120, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#50 0x00007ffa7397b90c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1285
#51 0x00007ffa790147e9 in kdemain () from /usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so
#52 0x00007ffa78c0e3f1 in __libc_start_main (main=0x562c4f273770, argc=2, argv=0x7ffd21f443e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd21f443d8) at ../csu/libc-start.c:291
#53 0x0000562c4f2737aa in _start ()

Reported using DrKonqi
Comment 1 Alexander Sashnov 2017-03-30 11:12:12 UTC
I'm so sorry. This report is invalid and may be closed/forgotten.

I'm a developer of BestCrypt for Linux and this crash can be reproduced only on development version 3.1.0 where hardware AES (AESNI) was introduced.

This crash is not reproduced on current 3.0.4 version of BestCrypt for Linux because it doesn't have AESNI. I will find a real reason.

PS. Ubuntu 16.04 with Unity desktop doesn't crash.
Crash is also reproduces on Fedora 25 with KDE.
PPS. Sometimes KWin and other programm crashes also, not only Dolphin.
Comment 2 Alexander Sashnov 2017-03-30 11:36:41 UTC
Created attachment 104815 [details]
AESNI in AT&T assembler for IA-64
Comment 3 Alexander Sashnov 2017-03-30 11:38:55 UTC
I created an attachment with AT&T IA-64 assembler code to illustrate what causes this hell. It is not fixed yet now so any help is appreciated.
Comment 4 Alexander Sashnov 2017-03-31 03:59:50 UTC
I fixed my code by adding calls  kernel_fpu_begin() and kernel_fpu_end() in my kernel module so KDE works perfectly now.
Comment 5 Christoph Feck 2017-04-06 12:33:04 UTC
Okey, closing.