Bug 314428

Summary: Crash attempting to modify a printer
Product: [Frameworks and Libraries] print-manager Reporter: Stephen Gallagher <sgallagh>
Component: generalAssignee: Daniel Nicoletti <dantti12>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 4.10.2

Description Stephen Gallagher 2013-02-04 16:33:15 UTC
Application: kcmshell4 ()
KDE Platform Version: 4.10.00
Qt Version: 4.8.4
Operating System: Linux 3.7.4-204.fc18.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
- What I was doing when the application crashed:
I had unchecked the "reject print jobs" checkbox and clicked on "ok"

- Unusual behavior I noticed:
I was continuously being prompted for the root password, which I gave correctly. The prompt box kept reappearing with a note that I had entered the username or password incorrectly. (I tried this with both root and a user in the wheel group). Finally I gave up and clicked the "ok" button between promptings, which caused this crash.

-- Backtrace:
Application: KDE Control Module (kcmshell4), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f2cb0f41880 (LWP 13438))]

Thread 2 (Thread 0x7f2ca5887700 (LWP 13456)):
#0  0x0000003d266e998d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003d29a47d24 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f2ca00042e0, timeout=2730433, context=0x7f2ca00009a0) at gmain.c:3584
#2  g_main_context_iterate (context=context@entry=0x7f2ca00009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3285
#3  0x0000003d29a47e44 in g_main_context_iteration (context=0x7f2ca00009a0, may_block=1) at gmain.c:3351
#4  0x0000003d303a60f6 in QEventDispatcherGlib::processEvents (this=0x7f2ca00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x0000003d303767df in QEventLoop::processEvents (this=this@entry=0x7f2ca5886cc0, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003d30376a68 in QEventLoop::exec (this=0x7f2ca5886cc0, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003d30278950 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#8  0x00007f2ca5aa22d5 in KCupsConnection::run (this=0x1358660) at /usr/src/debug/print-manager-4.10.0/libkcups/KCupsConnection.cpp:310
#9  0x0000003d3027b92c in QThreadPrivate::start (arg=0x1358660) at thread/qthread_unix.cpp:338
#10 0x0000003d26e07d15 in start_thread (arg=0x7f2ca5887700) at pthread_create.c:308
#11 0x0000003d266f246d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 1 (Thread 0x7f2cb0f41880 (LWP 13438)):
[KCrash Handler]
#6  0x00007f2ca5cef7db in PrinterDescription::setAcceptingJobs (this=0x1339f50, accepting=<optimized out>) at /usr/src/debug/print-manager-4.10.0/printer-manager-kcm/PrinterDescription.cpp:181
#7  0x00007f2ca5cef886 in PrinterDescription::on_rejectPrintJobsCB_clicked (this=0x1339f50) at /usr/src/debug/print-manager-4.10.0/printer-manager-kcm/PrinterDescription.cpp:123
#8  0x00007f2ca5ce9f6b in PrinterDescription::qt_metacall (this=0x1339f50, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff782b5ef0) at /usr/src/debug/print-manager-4.10.0/x86_64-redhat-linux-gnu/printer-manager-kcm/moc_PrinterDescription.cpp:111
#9  0x0000003d3038d083 in QMetaObject::activate (sender=0x133cd00, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff782b5ef0) at kernel/qobject.cpp:3558
#10 0x0000003d34e2f012 in QAbstractButton::clicked (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:219
#11 0x0000003d34b83c8e in QAbstractButtonPrivate::emitClicked (this=this@entry=0x133ce50) at widgets/qabstractbutton.cpp:548
#12 0x0000003d34b84290 in QAbstractButtonPrivate::click (this=this@entry=0x133ce50) at widgets/qabstractbutton.cpp:541
#13 0x0000003d34b844fc in QAbstractButton::mouseReleaseEvent (this=0x133cd00, e=0x7fff782b6790) at widgets/qabstractbutton.cpp:1123
#14 0x0000003d34819f49 in QWidget::event (this=0x133cd00, event=0x7fff782b6790) at kernel/qwidget.cpp:8375
#15 0x0000003d347ca5cc in QApplicationPrivate::notify_helper (this=0x105eda0, receiver=0x133cd00, e=0x7fff782b6790) at kernel/qapplication.cpp:4562
#16 0x0000003d347cf2ab in QApplication::notify (this=<optimized out>, receiver=0x133cd00, e=0x7fff782b6790) at kernel/qapplication.cpp:4105
#17 0x00000038db246f26 in KApplication::notify (this=0x7fff782b75a0, receiver=0x133cd00, event=0x7fff782b6790) at /usr/src/debug/kdelibs-4.10.0/kdeui/kernel/kapplication.cpp:311
#18 0x0000003d30377a8e in QCoreApplication::notifyInternal (this=0x7fff782b75a0, receiver=0x133cd00, event=0x7fff782b6790) at kernel/qcoreapplication.cpp:946
#19 0x0000003d347cb40b in QApplicationPrivate::sendMouseEvent (receiver=0x133cd00, event=0x7fff782b6790, alienWidget=0x133cd00, nativeWidget=0x1214400, buttonDown=0x3d3529e268 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:231
#20 0x0000003d34845b74 in QETWidget::translateMouseEvent (this=0x1214400, event=<optimized out>) at kernel/qapplication_x11.cpp:4537
#21 0x0000003d34844901 in QApplication::x11ProcessEvent (this=0x7fff782b75a0, event=0x7fff782b6f00) at kernel/qapplication_x11.cpp:3660
#22 0x0000003d3486aa5c in x11EventSourceDispatch (s=s@entry=0x1059500, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#23 0x0000003d29a47a55 in g_main_dispatch (context=0x105eba0) at gmain.c:2715
#24 g_main_context_dispatch (context=context@entry=0x105eba0) at gmain.c:3219
#25 0x0000003d29a47d88 in g_main_context_iterate (context=context@entry=0x105eba0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3290
#26 0x0000003d29a47e44 in g_main_context_iteration (context=0x105eba0, may_block=1) at gmain.c:3351
#27 0x0000003d303a60d6 in QEventDispatcherGlib::processEvents (this=0x1031790, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#28 0x0000003d3486a73e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#29 0x0000003d303767df in QEventLoop::processEvents (this=this@entry=0x7fff782b72e0, flags=...) at kernel/qeventloop.cpp:149
#30 0x0000003d30376a68 in QEventLoop::exec (this=0x7fff782b72e0, flags=...) at kernel/qeventloop.cpp:204
#31 0x0000003d34c7e3f8 in QDialog::exec (this=0x12224b0) at dialogs/qdialog.cpp:554
#32 0x00000038db807cec in kdemain (_argc=17072192, _argv=<optimized out>) at /usr/src/debug/kde-runtime-4.10.0/kcmshell/main.cpp:296
#33 0x0000003d26621a05 in __libc_start_main (main=0x400790 <main(int, char**)>, argc=2, ubp_av=0x7fff782b76d8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff782b76c8) at libc-start.c:225
#34 0x00000000004007c1 in _start ()

Reported using DrKonqi
Comment 1 Daniel Nicoletti 2013-02-04 19:20:14 UTC
can you reproduce it every time?
Is it a fresh/default install?
Comment 2 Stephen Gallagher 2013-02-04 21:12:08 UTC
I only got it to crash once more, with lots of clicking.

This is more or less a default install: it's Fedora 18, fully updated as of this morning plus the contents of the kde-unstable repository.
Comment 3 Daniel Nicoletti 2013-02-18 02:45:38 UTC
Ok, the crash is because you used kcmshell4 which allowed you to close it easly,
I can fix the crash, the password loop is what I'm unsure about...
Can you compile print-manager from master or KDE4.10 branch?
Thanks
Comment 4 Daniel Nicoletti 2013-03-20 15:47:33 UTC
Git commit 08a74431ee04cb21e1fb87f3715cd5874d65c82d by Daniel Nicoletti.
Committed on 20/03/2013 at 16:46.
Pushed by dantti into branch 'KDE/4.10'.

Make sure we don't crash if the application is closed before we process a CUPS request

M  +13   -12   add-printer/AddPrinterInterface.cpp
M  +14   -13   add-printer/PageAddPrinter.cpp
M  +6    -1    configure-printer/ConfigureDialog.cpp
M  +4    -1    configure-printer/ConfigurePrinterInterface.cpp
M  +20   -19   configure-printer/ModifyPrinter.cpp
M  +10   -8    configure-printer/PrinterBehavior.cpp
M  +31   -23   configure-printer/PrinterOptions.cpp
M  +11   -3    print-manager-kded/NewPrinterNotification.cpp
M  +4    -2    printer-manager-kcm/PrintKCM.cpp
M  +27   -15   printer-manager-kcm/PrinterDescription.cpp
M  +4    -1    printqueue/PrintQueueInterface.cpp
M  +15   -12   printqueue/PrintQueueModel.cpp
M  +8    -3    printqueue/PrintQueueUi.cpp

http://commits.kde.org/print-manager/08a74431ee04cb21e1fb87f3715cd5874d65c82d
Comment 5 Daniel Nicoletti 2013-03-20 15:48:59 UTC
Regarding the auth issue, please make sure you are in the lpadmin group, and use the kde 4.10 version.
Comment 6 Stephen Gallagher 2013-03-21 12:29:40 UTC
What package is supposed to have created the lpadmin group on the system? It does not exist in my Fedora 18 install.