Bug 382182 - kdialog crached when called from google-chrome in qtcurve
Summary: kdialog crached when called from google-chrome in qtcurve
Status: RESOLVED DUPLICATE of bug 363753
Alias: None
Product: QtCurve
Classification: Frameworks and Libraries
Component: qt5 (show other bugs)
Version: git
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Yichao Yu
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-10 05:40 UTC by Egor Y. Egorov
Modified: 2017-07-10 08:00 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Egor Y. Egorov 2017-07-10 05:40:49 UTC
bt:

pplication: kdialog (kdialog), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f7a0bc4f880 (LWP 10918))]

Thread 2 (Thread 0x7f7a0b5c3700 (LWP 10923)):
#0  0x00000035d16de72d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00000035d620c8f2 in ?? () from /usr/lib64/libxcb.so.1
#2  0x00000035d620e6f7 in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
#3  0x00007f7a0b80fe87 in QXcbEventReader::run (this=0x20b96d0) at qxcbconnection.cpp:1343
#4  0x0000003a5a8bda30 in QThreadPrivate::start (arg=0x20b96d0) at thread/qthread_unix.cpp:368
#5  0x00000035d1a073b4 in start_thread (arg=0x7f7a0b5c3700) at pthread_create.c:333
#6  0x00000035d16e776d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f7a0bc4f880 (LWP 10918)):
[KCrash Handler]
#6  0x0000003a5a8b1dc9 in std::__atomic_base<QMutexData*>::compare_exchange_strong (__m2=std::memory_order_acquire, __m1=std::memory_order_acquire, __p2=0x1, __p1=@0x7ffdc847e540: 0x0, this=0x20) at /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/atomic_base.h:752
#7  std::atomic<QMutexData*>::compare_exchange_strong (this=0x20, __p1=@0x7ffdc847e540: 0x0, __p2=0x1, __m=std::memory_order_acquire) at /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/atomic:475
#8  0x0000003a5a8b1bcc in QAtomicOps<QMutexData*>::testAndSetAcquire<QMutexData*> (_q_value=..., expectedValue=0x0, newValue=0x1, currentValue=0x7ffdc847e5d0) at ../../include/QtCore/../../src/corelib/arch/qatomic_cxx11.h:290
#9  0x0000003a5a8b1aa2 in QBasicAtomicPointer<QMutexData>::testAndSetAcquire (this=0x20, expectedValue=0x0, newValue=0x1, currentValue=@0x7ffdc847e5d0: 0x5) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:259
#10 0x0000003a5a8b178b in QBasicMutex::fastTryLock (this=0x20, current=@0x7ffdc847e5d0: 0x5) at thread/qmutex.h:89
#11 0x0000003a5a8b1142 in QMutex::lock (this=0x20) at thread/qmutex.cpp:225
#12 0x0000003a5ae15aaf in ?? () from /usr/lib64/libQt5DBus.so.5
#13 0x0000003a5ae16b5a in QDBusConnection::sessionBus() () from /usr/lib64/libQt5DBus.so.5
#14 0x00007f7a0a6ad806 in QtCurve::Style::disconnectDBus (this=0x2114920) at /var/tmp/portage/x11-themes/qtcurve-9999-r1/work/qtcurve-9999/qt5/style/qtcurve.cpp:705
#15 0x00007f7a0a6adddf in QtCurve::Style::~Style (this=0x2114920, __in_chrg=<optimized out>) at /var/tmp/portage/x11-themes/qtcurve-9999-r1/work/qtcurve-9999/qt5/style/qtcurve.cpp:737
#16 0x00007f7a0a6adfb6 in QtCurve::Style::~Style (this=0x2114920, __in_chrg=<optimized out>) at /var/tmp/portage/x11-themes/qtcurve-9999-r1/work/qtcurve-9999/qt5/style/qtcurve.cpp:745
#17 0x00007f7a0a70fa06 in QtCurve::StylePlugin::~StylePlugin (this=0x20f3940, __in_chrg=<optimized out>) at /var/tmp/portage/x11-themes/qtcurve-9999-r1/work/qtcurve-9999/qt5/style/qtcurve_plugin.cpp:158
#18 0x00007f7a0a70fa8e in QtCurve::StylePlugin::~StylePlugin (this=0x20f3940, __in_chrg=<optimized out>) at /var/tmp/portage/x11-themes/qtcurve-9999-r1/work/qtcurve-9999/qt5/style/qtcurve_plugin.cpp:165
#19 0x0000003a5aadc4f2 in QLibraryPrivate::unload (this=0x20fa670, flag=QLibraryPrivate::UnloadSys) at plugin/qlibrary.cpp:562
#20 0x0000003a5aad454b in QFactoryLoaderPrivate::~QFactoryLoaderPrivate (this=0x20fa930, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:86
#21 0x0000003a5aad4604 in QFactoryLoaderPrivate::~QFactoryLoaderPrivate (this=0x20fa930, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:89
#22 0x0000003a5ab2e35a in QScopedPointerDeleter<QObjectData>::cleanup (pointer=0x20fa930) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:60
#23 0x0000003a5ab2cc2d in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer (this=0x3a5ce19d08 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder+8>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107
#24 0x0000003a5ab22d8d in QObject::~QObject (this=0x3a5ce19d00 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder>, __in_chrg=<optimized out>) at kernel/qobject.cpp:900
#25 0x0000003a5aad5519 in QFactoryLoader::~QFactoryLoader (this=0x3a5ce19d00 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder>, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:207
#26 0x0000003a5c804370 in (anonymous namespace)::Q_QGS_loader::Holder::~Holder (this=0x3a5ce19d00 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder>, __in_chrg=<optimized out>) at styles/qstylefactory.cpp:72
#27 0x00000035d1635aa8 in __run_exit_handlers (status=0, listp=0x35d19935d8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82
#28 0x00000035d1635af5 in __GI_exit (status=<optimized out>) at exit.c:104
#29 0x0000003a5a8cea54 in QCommandLineParser::showVersion (this=0x7ffdc847ecb0) at tools/qcommandlineparser.cpp:1004
#30 0x0000003a5a8cd214 in QCommandLineParser::process (this=0x7ffdc847ecb0, arguments=...) at tools/qcommandlineparser.cpp:596
#31 0x000000000040bcc4 in ?? ()
#32 0x00000035d1620670 in __libc_start_main (main=0x409590, argc=2, argv=0x7ffdc847efa8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffdc847ef98) at ../csu/libc-start.c:289
#33 0x0000000000410029 in _start ()


Repruduced:
google-chrome-unstable --user-data-dir=/tmp/1212121212
Press Ctrl+O

git bisect log

git bisect start                                                                                                                                                                                                     
# bad: [79366c4fd05a8faded71252fd528bbd386beab80] https://bugs.kde.org/show_bug.cgi?id=374224#c39                                                                                                                    
git bisect bad 79366c4fd05a8faded71252fd528bbd386beab80                                                                                                                                                              
# good: [c1543d2f27e5ac6f6424537a53e3764233967e68] [qt5] try the second version of prePolishing in Qt5                                                                                                               
git bisect good c1543d2f27e5ac6f6424537a53e3764233967e68                                                                                                                                                             
# good: [e3932f56a4a2a96d897e582a66052b34e5b1b4fa] [qt4] add BaseStyle                                                                                                                                               
git bisect good e3932f56a4a2a96d897e582a66052b34e5b1b4fa                                                                                                                                                             
# good: [42964cbad3d3737c2a191169101f398656775ce9] [test] fix build                                                                                                                                                  
git bisect good 42964cbad3d3737c2a191169101f398656775ce9                                                                                                                                                             
# good: [330bfa56785d329aedfbb20a61e58705f725ded9] Merge remote-tracking branch 'refs/remotes/origin/master'                                                                                                         
git bisect good 330bfa56785d329aedfbb20a61e58705f725ded9                                                                                                                                                             
# bad: [ab5880d643b66cfbd2200f6989a93aa44265bf80] Implements some suggestions from clazy code analysis.                                                                                                              
git bisect bad ab5880d643b66cfbd2200f6989a93aa44265bf80                                                                                                                                                              
# bad: [d9f77e88675509f97858b6bbb2b47360cf8b60eb] Qt4 doesn't have QStringLiteral ...                                                                                                                                
git bisect bad d9f77e88675509f97858b6bbb2b47360cf8b60eb                                                                                                                                                              
# bad: [35f231376fae0523219f11ecd750a2f12622d54b] When building with KF5 support, install QtCurveui.rc into share/kxmlgui5/QtCurve This prevents warnings when using the QtCurve configuration dialog: 'cannot find .rc file "QtCurveui.rc" for component "QtCurve"'                                                                                                                                                                      
git bisect bad 35f231376fae0523219f11ecd750a2f12622d54b                                                                                                                                                              
# good: [34a1e3277aa21c59029576bffe2576a9ddd4b1a7] Fix compilation on gcc5                                                                                                                                           
git bisect good 34a1e3277aa21c59029576bffe2576a9ddd4b1a7
# good: [ef70ffffb0bdfe8f011e0f86bd475c54c55426f5] workaround QStyle::~QStyle not called by at least klipper
git bisect good ef70ffffb0bdfe8f011e0f86bd475c54c55426f5
# bad: [3d8622c419a32033e36e940e8cb09b591ad93e29] [qt5] Remove debugging code..... Thanks to wengxt for spotting this ...
git bisect bad 3d8622c419a32033e36e940e8cb09b591ad93e29
# first bad commit: [3d8622c419a32033e36e940e8cb09b591ad93e29] [qt5] Remove debugging code..... Thanks to wengxt for spotting this ...
Comment 1 Egor Y. Egorov 2017-07-10 05:45:32 UTC
This problem is subject to master and 1.9 branches
Comment 2 Yichao Yu 2017-07-10 05:48:01 UTC
As mentioned in https://bugs.kde.org/show_bug.cgi?id=363753 this is a upstream bug.

*** This bug has been marked as a duplicate of bug 363753 ***
Comment 3 RJVB 2017-07-10 08:00:37 UTC
The problem is that this is a confirmed and *longstanding* issue in Qt. There has been movement on it recently and IIRC a patch was pushed through and in. So someone ought to test with Qt 5.9.1 .

Once we know what Qt version has the fix we really ought to commit the patch with our own fix modified to apply only to the unfixed versions.