Bug 329329 - Systemsettings crash when interrupting kcm-language at loading
Summary: Systemsettings crash when interrupting kcm-language at loading
Status: RESOLVED DOWNSTREAM
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_language (show other bugs)
Version: 4.12.0
Platform: Kubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: John Layt
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-28 17:58 UTC by kdeuser56
Modified: 2014-02-08 20:22 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kdeuser56 2013-12-28 17:58:09 UTC
crash if I close Systemsettings while kcm-language is loading. 

Reproducible: Always

Steps to Reproduce:
1.Open systemsettings
2.click select "Locale"
3.click Quit immediately while the module is loading 
Actual Results:  
Systemsettings close, but with a crash. (KDE Crash-handler shows up). 

Expected Results:  
Systemsettings should close without a crash

Backtrace:

Application: System Settings (systemsettings), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f4bc049d7c0 (LWP 7142))]

Thread 2 (Thread 0x7f4ba17c2700 (LWP 7143)):
#0  0x00007f4bbd48ff7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f4bb63f5694 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f4bb63f579c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f4bbdc15a76 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007f4bbdbe75ef in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007f4bbdbe78e5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007f4bbdae688f in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007f4bbdbc8d13 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007f4bbdae8f2f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007f4bb68cdf6e in start_thread (arg=0x7f4ba17c2700) at pthread_create.c:311
#10 0x00007f4bbd49c9cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f4bc049d7c0 (LWP 7142)):
[KCrash Handler]
#5  0x00007f4ba0d9df9d in ?? () from /usr/lib/kde4/kcm_locale.so
#6  0x00007f4ba0d9e2d9 in ?? () from /usr/lib/kde4/kcm_locale.so
#7  0x00007f4bbdbff308 in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007f4bbe8a0b37 in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#9  0x00007f4bbfbb8f3b in KCModuleProxy::~KCModuleProxy() () from /usr/lib/libkcmutils.so.4
#10 0x00007f4bbfbb8fe9 in KCModuleProxy::~KCModuleProxy() () from /usr/lib/libkcmutils.so.4
#11 0x00007f4bbdbff308 in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#12 0x00007f4bbe8a0b37 in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#13 0x00007f4bbe8a0e49 in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#14 0x00007f4bbdbff308 in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#15 0x00007f4bbe8a0b37 in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#16 0x00007f4bbecc3979 in QScrollArea::~QScrollArea() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#17 0x00007f4bbdbff308 in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#18 0x00007f4bbe8a0b37 in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#19 0x00007f4bbf58ae6e in ?? () from /usr/lib/libkdeui.so.5
#20 0x00007f4bbdbff308 in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#21 0x00007f4bbe8a0b37 in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#22 0x00007f4bbf58d8e9 in KPageWidget::~KPageWidget() () from /usr/lib/libkdeui.so.5
#23 0x00007f4bbdbff308 in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#24 0x00007f4bbe8a0b37 in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#25 0x00007f4bbf991ee9 in ModuleView::~ModuleView() () from /usr/lib/libsystemsettingsview.so.2
#26 0x00007f4bbdbff308 in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#27 0x00007f4bbe8a0b37 in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#28 0x00007f4bbec9c149 in QStackedWidget::~QStackedWidget() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#29 0x00007f4bbdbff308 in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#30 0x00007f4bbe8a0b37 in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#31 0x00007f4bbec9c149 in QStackedWidget::~QStackedWidget() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#32 0x00007f4bbdbff308 in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#33 0x00007f4bbe8a0b37 in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#34 0x00007f4bbf611fa5 in KMainWindow::~KMainWindow() () from /usr/lib/libkdeui.so.5
#35 0x000000000040bb1e in _start ()
Comment 1 Christoph Feck 2013-12-28 18:21:08 UTC
Does not crash here. This is probably caused by distribution-specific patches for the language installation. Can you reproduce it on different distributions?
Comment 2 kdeuser56 2014-01-19 13:10:42 UTC
Christoph: As I was unsuccessful reproducing I have reported the bug downstream: https://bugs.launchpad.net/ubuntu/+source/kde-workspace/+bug/1270571.
Is reproducible on Kubuntu with KDE 4.12, latest and full backtrace can be found in the linked bug report.
Comment 3 Christoph Feck 2014-02-08 20:22:43 UTC
Crash caused by local event loop inside the KCMLocale constructor. The object is not fully created until the constructor returns. Running the event loop on the half-created object causes this crash.