Bug 363294

Summary: KDE Partition Manager crashes on exit if QFileDialog is used
Product: [Applications] partitionmanager Reporter: Andrius Štikonas <andrius>
Component: generalAssignee: Andrius Štikonas <andrius>
Status: RESOLVED FIXED    
Severity: crash CC: rdieter
Priority: NOR    
Version: 2.2   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Andrius Štikonas 2016-05-19 20:00:27 UTC
KDE Partition Manager crashes on exit if QFileDialog with most themes (e.g. Breeze or Oxygen but not with GTK+ theme).

Reproducible: Always

Steps to Reproduce:
1. Open KDE Partition Manager
2. Menu->Device->Export Partition Table
3. Click cancel
4. Quit KDE Partition Manager

Actual Results:  
Application: partitionmanager (partitionmanager), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[KCrash Handler]
#6  QGenericAtomicOps<QBasicAtomicOps<4> >::load<int> (_q_value=@0x7f8bb58b2720: <error reading variable>) at ../../include/QtCore/../../src/corelib/thread/qgenericatomic.h:90
#7  QBasicAtomicInteger<int>::load (this=0x7f8bb58b2720) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:118
#8  QtPrivate::RefCount::deref (this=0x7f8bb58b2720) at ../../include/QtCore/../../src/corelib/tools/qrefcount.h:60
#9  QString::~QString (this=0x2acea00, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qstring.h:1053
#10 QRegExpEngineKey::~QRegExpEngineKey (this=<optimized out>, __in_chrg=<optimized out>) at tools/qregexp.cpp:866
#11 QHashNode<QRegExpEngineKey, QCache<QRegExpEngineKey, QRegExpEngine>::Node>::~QHashNode (this=<optimized out>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qhash.h:237
#12 QHash<QRegExpEngineKey, QCache<QRegExpEngineKey, QRegExpEngine>::Node>::deleteNode2 (node=0x2ace9f0) at ../../include/QtCore/../../src/corelib/tools/qhash.h:585
#13 0x00007f8bcd8aad69 in QHashData::free_helper (this=0x2562fd0, node_delete=0x7f8bcd8cc890 <QHash<QRegExpEngineKey, QCache<QRegExpEngineKey, QRegExpEngine>::Node>::deleteNode2(QHashData::Node*)>) at tools/qhash.cpp:491
#14 0x00007f8bcd8c44d4 in QHash<QRegExpEngineKey, QCache<QRegExpEngineKey, QRegExpEngine>::Node>::freeData (this=<optimized out>, x=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qhash.h:621
#15 QHash<QRegExpEngineKey, QCache<QRegExpEngineKey, QRegExpEngine>::Node>::~QHash (this=<optimized out>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qhash.h:342
#16 QHash<QRegExpEngineKey, QCache<QRegExpEngineKey, QRegExpEngine>::Node>::clear (this=0x7f8bcdc2cdb0 <(anonymous namespace)::Q_QGS_globalEngineCache::innerFunction()::holder+16>) at ../../include/QtCore/../../src/corelib/tools/qhash.h:627
#17 QCache<QRegExpEngineKey, QRegExpEngine>::clear (this=0x7f8bcdc2cda0 <(anonymous namespace)::Q_QGS_globalEngineCache::innerFunction()::holder>) at tools/qcache.h:119
#18 QCache<QRegExpEngineKey, QRegExpEngine>::~QCache (this=0x7f8bcdc2cda0 <(anonymous namespace)::Q_QGS_globalEngineCache::innerFunction()::holder>, __in_chrg=<optimized out>) at tools/qcache.h:87
#19 (anonymous namespace)::Q_QGS_globalEngineCache::Holder::~Holder (this=0x7f8bcdc2cda0 <(anonymous namespace)::Q_QGS_globalEngineCache::innerFunction()::holder>, __in_chrg=<optimized out>) at tools/qregexp.cpp:3820
#20 0x00007f8bccb48cd8 in __run_exit_handlers (status=0, listp=0x7f8bccea9618 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82
#21 0x00007f8bccb48d25 in __GI_exit (status=<optimized out>) at exit.c:104
#22 0x00007f8bccb335b7 in __libc_start_main (main=0x41bff1 <main(int, char**)>, argc=2, argv=0x7ffe5cd73b28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe5cd73b18) at libc-start.c:323
#23 0x000000000041bb79 in _start ()
Comment 1 Andrius Štikonas 2016-05-20 17:14:08 UTC
Bug 356700 has very similar backtrace
Comment 2 Andrius Štikonas 2016-06-01 14:47:06 UTC
The same thing happens in kjumpingcube if linking to KDELibs4Support is removed.
Comment 3 Andrius Štikonas 2016-12-16 00:07:05 UTC
Seems to be fixed in Qt 5.7.1