Bug 418312 - Crashes on exit [~MainWindow → MainWindow::slotBehaviorConfigChanged]
Summary: Crashes on exit [~MainWindow → MainWindow::slotBehaviorConfigChanged]
Status: RESOLVED FIXED
Alias: None
Product: choqok
Classification: Applications
Component: general (show other bugs)
Version: 1.7.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Andrea Scarpino
URL:
Keywords: drkonqi
: 458110 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-02-29 08:41 UTC by john4deidre2013
Modified: 2022-08-21 02:02 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (17.44 KB, patch)
2020-03-01 11:26 UTC, Dennis Schridde
Details
New crash information added by DrKonqi (8.41 KB, patch)
2020-03-06 05:11 UTC, Mathieu Jobin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description john4deidre2013 2020-02-29 08:41:25 UTC
Application: choqok (1.7.0)

Qt Version: 5.14.1
Frameworks Version: 5.67.0
Operating System: Linux 5.5.6-1-default x86_64
Windowing system: X11
Distribution: "openSUSE Tumbleweed"

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

i just tried to exit the program by File/Exit menu.  it then crashed

-- Backtrace:
Application: Choqok (choqok), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f69d4a6df80 (LWP 9278))]

Thread 12 (Thread 0x7f69b37fe700 (LWP 9367)):
#0  0x00007f69d63674fc in read () from /lib64/libc.so.6
#1  0x00007f69d1a590f1 in pa_read () from /usr/lib64/pulseaudio/libpulsecommon-13.0.so
#2  0x00007f69d2755a0e in pa_mainloop_prepare () from /usr/lib64/libpulse.so.0
#3  0x00007f69d27564b0 in pa_mainloop_iterate () from /usr/lib64/libpulse.so.0
#4  0x00007f69d2756570 in pa_mainloop_run () from /usr/lib64/libpulse.so.0
#5  0x00007f69d2764439 in ?? () from /usr/lib64/libpulse.so.0
#6  0x00007f69d1a86d78 in ?? () from /usr/lib64/pulseaudio/libpulsecommon-13.0.so
#7  0x00007f69d333fefa in start_thread () from /lib64/libpthread.so.0
#8  0x00007f69d63763bf in clone () from /lib64/libc.so.6

Thread 11 (Thread 0x7f69b3fff700 (LWP 9299)):
#0  0x00007f69d636bacf in poll () from /lib64/libc.so.6
#1  0x00007f69d28112fe in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f69d281141f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f69d4d70c6b in QEventDispatcherGlib::processEvents (this=0x7f6998000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f69d4d18bfb in QEventLoop::exec (this=this@entry=0x7f69b3ffeda0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:136
#5  0x00007f69d4b4362e in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:118
#6  0x00007f69d4b446f8 in QThreadPrivate::start (arg=0x5608562437b0) at thread/qthread_unix.cpp:342
#7  0x00007f69d333fefa in start_thread () from /lib64/libpthread.so.0
#8  0x00007f69d63763bf in clone () from /lib64/libc.so.6

Thread 10 (Thread 0x7f69b9592700 (LWP 9288)):
#0  0x00007f69d3346795 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f69c544828b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f69c54481c7 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f69d333fefa in start_thread () from /lib64/libpthread.so.0
#4  0x00007f69d63763bf in clone () from /lib64/libc.so.6

Thread 9 (Thread 0x7f69b9d93700 (LWP 9287)):
#0  0x00007f69d3346795 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f69c544828b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f69c54481c7 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f69d333fefa in start_thread () from /lib64/libpthread.so.0
#4  0x00007f69d63763bf in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7f69ba594700 (LWP 9286)):
#0  0x00007f69d3346795 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f69c544828b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f69c54481c7 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f69d333fefa in start_thread () from /lib64/libpthread.so.0
#4  0x00007f69d63763bf in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7f69bad95700 (LWP 9285)):
#0  0x00007f69d3346795 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f69c544828b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f69c54481c7 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f69d333fefa in start_thread () from /lib64/libpthread.so.0
#4  0x00007f69d63763bf in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7f69bb596700 (LWP 9284)):
#0  0x00007f69d3346795 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f69c544828b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f69c54481c7 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f69d333fefa in start_thread () from /lib64/libpthread.so.0
#4  0x00007f69d63763bf in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f69c4d66700 (LWP 9283)):
#0  0x00007f69d3346795 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f69c544828b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f69c54481c7 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f69d333fefa in start_thread () from /lib64/libpthread.so.0
#4  0x00007f69d63763bf in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f69ccb76700 (LWP 9282)):
#0  0x00007f69d3346795 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f69c544828b in ?? () from /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f69c54481c7 in ?? () from /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f69d333fefa in start_thread () from /lib64/libpthread.so.0
#4  0x00007f69d63763bf in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f69cea0e700 (LWP 9281)):
#0  0x00007f69d636bacf in poll () from /lib64/libc.so.6
#1  0x00007f69d28112fe in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f69d281141f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f69d4d70c6b in QEventDispatcherGlib::processEvents (this=0x7f69c0000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f69d4d18bfb in QEventLoop::exec (this=this@entry=0x7f69cea0dd70, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:136
#5  0x00007f69d4b4362e in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:118
#6  0x00007f69d4657507 in ?? () from /usr/lib64/libQt5DBus.so.5
#7  0x00007f69d4b446f8 in QThreadPrivate::start (arg=0x7f69d46d9da0) at thread/qthread_unix.cpp:342
#8  0x00007f69d333fefa in start_thread () from /lib64/libpthread.so.0
#9  0x00007f69d63763bf in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f69cf62e700 (LWP 9280)):
#0  0x00007f69d636bacf in poll () from /lib64/libc.so.6
#1  0x00007f69d22f4752 in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007f69d22f540a in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
#3  0x00007f69cf882ab0 in QXcbEventQueue::run (this=0x56085562b300) at qxcbeventqueue.cpp:228
#4  0x00007f69d4b446f8 in QThreadPrivate::start (arg=0x56085562b300) at thread/qthread_unix.cpp:342
#5  0x00007f69d333fefa in start_thread () from /lib64/libpthread.so.0
#6  0x00007f69d63763bf in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f69d4a6df80 (LWP 9278)):
[KCrash Handler]
#6  0x0000560854408a84 in MainWindow::slotAppearanceConfigChanged (this=0x5608556d8740) at /usr/include/qt5/QtCore/qobject.h:519
#7  0x00007f69d4d4ea5e in QtPrivate::QSlotObjectBase::call (a=0x7ffcfbebb3f0, r=0x5608556d8740, this=0x560855d191f0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#8  doActivate<false> (sender=0x560855d2c420, signal_index=3, argv=0x7ffcfbebb3f0) at kernel/qobject.cpp:3870
#9  0x00007f69d5012dbe in KCoreConfigSkeleton::save (this=0x560855d2c420) at /usr/src/debug/kconfig-5.67.0-1.1.x86_64/src/core/kcoreconfigskeleton.cpp:1237
#10 KCoreConfigSkeleton::save (this=0x560855d2c420) at /usr/src/debug/kconfig-5.67.0-1.1.x86_64/src/core/kcoreconfigskeleton.cpp:1222
#11 0x00007f69d6207428 in Choqok::UI::ChoqokTabBar::~ChoqokTabBar (this=<optimized out>, this=<optimized out>) at /usr/src/debug/choqok-1.7.0-1.2.x86_64/libchoqok/ui/choqoktabbar.cpp:868
#12 0x00007f69d6207559 in Choqok::UI::ChoqokTabBar::~ChoqokTabBar (this=<optimized out>, this=<optimized out>) at /usr/src/debug/choqok-1.7.0-1.2.x86_64/libchoqok/ui/choqoktabbar.cpp:871
#13 0x00007f69d4d435fe in QObjectPrivate::deleteChildren (this=this@entry=0x560856360920) at kernel/qobject.cpp:2123
#14 0x00007f69d58c8fe6 in QWidget::~QWidget (this=0x560855802120, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1530
#15 0x00007f69d62180f9 in Choqok::UI::MicroBlogWidget::~MicroBlogWidget (this=<optimized out>, this=<optimized out>) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:158
#16 0x00007f69b8d5da29 in TwitterApiMicroBlogWidget::~TwitterApiMicroBlogWidget (this=<optimized out>, this=<optimized out>) at /usr/src/debug/choqok-1.7.0-1.2.x86_64/helperlibs/twitterapihelper/twitterapimicroblogwidget.cpp:114
#17 0x00007f69d4d435fe in QObjectPrivate::deleteChildren (this=this@entry=0x5608555ba8b0) at kernel/qobject.cpp:2123
#18 0x00007f69d58c8fe6 in QWidget::~QWidget (this=0x56085573a610, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1530
#19 0x00007f69d5a3df69 in QStackedWidget::~QStackedWidget (this=0x56085573a610, __in_chrg=<optimized out>) at widgets/qstackedwidget.cpp:145
#20 0x00007f69d4d435fe in QObjectPrivate::deleteChildren (this=this@entry=0x5608557426f0) at kernel/qobject.cpp:2123
#21 0x00007f69d58c8fe6 in QWidget::~QWidget (this=0x5608557419d0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1530
#22 0x00007f69d5a60219 in QTabWidget::~QTabWidget (this=0x5608557419d0, __in_chrg=<optimized out>) at widgets/qtabwidget.cpp:372
#23 0x00007f69d4d435fe in QObjectPrivate::deleteChildren (this=this@entry=0x5608556e96d0) at kernel/qobject.cpp:2123
#24 0x00007f69d58c8fe6 in QWidget::~QWidget (this=0x5608556d8740, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1530
#25 0x000056085440a6dd in MainWindow::~MainWindow (this=<optimized out>, this=<optimized out>) at /usr/include/c++/9/bits/atomic_base.h:326
#26 0x000056085440a799 in MainWindow::~MainWindow (this=<optimized out>, this=<optimized out>) at /usr/src/debug/choqok-1.7.0-1.2.x86_64/choqok/mainwindow.cpp:114
#27 0x00007f69d4d4680f in QObject::event (this=this@entry=0x5608556d8740, e=e@entry=0x5608565ddb10) at kernel/qobject.cpp:1326
#28 0x00007f69d58cd565 in QWidget::event (this=this@entry=0x5608556d8740, event=event@entry=0x5608565ddb10) at kernel/qwidget.cpp:9092
#29 0x00007f69d59e1fc4 in QMainWindow::event (this=0x5608556d8740, event=0x5608565ddb10) at widgets/qmainwindow.cpp:1341
#30 0x00007f69d60d9133 in KMainWindow::event (this=<optimized out>, ev=<optimized out>) at /usr/src/debug/kxmlgui-5.67.0-1.1.x86_64/src/kmainwindow.cpp:868
#31 0x00007f69d60abb09 in KXmlGuiWindow::event (this=0x5608556d8740, ev=0x5608565ddb10) at /usr/src/debug/kxmlgui-5.67.0-1.1.x86_64/src/kxmlguiwindow.cpp:121
#32 0x00007f69d588acaf in QApplicationPrivate::notify_helper (this=this@entry=0x5608555f7950, receiver=receiver@entry=0x5608556d8740, e=e@entry=0x5608565ddb10) at kernel/qapplication.cpp:3684
#33 0x00007f69d5893df0 in QApplication::notify (this=0x7ffcfbebbec0, receiver=0x5608556d8740, e=0x5608565ddb10) at kernel/qapplication.cpp:3430
#34 0x00007f69d4d1a062 in QCoreApplication::notifyInternal2 (receiver=0x5608556d8740, event=0x5608565ddb10) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:153
#35 0x00007f69d4d1c7f4 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=52, data=0x5608555b9680) at kernel/qcoreapplication.cpp:1832
#36 0x00007f69d4d209eb in QCoreApplication::exec () at kernel/qcoreapplication.h:86
#37 0x0000560854406d42 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/choqok-1.7.0-1.2.x86_64/choqok/main.cpp:103
[Inferior 1 (process 9278) detached]

The reporter indicates this bug may be a duplicate of or related to bug 400117.

Possible duplicates by query: bug 417260, bug 416379, bug 415991, bug 414700, bug 413345.

Reported using DrKonqi
Comment 1 Dennis Schridde 2020-03-01 11:26:18 UTC
Created attachment 126516 [details]
New crash information added by DrKonqi

choqok (1.7.0) using Qt 5.14.1

- What I was doing when the application crashed:

I pressed Ctrl+Q to close Choqok, when it crashed.

-- Backtrace (Reduced):
#6  0x00007fe373372a04 in QStackedWidget::indexOf (this=0x561b2a60a010, widget=0x561b2cfe7220) at widgets/qstackedwidget.h:86
#7  0x00007fe373c3b471 in Choqok::UI::ChoqokTabBar::removePage(QWidget*) () from /usr/lib64/libchoqok.so.1
#8  0x00007fe37271b585 in QtPrivate::QSlotObjectBase::call (a=0x7ffc33907bc0, r=0x561b2a6b3d30, this=0x561b2d99a990) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#9  doActivate<false> (sender=0x561b2cfe7220, signal_index=0, argv=0x7ffc33907bc0) at kernel/qobject.cpp:3870
[...]
#11 0x00007fe372715dff in QObject::destroyed (this=this@entry=0x561b2cfe7220, _t1=<optimized out>, _t1@entry=0x561b2cfe7220) at .moc/moc_qobject.cpp:219
Comment 2 Mathieu Jobin 2020-03-06 05:11:17 UTC
Created attachment 126618 [details]
New crash information added by DrKonqi

choqok (1.6.0) using Qt 5.12.4

- What I was doing when the application crashed:

first time I install this software


I setup Twitter client.
read for a few minutes, did not interact much with the application.
quit using shortcut CTRL-q

crashed

-- Backtrace (Reduced):
#6  0x00007f5572fa8813 in QStackedLayout::widget(int) const () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7  0x0000556028db8436 in  ()
[...]
#9  0x00007f5572808e0e in KCoreConfigSkeleton::save() () at /usr/lib/x86_64-linux-gnu/libKF5ConfigCore.so.5
#10 0x00007f55739bfb31 in Choqok::UI::ChoqokTabBar::~ChoqokTabBar() () at /usr/lib/x86_64-linux-gnu/libchoqok.so.1
#11 0x00007f55739bfcc9 in Choqok::UI::ChoqokTabBar::~ChoqokTabBar() () at /usr/lib/x86_64-linux-gnu/libchoqok.so.1
Comment 3 Bug Janitor Service 2022-06-19 13:31:11 UTC
A possibly relevant merge request was started @ https://invent.kde.org/network/choqok/-/merge_requests/13
Comment 4 Frédéric Brière 2022-06-21 13:50:13 UTC
Git commit 2e6ac3ec1f764d3bb58a0640a2fee060c58fad2c by Frédéric Brière.
Committed on 21/06/2022 at 07:06.
Pushed by scarpino into branch 'master'.

Disconnect configChanged() signal from *Settings in QWidget-based dtors

Because the QWidget dtor will delete its children first, it is the
responsability of any subclass to disconnect any signal that might be
emitted as a result of a child's destruction.  Otherwise, that signal
could end up attempting to invoke a method on the now-destroyed parent.

The ChoqokTabBar, QuickPost and TextEdit dtors put various settings in
AppearanceSettings or BehaviorSettings, which may end up triggering a
configChanged() signal.  Therefore, all QWidget subclasses that have
connected this signal should disconnect it in their dtor.

(Technically, this is only required of *parents* of the above classes,
so it could be omitted from TextEdit.  Still, better safe than sorry.)

M  +5    -0    choqok/mainwindow.cpp
M  +3    -0    libchoqok/ui/choqoktextedit.cpp

https://invent.kde.org/network/choqok/commit/2e6ac3ec1f764d3bb58a0640a2fee060c58fad2c
Comment 5 Frédéric Brière 2022-08-21 02:02:06 UTC
*** Bug 458110 has been marked as a duplicate of this bug. ***