Bug 319889 - System settings crashes when selecting a default printer
Summary: System settings crashes when selecting a default printer
Status: RESOLVED FIXED
Alias: None
Product: print-manager
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 4.10.2
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Daniel Nicoletti
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-16 01:06 UTC by ChrisiPK
Modified: 2013-05-24 17:59 UTC (History)
0 users

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 ChrisiPK 2013-05-16 01:06:14 UTC
Application: systemsettings (1.0)
KDE Platform Version: 4.10.2
Qt Version: 4.8.4
Operating System: Linux 3.8.0-19-generic x86_64
Distribution: Ubuntu 13.04

-- Information about the crash:
- What I was doing when the application crashed:
1. Open System Settings, go to Printers.
2. Check the "default printer" checkbox for one printer.
3. Close the system settings using X.
4. KDE reports crash of system settings.

- Custom settings of the application:
Since this is the settings application, there are no application settings, but many machine settings involved. I am not sure what to provide here.
Some printer specific information: This is a machine in a workplace environment using a custom CUPS server. There are 15 printers in the list.

The crash can be reproduced every time.

-- 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 0x7fbd152b27c0 (LWP 7755))]

Thread 3 (Thread 0x7fbcf823b700 (LWP 7756)):
#0  0x00007fbd122ad3cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fbd0b2df1dc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fbd0b2df304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fbd12a33036 in QEventDispatcherGlib::processEvents (this=0x7fbcf00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007fbd12a0338f in QEventLoop::processEvents (this=this@entry=0x7fbcf823ad90, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fbd12a03618 in QEventLoop::exec (this=this@entry=0x7fbcf823ad90, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007fbd12905410 in QThread::exec (this=this@entry=0x1313660) at thread/qthread.cpp:542
#7  0x00007fbd129e4edf in QInotifyFileSystemWatcherEngine::run (this=0x1313660) at io/qfilesystemwatcher_inotify.cpp:256
#8  0x00007fbd12907bec in QThreadPrivate::start (arg=0x1313660) at thread/qthread_unix.cpp:338
#9  0x00007fbd0b7b1f8e in start_thread (arg=0x7fbcf823b700) at pthread_create.c:311
#10 0x00007fbd122b9e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7fbcf56bf700 (LWP 7757)):
#0  0x00007fbd122ad3cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fbcf73ad7cb in httpAddrConnect2 () from /usr/lib/x86_64-linux-gnu/libcups.so.2
#2  0x00007fbcf73acc1b in httpReconnect2 () from /usr/lib/x86_64-linux-gnu/libcups.so.2
#3  0x00007fbcf73ac6c8 in ?? () from /usr/lib/x86_64-linux-gnu/libcups.so.2
#4  0x00007fbcf73a920c in cupsGetFd () from /usr/lib/x86_64-linux-gnu/libcups.so.2
#5  0x00007fbcf73964ce in ?? () from /usr/lib/x86_64-linux-gnu/libcups.so.2
#6  0x00007fbcf73977b8 in cupsAdminGetServerSettings () from /usr/lib/x86_64-linux-gnu/libcups.so.2
#7  0x00007fbcf76063f1 in KCupsRequest::getServerSettings() () from /usr/lib/libkcupslib.so
#8  0x00007fbcf75f7665 in ?? () from /usr/lib/libkcupslib.so
#9  0x00007fbd12a1e5be in QObject::event (this=0x1499030, e=<optimized out>) at kernel/qobject.cpp:1194
#10 0x00007fbd136688ec in QApplicationPrivate::notify_helper (this=this@entry=0xd003a0, receiver=receiver@entry=0x1499030, e=e@entry=0x1496b10) at kernel/qapplication.cpp:4567
#11 0x00007fbd1366b25b in QApplication::notify (this=this@entry=0x7ffff6e2ce70, receiver=receiver@entry=0x1499030, e=e@entry=0x1496b10) at kernel/qapplication.cpp:4428
#12 0x00007fbd14375af6 in KApplication::notify (this=0x7ffff6e2ce70, receiver=0x1499030, event=0x1496b10) at ../../kdeui/kernel/kapplication.cpp:311
#13 0x00007fbd12a0463e in QCoreApplication::notifyInternal (this=0x7ffff6e2ce70, receiver=receiver@entry=0x1499030, event=event@entry=0x1496b10) at kernel/qcoreapplication.cpp:946
#14 0x00007fbd12a08171 in sendEvent (event=0x1496b10, receiver=0x1499030) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#15 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x147e020) at kernel/qcoreapplication.cpp:1570
#16 0x00007fbd12a084a3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1463
#17 0x00007fbd12a32e83 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#18 postEventSourceDispatch (s=0x7fbce80012d0) at kernel/qeventdispatcher_glib.cpp:279
#19 0x00007fbd0b2def05 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007fbd0b2df248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007fbd0b2df304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007fbd12a33016 in QEventDispatcherGlib::processEvents (this=0x7fbce80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#23 0x00007fbd12a0338f in QEventLoop::processEvents (this=this@entry=0x7fbcf56bed80, flags=...) at kernel/qeventloop.cpp:149
#24 0x00007fbd12a03618 in QEventLoop::exec (this=this@entry=0x7fbcf56bed80, flags=...) at kernel/qeventloop.cpp:204
#25 0x00007fbd12905410 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#26 0x00007fbcf75fc6e5 in KCupsConnection::run() () from /usr/lib/libkcupslib.so
#27 0x00007fbd12907bec in QThreadPrivate::start (arg=0x147de80) at thread/qthread_unix.cpp:338
#28 0x00007fbd0b7b1f8e in start_thread (arg=0x7fbcf56bf700) at pthread_create.c:311
#29 0x00007fbd122b9e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7fbd152b27c0 (LWP 7755)):
[KCrash Handler]
#6  0x00007fbd136a778e in QWidget::testAttribute_helper (this=0x1456940, attribute=Qt::WA_ForceDisabled) at kernel/qwidget.cpp:11068
#7  0x00007fbd136b0315 in testAttribute (attribute=attribute@entry=Qt::WA_ForceDisabled, this=0x1456940) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:1042
#8  QWidget::setAttribute (this=0x1456940, attribute=attribute@entry=Qt::WA_ForceDisabled, on=true) at kernel/qwidget.cpp:10726
#9  0x00007fbd136b2576 in QWidget::setEnabled (this=<optimized out>, enable=<optimized out>) at kernel/qwidget.cpp:3380
#10 0x00007fbcf782d538 in ?? () from /usr/lib/kde4/kcm_printer_manager.so
#11 0x00007fbcf782d5dd in ?? () from /usr/lib/kde4/kcm_printer_manager.so
#12 0x00007fbcf7827f7b in ?? () from /usr/lib/kde4/kcm_printer_manager.so
#13 0x00007fbd12a192b3 in QMetaObject::activate (sender=sender@entry=0x1456940, m=m@entry=0x7fbd14133ca0 <QAbstractButton::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffff6e2b960) at kernel/qobject.cpp:3558
#14 0x00007fbd13cd3c82 in QAbstractButton::clicked (this=this@entry=0x1456940, _t1=true) at .moc/release-shared/moc_qabstractbutton.cpp:220
#15 0x00007fbd13a2723e in QAbstractButtonPrivate::emitClicked (this=this@entry=0x1457430) at widgets/qabstractbutton.cpp:548
#16 0x00007fbd13a27a30 in QAbstractButtonPrivate::click (this=this@entry=0x1457430) at widgets/qabstractbutton.cpp:541
#17 0x00007fbd13a27c9c in QAbstractButton::mouseReleaseEvent (this=0x1456940, e=0x7ffff6e2c200) at widgets/qabstractbutton.cpp:1123
#18 0x00007fbd136b5a89 in QWidget::event (this=0x1456940, event=0x7ffff6e2c200) at kernel/qwidget.cpp:8375
#19 0x00007fbd136688ec in QApplicationPrivate::notify_helper (this=this@entry=0xd003a0, receiver=receiver@entry=0x1456940, e=e@entry=0x7ffff6e2c200) at kernel/qapplication.cpp:4567
#20 0x00007fbd1366ba33 in QApplication::notify (this=this@entry=0x7ffff6e2ce70, receiver=receiver@entry=0x1456940, e=e@entry=0x7ffff6e2c200) at kernel/qapplication.cpp:4110
#21 0x00007fbd14375af6 in KApplication::notify (this=0x7ffff6e2ce70, receiver=0x1456940, event=0x7ffff6e2c200) at ../../kdeui/kernel/kapplication.cpp:311
#22 0x00007fbd12a0463e in QCoreApplication::notifyInternal (this=0x7ffff6e2ce70, receiver=receiver@entry=0x1456940, event=event@entry=0x7ffff6e2c200) at kernel/qcoreapplication.cpp:946
#23 0x00007fbd1366e933 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#24 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x1456940, event=event@entry=0x7ffff6e2c200, alienWidget=alienWidget@entry=0x1456940, nativeWidget=nativeWidget@entry=0x1445270, buttonDown=buttonDown@entry=0x7fbd14146308 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true) at kernel/qapplication.cpp:3178
#25 0x00007fbd136e3ec4 in QETWidget::translateMouseEvent (this=this@entry=0x1445270, event=event@entry=0x7ffff6e2c980) at kernel/qapplication_x11.cpp:4631
#26 0x00007fbd136e2ef1 in QApplication::x11ProcessEvent (this=0x7ffff6e2ce70, event=event@entry=0x7ffff6e2c980) at kernel/qapplication_x11.cpp:3746
#27 0x00007fbd1370e0b2 in x11EventSourceDispatch (s=0xcf54c0, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#28 0x00007fbd0b2def05 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007fbd0b2df248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007fbd0b2df304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007fbd12a33016 in QEventDispatcherGlib::processEvents (this=0xcacad0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#32 0x00007fbd1370e1ae in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#33 0x00007fbd12a0338f in QEventLoop::processEvents (this=this@entry=0x7ffff6e2cd50, flags=...) at kernel/qeventloop.cpp:149
#34 0x00007fbd12a03618 in QEventLoop::exec (this=this@entry=0x7ffff6e2cd50, flags=...) at kernel/qeventloop.cpp:204
#35 0x00007fbd12a08cf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#36 0x00007fbd13666ffc in QApplication::exec () at kernel/qapplication.cpp:3828
#37 0x000000000040aa2e in main (argc=5, argv=0x7ffff6e2cfb8) at ../../../systemsettings/app/main.cpp:49

Possible duplicates by query: bug 310708, bug 268338.

Reported using DrKonqi
Comment 1 Daniel Nicoletti 2013-05-21 22:37:35 UTC
Does it happen every time?
Comment 2 ChrisiPK 2013-05-23 00:20:18 UTC
Yes, see initial report: The crash can be reproduced every time.
Comment 3 Daniel Nicoletti 2013-05-23 03:02:27 UTC
Ok, I need you then to install print-manager debug symbols and generate the backtrace again as I don't have a clue on what's wrong without it.
Thanks
Comment 4 ChrisiPK 2013-05-24 00:34:12 UTC
New backtrace with all relevant debug symbols:

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 0x7fb3867767c0 (LWP 20917))]

Thread 3 (Thread 0x7fb36976a700 (LWP 20918)):
#0  0x00007fb37c7e334d in g_mutex_get_impl (mutex=0x7fb3640009a0) at /build/buildd/glib2.0-2.36.0/./glib/gthread-posix.c:120
#1  0x00007fb37c7e35e9 in g_mutex_unlock (mutex=mutex@entry=0x7fb3640009a0) at /build/buildd/glib2.0-2.36.0/./glib/gthread-posix.c:229
#2  0x00007fb37c7a39c2 in g_main_context_prepare (context=context@entry=0x7fb3640009a0, priority=priority@entry=0x7fb369769c38) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3393
#3  0x00007fb37c7a40fe in g_main_context_iterate (context=context@entry=0x7fb3640009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3681
#4  0x00007fb37c7a4304 in g_main_context_iteration (context=0x7fb3640009a0, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#5  0x00007fb383ef8036 in QEventDispatcherGlib::processEvents (this=0x7fb3640008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007fb383ec838f in QEventLoop::processEvents (this=this@entry=0x7fb369769d90, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fb383ec8618 in QEventLoop::exec (this=this@entry=0x7fb369769d90, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fb383dca410 in QThread::exec (this=this@entry=0x1c2c670) at thread/qthread.cpp:542
#9  0x00007fb383ea9edf in QInotifyFileSystemWatcherEngine::run (this=0x1c2c670) at io/qfilesystemwatcher_inotify.cpp:256
#10 0x00007fb383dccbec in QThreadPrivate::start (arg=0x1c2c670) at thread/qthread_unix.cpp:338
#11 0x00007fb37cc76f8e in start_thread (arg=0x7fb36976a700) at pthread_create.c:311
#12 0x00007fb38377ee1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7fb362a40700 (LWP 20919)):
#0  0x00007fb3837723cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb3688da18f in poll (__timeout=60000, __nfds=1, __fds=0x7fb362a341c0) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  _httpWait (http=http@entry=0x7fb35c016ca0, msec=60000, usessl=usessl@entry=1) at http.c:2995
#3  0x00007fb3688da2ec in httpGets (line=line@entry=0x7fb362a34250 "", length=length@entry=32768, http=http@entry=0x7fb35c016ca0) at http.c:1162
#4  0x00007fb3688da4fe in _httpUpdate (http=http@entry=0x7fb35c016ca0, status=status@entry=0x7fb362a3c29c) at http.c:2729
#5  0x00007fb3688da7fd in httpUpdate (http=http@entry=0x7fb35c016ca0) at http.c:2899
#6  0x00007fb3688d8220 in cupsGetFd (http=http@entry=0x7fb35c016ca0, resource=resource@entry=0x7fb3688fed01 "/admin/conf/cupsd.conf", fd=fd@entry=4) at getputfile.c:105
#7  0x00007fb3688c54ce in get_cupsd_conf (http=http@entry=0x7fb35c016ca0, cg=cg@entry=0x7fb35c002720, last_update=0, name=name@entry=0x7fb362a3ea30 "/tmp/051b5519f93d5", remote=remote@entry=0x7fb362a3ea20, namesize=1024) at adminutil.c:2198
#8  0x00007fb3688c67b8 in cupsAdminGetServerSettings (http=0x7fb35c016ca0, num_settings=0x7fb362a3f2c8, settings=0x7fb362a3f308) at adminutil.c:946
#9  0x00007fb368b353f1 in KCupsRequest::getServerSettings (this=0x1dbb5f0) at ../../libkcups/KCupsRequest.cpp:276
#10 0x00007fb368b26665 in qt_static_metacall (_a=<optimized out>, _id=<optimized out>, _o=<optimized out>, _c=<optimized out>) at moc_KCupsRequest.cpp:105
#11 KCupsRequest::qt_static_metacall (_o=0x1dbb5f0, _c=QMetaObject::ReadProperty, _id=60000, _a=0xffffffffffffffff) at moc_KCupsRequest.cpp:86
#12 0x00007fb383ee35be in QObject::event (this=0x1dbb5f0, e=<optimized out>) at kernel/qobject.cpp:1194
#13 0x00007fb384b2d8ec in QApplicationPrivate::notify_helper (this=this@entry=0x161c560, receiver=receiver@entry=0x1dbb5f0, e=e@entry=0x1db90d0) at kernel/qapplication.cpp:4567
#14 0x00007fb384b3025b in QApplication::notify (this=this@entry=0x7fffc4f91900, receiver=receiver@entry=0x1dbb5f0, e=e@entry=0x1db90d0) at kernel/qapplication.cpp:4428
#15 0x00007fb38583aaf6 in KApplication::notify (this=0x7fffc4f91900, receiver=0x1dbb5f0, event=0x1db90d0) at ../../kdeui/kernel/kapplication.cpp:311
#16 0x00007fb383ec963e in QCoreApplication::notifyInternal (this=0x7fffc4f91900, receiver=receiver@entry=0x1dbb5f0, event=event@entry=0x1db90d0) at kernel/qcoreapplication.cpp:946
#17 0x00007fb383ecd171 in sendEvent (event=0x1db90d0, receiver=0x1dbb5f0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#18 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x1da0650) at kernel/qcoreapplication.cpp:1570
#19 0x00007fb383ecd4a3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1463
#20 0x00007fb383ef7e83 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#21 postEventSourceDispatch (s=s@entry=0x7fb35c0012d0) at kernel/qeventdispatcher_glib.cpp:279
#22 0x00007fb37c7a3f05 in g_main_dispatch (context=0x7fb35c0009a0) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3054
#23 g_main_context_dispatch (context=context@entry=0x7fb35c0009a0) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3630
#24 0x00007fb37c7a4248 in g_main_context_iterate (context=context@entry=0x7fb35c0009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3701
#25 0x00007fb37c7a4304 in g_main_context_iteration (context=0x7fb35c0009a0, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#26 0x00007fb383ef8016 in QEventDispatcherGlib::processEvents (this=0x7fb35c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#27 0x00007fb383ec838f in QEventLoop::processEvents (this=this@entry=0x7fb362a3fd80, flags=...) at kernel/qeventloop.cpp:149
#28 0x00007fb383ec8618 in QEventLoop::exec (this=this@entry=0x7fb362a3fd80, flags=...) at kernel/qeventloop.cpp:204
#29 0x00007fb383dca410 in QThread::exec (this=this@entry=0x1da04b0) at thread/qthread.cpp:542
#30 0x00007fb368b2b6e5 in KCupsConnection::run (this=0x1da04b0) at ../../libkcups/KCupsConnection.cpp:310
#31 0x00007fb383dccbec in QThreadPrivate::start (arg=0x1da04b0) at thread/qthread_unix.cpp:338
#32 0x00007fb37cc76f8e in start_thread (arg=0x7fb362a40700) at pthread_create.c:311
#33 0x00007fb38377ee1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7fb3867767c0 (LWP 20917)):
[KCrash Handler]
#6  0x00007fb384b6c78e in QWidget::testAttribute_helper (this=0x1d78fa0, attribute=Qt::WA_ForceDisabled) at kernel/qwidget.cpp:11068
#7  0x00007fb384b75315 in testAttribute (attribute=attribute@entry=Qt::WA_ForceDisabled, this=0x1d78fa0) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:1042
#8  QWidget::setAttribute (this=0x1d78fa0, attribute=attribute@entry=Qt::WA_ForceDisabled, on=true) at kernel/qwidget.cpp:10726
#9  0x00007fb384b77576 in QWidget::setEnabled (this=<optimized out>, enable=<optimized out>) at kernel/qwidget.cpp:3380
#10 0x00007fb368d5c538 in PrinterDescription::setIsDefault (this=this@entry=0x1d77820, isDefault=<optimized out>) at ../../printer-manager-kcm/PrinterDescription.cpp:173
#11 0x00007fb368d5c5dd in PrinterDescription::on_defaultCB_clicked (this=0x1d77820) at ../../printer-manager-kcm/PrinterDescription.cpp:98
#12 0x00007fb368d56f7b in PrinterDescription::qt_metacall (this=0x1d77820, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fffc4f903f0) at moc_PrinterDescription.cpp:112
#13 0x00007fb383ede2b3 in QMetaObject::activate (sender=sender@entry=0x1d78fa0, m=m@entry=0x7fb3855f8ca0 <QAbstractButton::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7fffc4f903f0) at kernel/qobject.cpp:3558
#14 0x00007fb385198c82 in QAbstractButton::clicked (this=this@entry=0x1d78fa0, _t1=true) at .moc/release-shared/moc_qabstractbutton.cpp:220
#15 0x00007fb384eec23e in QAbstractButtonPrivate::emitClicked (this=this@entry=0x1d79a90) at widgets/qabstractbutton.cpp:548
#16 0x00007fb384eeca30 in QAbstractButtonPrivate::click (this=this@entry=0x1d79a90) at widgets/qabstractbutton.cpp:541
#17 0x00007fb384eecc9c in QAbstractButton::mouseReleaseEvent (this=0x1d78fa0, e=0x7fffc4f90c90) at widgets/qabstractbutton.cpp:1123
#18 0x00007fb384b7aa89 in QWidget::event (this=0x1d78fa0, event=0x7fffc4f90c90) at kernel/qwidget.cpp:8375
#19 0x00007fb384b2d8ec in QApplicationPrivate::notify_helper (this=this@entry=0x161c560, receiver=receiver@entry=0x1d78fa0, e=e@entry=0x7fffc4f90c90) at kernel/qapplication.cpp:4567
#20 0x00007fb384b30a33 in QApplication::notify (this=this@entry=0x7fffc4f91900, receiver=receiver@entry=0x1d78fa0, e=e@entry=0x7fffc4f90c90) at kernel/qapplication.cpp:4110
#21 0x00007fb38583aaf6 in KApplication::notify (this=0x7fffc4f91900, receiver=0x1d78fa0, event=0x7fffc4f90c90) at ../../kdeui/kernel/kapplication.cpp:311
#22 0x00007fb383ec963e in QCoreApplication::notifyInternal (this=0x7fffc4f91900, receiver=receiver@entry=0x1d78fa0, event=event@entry=0x7fffc4f90c90) at kernel/qcoreapplication.cpp:946
#23 0x00007fb384b33933 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#24 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x1d78fa0, event=event@entry=0x7fffc4f90c90, alienWidget=alienWidget@entry=0x1d78fa0, nativeWidget=nativeWidget@entry=0x1d687a0, buttonDown=buttonDown@entry=0x7fb38560b308 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true) at kernel/qapplication.cpp:3178
#25 0x00007fb384ba8ec4 in QETWidget::translateMouseEvent (this=this@entry=0x1d687a0, event=event@entry=0x7fffc4f91410) at kernel/qapplication_x11.cpp:4631
#26 0x00007fb384ba7ef1 in QApplication::x11ProcessEvent (this=0x7fffc4f91900, event=event@entry=0x7fffc4f91410) at kernel/qapplication_x11.cpp:3746
#27 0x00007fb384bd30b2 in x11EventSourceDispatch (s=s@entry=0x1611680, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#28 0x00007fb37c7a3f05 in g_main_dispatch (context=0x161cc50) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3054
#29 g_main_context_dispatch (context=context@entry=0x161cc50) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3630
#30 0x00007fb37c7a4248 in g_main_context_iterate (context=context@entry=0x161cc50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3701
#31 0x00007fb37c7a4304 in g_main_context_iteration (context=0x161cc50, may_block=1) at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3762
#32 0x00007fb383ef8016 in QEventDispatcherGlib::processEvents (this=0x15c8ad0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#33 0x00007fb384bd31ae in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#34 0x00007fb383ec838f in QEventLoop::processEvents (this=this@entry=0x7fffc4f917e0, flags=...) at kernel/qeventloop.cpp:149
#35 0x00007fb383ec8618 in QEventLoop::exec (this=this@entry=0x7fffc4f917e0, flags=...) at kernel/qeventloop.cpp:204
#36 0x00007fb383ecdcf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#37 0x00007fb384b2bffc in QApplication::exec () at kernel/qapplication.cpp:3828
#38 0x000000000040aa2e in main (argc=5, argv=0x7fffc4f91a48) at ../../../systemsettings/app/main.cpp:49
Comment 5 Daniel Nicoletti 2013-05-24 17:59:51 UTC
Git commit 62ae974c2aa4842c6dc46cd6c154ae06b5487c24 by Daniel Nicoletti.
Committed on 24/05/2013 at 19:43.
Pushed by dantti into branch 'KDE/4.10'.

If CUPS takes a while to respond a request, and in the meanwhile the
user closes the application, our worker thread will still be running
and when the CUPS request finishes the waitForFinish() event loop exits
continuing to do a change on the GUI which was closed but not deleted.

The application then crashes inside Qt because we tried to set something
on a widget that was not visible or so.

Since waitForFinish() is not very cool and must be avoided in this case
so we connect all the affected requests to a slot that checks if the
request fails, and then requests the an UI update to use the values
from the model.

M  +2    -0    printer-manager-kcm/PrintKCM.cpp
M  +36   -51   printer-manager-kcm/PrinterDescription.cpp
M  +6    -0    printer-manager-kcm/PrinterDescription.h

http://commits.kde.org/print-manager/62ae974c2aa4842c6dc46cd6c154ae06b5487c24