Bug 415680

Summary: QtWebEngine crashes with QtCurve on exit
Product: [Frameworks and Libraries] QtCurve Reporter: Holger Rumland <hrumland>
Component: qt5Assignee: Yichao Yu <yyc1992>
Status: RESOLVED WORKSFORME    
Severity: crash CC: grahamperrin, hein
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Holger Rumland 2019-12-29 15:38:36 UTC
Application: falkon (3.1.0)

Qt Version: 5.9.7
Frameworks Version: 5.55.0
Operating System: Linux 4.12.14-lp151.28.36-default x86_64
Distribution: "openSUSE Leap 15.1"

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

Closing the application caused the crash. It only happens with the Theme engine QTCurve.

The crash can be reproduced every time.

-- Backtrace:
Application: Falkon (falkon), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fc5660c7940 (LWP 16126))]

Thread 9 (Thread 0x7fc48ffff700 (LWP 16198)):
#0  0x00007fc55b27cbdb in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fc55d89e962 in base::ConditionVariable::TimedWait(base::TimeDelta const&) () at ../../3rdparty/chromium/base/synchronization/condition_variable_posix.cc:117
#2  0x00007fc55d874749 in base::PosixDynamicThreadPool::WaitForTask() () at ../../3rdparty/chromium/base/threading/worker_pool_posix.cc:176
#3  0x00007fc55d874cab in ThreadMain() () at ../../3rdparty/chromium/base/threading/worker_pool_posix.cc:86
#4  0x00007fc55d86d55b in ThreadFunc() () at ../../3rdparty/chromium/base/threading/platform_thread_posix.cc:71
#5  0x00007fc55b276569 in start_thread () at /lib64/libpthread.so.0
#6  0x00007fc5642ea9ef in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7fc4a2a3a700 (LWP 16190)):
#0  0x00007fc55b27c8ad in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fc55d86fc45 in base::SequencedWorkerPool::Inner::ThreadLoop(base::SequencedWorkerPool::Worker*) () at ../../3rdparty/chromium/base/threading/sequenced_worker_pool.cc:1080
#2  0x00007fc55d870127 in base::SequencedWorkerPool::Worker::Run() () at ../../3rdparty/chromium/base/threading/sequenced_worker_pool.cc:611
#3  0x00007fc55d870ec1 in base::SimpleThread::ThreadMain() () at ../../3rdparty/chromium/base/threading/simple_thread.cc:68
#4  0x00007fc55d86d55b in ThreadFunc() () at ../../3rdparty/chromium/base/threading/platform_thread_posix.cc:71
#5  0x00007fc55b276569 in start_thread () at /lib64/libpthread.so.0
#6  0x00007fc5642ea9ef in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7fc4ab7fe700 (LWP 16184)):
#0  0x00007fc55b27cbdb in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fc55d89e962 in base::ConditionVariable::TimedWait(base::TimeDelta const&) () at ../../3rdparty/chromium/base/synchronization/condition_variable_posix.cc:117
#2  0x00007fc55d874749 in base::PosixDynamicThreadPool::WaitForTask() () at ../../3rdparty/chromium/base/threading/worker_pool_posix.cc:176
#3  0x00007fc55d874cab in ThreadMain() () at ../../3rdparty/chromium/base/threading/worker_pool_posix.cc:86
#4  0x00007fc55d86d55b in ThreadFunc() () at ../../3rdparty/chromium/base/threading/platform_thread_posix.cc:71
#5  0x00007fc55b276569 in start_thread () at /lib64/libpthread.so.0
#6  0x00007fc5642ea9ef in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7fc4abfff700 (LWP 16181)):
#0  0x00007fc55b27c8ad in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fc55d86fc45 in base::SequencedWorkerPool::Inner::ThreadLoop(base::SequencedWorkerPool::Worker*) () at ../../3rdparty/chromium/base/threading/sequenced_worker_pool.cc:1080
#2  0x00007fc55d870127 in base::SequencedWorkerPool::Worker::Run() () at ../../3rdparty/chromium/base/threading/sequenced_worker_pool.cc:611
#3  0x00007fc55d870ec1 in base::SimpleThread::ThreadMain() () at ../../3rdparty/chromium/base/threading/simple_thread.cc:68
#4  0x00007fc55d86d55b in ThreadFunc() () at ../../3rdparty/chromium/base/threading/platform_thread_posix.cc:71
#5  0x00007fc55b276569 in start_thread () at /lib64/libpthread.so.0
#6  0x00007fc5642ea9ef in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7fc4b3fff700 (LWP 16159)):
#0  0x00007fc55b27c8ad in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fc5649ef11b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fc5649e778b in QSemaphore::acquire(int) () at /usr/lib64/libQt5Core.so.5
#3  0x00007fc55bceb654 in  () at /usr/lib64/libQt5Network.so.5
#4  0x00007fc5649edced in  () at /usr/lib64/libQt5Core.so.5
#5  0x00007fc55b276569 in start_thread () at /lib64/libpthread.so.0
#6  0x00007fc5642ea9ef in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7fc517fff700 (LWP 16139)):
#0  0x00007fc5642e2013 in select () at /lib64/libc.so.6
#1  0x00007fc560ac8baf in InotifyReaderCallback() () at ../../3rdparty/chromium/base/files/file_path_watcher_linux.cc:207
#2  0x00007fc55d899c43 in base::internal::RunMixin<base::Callback<void (), (base::internal::CopyMode)0, (base::internal::RepeatMode)0> >::Run() && () at ../../3rdparty/chromium/base/callback.h:47
#3  0x00007fc55d899c43 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) () at ../../3rdparty/chromium/base/debug/task_annotator.cc:52
#4  0x00007fc55d83da20 in base::MessageLoop::RunTask(base::PendingTask*) () at ../../3rdparty/chromium/base/message_loop/message_loop.cc:413
#5  0x00007fc55d83f078 in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) () at ../../3rdparty/chromium/base/message_loop/message_loop.cc:422
#6  0x00007fc55d83f40b in base::MessageLoop::DoWork() () at ../../3rdparty/chromium/base/message_loop/message_loop.cc:515
#7  0x00007fc55d8404b1 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) () at ../../3rdparty/chromium/base/message_loop/message_pump_default.cc:35
#8  0x00007fc55d83cdc8 in base::MessageLoop::RunHandler() () at ../../3rdparty/chromium/base/message_loop/message_loop.cc:378
#9  0x00007fc55d85985b in base::RunLoop::Run() () at ../../3rdparty/chromium/base/run_loop.cc:35
#10 0x00007fc55d871486 in base::Thread::Run(base::RunLoop*) () at ../../3rdparty/chromium/base/threading/thread.cc:245
#11 0x00007fc55d871486 in base::Thread::ThreadMain() () at ../../3rdparty/chromium/base/threading/thread.cc:333
#12 0x00007fc55d86d55b in ThreadFunc() () at ../../3rdparty/chromium/base/threading/platform_thread_posix.cc:71
#13 0x00007fc55b276569 in start_thread () at /lib64/libpthread.so.0
#14 0x00007fc5642ea9ef in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7fc5259fd700 (LWP 16137)):
#0  0x00007fc5642b7e47 in waitpid () at /lib64/libc.so.6
#1  0x00007fc55d85559e in WaitForChildToDie () at ../../3rdparty/chromium/base/process/kill_posix.cc:172
#2  0x00007fc55d85559e in ThreadMain() () at ../../3rdparty/chromium/base/process/kill_posix.cc:165
#3  0x00007fc55d86d55b in ThreadFunc() () at ../../3rdparty/chromium/base/threading/platform_thread_posix.cc:71
#4  0x00007fc55b276569 in start_thread () at /lib64/libpthread.so.0
#5  0x00007fc5642ea9ef in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7fc52d1cc700 (LWP 16130)):
#0  0x00007fc5642e019b in poll () at /lib64/libc.so.6
#1  0x00007fc559b391a9 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007fc559b392bc in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007fc564c2594f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007fc564bca90a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007fc5649e8daa in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007fc562e5e9e5 in  () at /usr/lib64/libQt5DBus.so.5
#7  0x00007fc5649edced in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007fc55b276569 in start_thread () at /lib64/libpthread.so.0
#9  0x00007fc5642ea9ef in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7fc5660c7940 (LWP 16126)):
[KCrash Handler]
#6  0x00007fc55bbf34c0 in vtable for QSurface () at /usr/lib64/libQt5Gui.so.5
#7  0x00007fc56522955b in QWidgetPrivate::deleteTLSysExtra() (this=0x55fdcc180de0) at kernel/qwidget.cpp:1921
#8  0x00007fc56522e3a8 in QWidget::destroy(bool, bool) (this=this@entry=0x55fdcac9f9d0, destroyWindow=destroyWindow@entry=true, destroySubWindows=destroySubWindows@entry=true) at kernel/qwidget.cpp:12457
#9  0x00007fc565235918 in QWidget::~QWidget() (this=0x55fdcac9f9d0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1706
#10 0x00007fc565332569 in QLabel::~QLabel() (this=0x55fdcac9f9d0, __in_chrg=<optimized out>) at widgets/qlabel.cpp:243
#11 0x00007fc563fe1615 in QScopedPointerDeleter<QLabel>::cleanup(QLabel*) (pointer=<optimized out>) at /usr/include/qt5/QtCore/qscopedpointer.h:60
#12 0x00007fc563fe1615 in QScopedPointer<QLabel, QScopedPointerDeleter<QLabel> >::~QScopedPointer() (this=0x7fc5641f1038 <QtWebEngineWidgetUI::(anonymous namespace)::Q_QGS_bubbleInstance::innerFunction()::holder+56>, __in_chrg=<optimized out>) at /usr/include/qt5/QtCore/qscopedpointer.h:107
#13 0x00007fc563fe1615 in QtWebEngineWidgetUI::MessageBubbleWidget::~MessageBubbleWidget() (this=0x7fc5641f1000 <QtWebEngineWidgetUI::(anonymous namespace)::Q_QGS_bubbleInstance::innerFunction()::holder>, __in_chrg=<optimized out>) at ui/messagebubblewidget.cpp:122
#14 0x00007fc563fe1649 in QtWebEngineWidgetUI::(anonymous namespace)::Q_QGS_bubbleInstance::Holder::~Holder() (this=<optimized out>, __in_chrg=<optimized out>) at ui/messagebubblewidget.cpp:52
#15 0x00007fc56422ad78 in __run_exit_handlers () at /lib64/libc.so.6
#16 0x00007fc56422adca in  () at /lib64/libc.so.6
#17 0x00007fc564212f91 in __libc_start_main () at /lib64/libc.so.6
#18 0x000055fdc5e14b6a in _start () at ../sysdeps/x86_64/start.S:120
[Inferior 1 (process 16126) detached]

Reported using DrKonqi
Comment 1 Christoph Feck 2020-01-13 11:45:44 UTC
*** Bug 415681 has been marked as a duplicate of this bug. ***
Comment 2 Christoph Feck 2020-01-13 11:45:57 UTC
*** Bug 415682 has been marked as a duplicate of this bug. ***
Comment 3 Graham Perrin 2020-01-19 12:19:52 UTC
(In reply to Holger Rumland from comment #0)

> … only happens with the Theme engine QTCurve. …

Smart observation. Thanks. 

If you choose a different theme engine – one with which Falkon does not crash – then revert to QTCurve, is the bug still reproducible?

----

Compare with https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243362#c3 (closed, inspired by your observation) and bug 408701, although crashing bugs such as 408701 are associated with application startup (or session restoration).
Comment 4 Justin Zobel 2022-10-03 10:36:22 UTC
Thank you for reporting this crash in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the crash with a recent software version?

If you can reproduce the issue, please change the status to "CONFIRMED" when replying. Thank you!
Comment 5 Bug Janitor Service 2022-10-18 04:57:56 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 6 Bug Janitor Service 2022-11-02 05:06:09 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!