Summary: | [Testcase]SystemSettings crashed when discarding changes in kcm_device_automounter | ||
---|---|---|---|
Product: | [Applications] systemsettings | Reporter: | Gaurish <gary4gar> |
Component: | kcm_deviceautomounter | Assignee: | Torrie Fischer <tdfischer> |
Status: | RESOLVED WORKSFORME | ||
Severity: | crash | CC: | ab.kde, andresbajotierra, dmytro.av, echidnaman, kelvalok, leonardo.la.malfa, luislain, oleg.atamanenko+kde, ophilar, tohyf |
Priority: | NOR | Keywords: | investigated, reproducible, testcase, triaged |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
Backtrace of TestCase
New crash information added by DrKonqi New crash information added by DrKonqi New crash information added by DrKonqi New crash information added by DrKonqi New crash information added by DrKonqi |
Description
Gaurish
2010-02-10 13:49:25 UTC
Nice catch, but I can't quite seem to reproduce it here. Do you remember exactly what changes you made? Even better, think you could install the debug packages for archlinux and crash it again with a more detailed backtrace? Created attachment 40644 [details]
Backtrace of TestCase
Here is how to reproduce the crash
1) Open SystemSettings --> Advanced Tab --> Removable Devices
2) Goto 'Disconnected Devices'. Select any device from the Disconnected Devices tree and click on 'Forget Device'
3) Now click on 'Overview'
4) Then, you will get dialog box asking you want to save the changes made.
5) click 'discard'
systemsetting should crash now with a SEQ Fault
I am afraid debug packages for archlinux do not exist, AFAIK. Reproducible here with Kubuntu: Application: System Settings (systemsettings), signal: Segmentation fault [Current thread is 1 (Thread 0xb54cc980 (LWP 25897))] Thread 2 (Thread 0xb1a39b70 (LWP 25898)): #0 0xb59a8e16 in *__GI_clock_gettime (clock_id=-1248145420, tp=0xb1a38f68) at ../sysdeps/unix/clock_gettime.c:100 #1 0xb66474db in qt_gettime () at kernel/qcore_unix.cpp:109 #2 0xb664c605 in QTimerInfoList::updateCurrentTime (this=0x9f5c93c) at kernel/qeventdispatcher_unix.cpp:340 #3 0xb664c64a in QTimerInfoList::timerWait (this=0x9f5c93c, tm=...) at kernel/qeventdispatcher_unix.cpp:443 #4 0xb664a5f8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb1a3907c) at kernel/qeventdispatcher_glib.cpp:136 #5 0xb664a685 in timerSourcePrepare (source=0x0, timeout=0xb59acff4) at kernel/qeventdispatcher_glib.cpp:169 #6 0xb5b3347a in g_main_context_prepare () from /lib/libglib-2.0.so.0 #7 0xb5b33899 in ?? () from /lib/libglib-2.0.so.0 #8 0xb5b33e58 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #9 0xb664a3ef in QEventDispatcherGlib::processEvents (this=0x9f3d528, flags=...) at kernel/qeventdispatcher_glib.cpp:414 #10 0xb661ce29 in QEventLoop::processEvents (this=0xb1a39240, flags=) at kernel/qeventloop.cpp:149 #11 0xb661d27a in QEventLoop::exec (this=0xb1a39240, flags=...) at kernel/qeventloop.cpp:201 #12 0xb6519568 in QThread::exec (this=0x9ae89a0) at thread/qthread.cpp:487 #13 0xb65fcafb in QInotifyFileSystemWatcherEngine::run (this=0x9ae89a0) at io/qfilesystemwatcher_inotify.cpp:248 #14 0xb651c2ee in QThreadPrivate::start (arg=0x9ae89a0) at thread/qthread_unix.cpp:248 #15 0xb5c458de in start_thread (arg=0xb1a39b70) at pthread_create.c:300 #16 0xb633b95e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 1 (Thread 0xb54cc980 (LWP 25897)): [KCrash Handler] #6 QBasicAtomicInt::ref (this=0x9b3ac00, index=..., role=13) at /usr/include/qt4/QtCore/qatomic_i386.h:120 #7 QString (this=0x9b3ac00, index=..., role=13) at /usr/include/qt4/QtCore/qstring.h:724 #8 DeviceModel::data (this=0x9b3ac00, index=..., role=13) at ../../../solid-device-automounter/kcm/DeviceModel.cpp:226 #9 0xb719a2e3 in QModelIndex::data (this=0x9ef80a0, option=..., index=...) at ../../include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:398 #10 QStyledItemDelegate::sizeHint (this=0x9ef80a0, option=..., index=...) at itemviews/qstyleditemdelegate.cpp:440 #11 0xb7128e39 in QTreeView::sizeHintForColumn (this=0x9b295f0, column=0) at itemviews/qtreeview.cpp:2802 #12 0xb7120372 in QTreeView::resizeColumnToContents (this=0x9b295f0, column=0) at itemviews/qtreeview.cpp:2598 #13 0xb2cde00a in DeviceAutomounterKCM::loadLayout (this=0x9b29308) at ../../../solid-device-automounter/kcm/DeviceAutomounterKCM.cpp:217 #14 0xb78721f7 in KCModuleProxy::load (this=0x9b25168) at ../../kutils/kcmoduleproxy.cpp:269 #15 0xb7849290 in ModuleView::resolveChanges (this=0x9b3ada0, currentProxy=0x9b25168) at ../../../systemsettings/core/ModuleView.cpp:266 #16 0xb7849349 in ModuleView::resolveChanges (this=0x9b3ada0) at ../../../systemsettings/core/ModuleView.cpp:240 #17 0xb34c3ed8 in IconMode::backToOverview (this=0x9adf790) at ../../../systemsettings/icons/IconMode.cpp:151 #18 0xb34c4713 in IconMode::qt_metacall (this=0x9adf790, _c=QMetaObject::InvokeMetaMethod, _id=14, _a=0xbf8877c8) at ./IconMode.moc:82 #19 0xb6623a6a in QMetaObject::metacall (object=0x9adf790, cl=162769920, idx=14, argv=0xbf8877c8) at kernel/qmetaobject.cpp:237 #20 0xb66321f5 in QMetaObject::activate (sender=0x9af7ee0, m=0xb7466d58, local_signal_index=1, argv=0xbf8877c8) at kernel/qobject.cpp:3275 #21 0xb6b3aad9 in QAction::triggered (this=0x9af7ee0, _t1=false) at .moc/release-shared/moc_qaction.cpp:263 #22 0xb6b3cccc in QAction::activate (this=0x9af7ee0, event=QAction::Trigger) at kernel/qaction.cpp:1251 #23 0xb702e072 in QAction::trigger (this=0x9f2b478) at ../../include/QtGui/../../src/gui/kernel/qaction.h:218 #24 QToolButton::nextCheckState (this=0x9f2b478) at widgets/qtoolbutton.cpp:1147 #25 0xb6f4b243 in QAbstractButtonPrivate::click (this=0x9eef588) at widgets/qabstractbutton.cpp:528 #26 0xb6f4b53e in QAbstractButton::mouseReleaseEvent (this=0x9eef570, e=0xbf887f30) at widgets/qabstractbutton.cpp:1121 #27 0xb702e53c in QToolButton::mouseReleaseEvent (this=0x9eef570, e=0xbf887f30) at widgets/qtoolbutton.cpp:721 #28 0xb6b9f528 in QWidget::event (this=0x9eef570, event=0xbf887f30) at kernel/qwidget.cpp:7978 #29 0xb6f4a2de in QAbstractButton::event (this=0x9eef570, e=0x9f2b478) at widgets/qabstractbutton.cpp:1080 #30 0xb703106a in QToolButton::event (this=0x9eef570, event=0xbf887f30) at widgets/qtoolbutton.cpp:1163 #31 0xb6b412dc in QApplicationPrivate::notify_helper (this=0x9495aa0, receiver=0x9eef570, e=0xbf887f30) at kernel/qapplication.cpp:4298 #32 0xb6b488c7 in QApplication::notify (this=0xbf8887ec, receiver=0x9eef570, e=0xbf887f30) at kernel/qapplication.cpp:3863 #33 0xb766451a in KApplication::notify (this=0xbf8887ec, receiver=0x9eef570, event=0xbf887f30) at ../../kdeui/kernel/kapplication.cpp:302 #34 0xb661e80b in QCoreApplication::notifyInternal (this=0xbf8887ec, receiver=0x9eef570, event=0xbf887f30) at kernel/qcoreapplication.cpp:704 #35 0xb6b47822 in QCoreApplication::sendEvent (receiver=0x9eef570, event=0xbf887f30, alienWidget=0x9eef570, nativeWidget=0x9524368, buttonDown=0xb7482078, lastMouseReceiver=..., spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #36 QApplicationPrivate::sendMouseEvent (receiver=0x9eef570, event=0xbf887f30, alienWidget=0x9eef570, nativeWidget=0x9524368, buttonDown=0xb7482078, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:2963 #37 0xb6bd24b8 in QETWidget::translateMouseEvent (this=0x9524368, event=0xbf88844c) at kernel/qapplication_x11.cpp:4368 #38 0xb6bd19f1 in QApplication::x11ProcessEvent (this=0xbf8887ec, event=0xbf88844c) at kernel/qapplication_x11.cpp:3379 #39 0xb6c008ca in x11EventSourceDispatch (s=0x9498aa8, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #40 0xb5b2ff95 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #41 0xb5b33c98 in ?? () from /lib/libglib-2.0.so.0 #42 0xb5b33e58 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #43 0xb664a3b5 in QEventDispatcherGlib::processEvents (this=0x9473520, flags=...) at kernel/qeventdispatcher_glib.cpp:412 #44 0xb6c003f5 in QGuiEventDispatcherGlib::processEvents (this=0x9473520, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #45 0xb661ce29 in QEventLoop::processEvents (this=0xbf888744, flags=) at kernel/qeventloop.cpp:149 #46 0xb661d27a in QEventLoop::exec (this=0xbf888744, flags=...) at kernel/qeventloop.cpp:201 #47 0xb662146f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981 #48 0xb6b41377 in QApplication::exec () at kernel/qapplication.cpp:3577 #49 0x08056b1e in main (argc=5, argv=0xbf888934) at ../../../systemsettings/app/main.cpp:49 The current source language is "auto; currently c". More on this Bug, here is the relavent code of forget device(http://websvn.kde.org/trunk/KDE/kdebase/runtime/solid-device-automounter/kcm/DeviceModel.cpp?view=markup) 30 DeviceModel::forgetDevice(const QString &udi) 31 { 32 if (m_disconnected.contains(udi)) { 33 beginRemoveRows(index(0, 0), m_disconnected.indexOf(udi), m_disconnected.indexOf(udi)); 34 m_disconnected.removeOne(udi); 35 endRemoveRows(); 36 } else if (m_attached.contains(udi)) { 37 beginRemoveRows(index(1, 0), m_attached.indexOf(udi), m_attached.indexOf(udi)); 38 m_attached.removeOne(udi); 39 endRemoveRows(); 40 } 41 m_loginForced.remove(udi); 42 m_attachedForced.remove(udi); 43 } As you can see above "Forget Device" button makes changes which cannot be reversed latter by Discard option of systemsettings(hence the reason behind the crash). It seems the original author didn't notice this error. I believe this should be fixed by r1107759, where I retooled the model to pass the qt modeltest. I couldn't seem to reproduce it before I started working on it, so think you could check if it crashes again from the latest svn? Hi, Can't test from latest SVN. I don't know how to compile from source. [Update] This bug seems to be fixed. It does not Crash anymore. Thanks for the fix Trever :D *** Bug 232978 has been marked as a duplicate of this bug. *** Created attachment 42660 [details]
New crash information added by DrKonqi
Crash after I discard changes in automounter module of System Settings.
Created attachment 43421 [details]
New crash information added by DrKonqi
I selected several devices, clicked "forget" and systemsettings crashed.
*** Bug 238576 has been marked as a duplicate of this bug. *** Created attachment 50667 [details]
New crash information added by DrKonqi
When a change is made in the removable devices configuration, configuration fronthead crashes.
*** Bug 244999 has been marked as a duplicate of this bug. *** *** Bug 255119 has been marked as a duplicate of this bug. *** *** Bug 255151 has been marked as a duplicate of this bug. *** Created attachment 53483 [details]
New crash information added by DrKonqi
System settings crashed after I selected(hilighted) the devices and click "forget device" button.
Created attachment 53484 [details]
New crash information added by DrKonqi
System settings crashed after I selected(hilighted) the devices and click
"forget device" button. (SECOND TIME)
[Comment from a bug triager] So far all the duplicates are from KDE SC 4.4. - Can this bug be reproduced with KDE SC 4.5 or later ? Other relevant crashes like bug 227883 and bug 230558 were also fixed for KDE 4.5 Changing state from NEEDSINFO/BACKTRACE to NEEDSINFO/WAITINGFORINFO as backtraces are already provided in the latest comments... Thanks *** Bug 258943 has been marked as a duplicate of this bug. *** 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 set the bug status 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! Removing subscriber per abuse report we received. Dear Bug Submitter, 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! |