Bug 159868 - Printing crashes on click on Properties (QList<T>::at: \"index out of range\")
Summary: Printing crashes on click on Properties (QList<T>::at: \"index out of range\")
Status: RESOLVED UPSTREAM
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: qt (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-03-26 01:22 UTC by Oliver Putz
Modified: 2008-12-13 16:24 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Valgrind log for bug #159868 (33.95 KB, text/plain)
2008-03-26 01:37 UTC, Oliver Putz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Oliver Putz 2008-03-26 01:22:43 UTC
Version:            (using Devel)
Installed from:    Compiled sources
Compiler:          gcc version 4.1.2 20070214 
OS:                Linux

Steps to reproduce:

1) open any program that has printing capabilites (e.g. kwrite)
2) Fire print Dialog (CTRL+P)
3) Select printer and click on "Properties"
4) See the printing Dialog (kdelibs r790019 kdebase r790102) crash with the attached backtrace

Note 1: If I select print to file, the properties dialog works fine.
Note 2: Selecting print to file -> Opening and closing the properties dialog, and selecting a printer crashes the program with a similar backtrace.

Application: KWrite (kwrite), signal SIGABRT
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb634a6d0 (LWP 26091)]
[New Thread 0xb3cb5b90 (LWP 26096)]
[New Thread 0xb44b6b90 (LWP 26095)]
[KCrash handler]
#6  0xffffe410 in __kernel_vsyscall ()
#7  0xb659b1f1 in *__GI_raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#8  0xb659c9b8 in *__GI_abort () at abort.c:88
#9  0xb722aa45 in qt_message_output (msgType=QtFatalMsg, 
    buf=0xbfd6815c "ASSERT failure in QList<T>::at: \"index out of range\", file ../../include/QtCore/../../src/corelib/tools/qlist.h, line 393")
    at global/qglobal.cpp:2047
#10 0xb722ab0a in qFatal (
    msg=0xb7382f9c "ASSERT failure in %s: \"%s\", file %s, line %d")
    at global/qglobal.cpp:2249
#11 0xb722ab5c in qt_assert_x (where=0xb6f4d807 "QList<T>::at", 
    what=0xb6f4d7f4 "index out of range", 
    file=0xb6f4d590 "../../include/QtCore/../../src/corelib/tools/qlist.h", 
    line=393) at global/qglobal.cpp:1829
#12 0xb6d90cac in QPPDOptionsModel::index (this=0x838ea68, row=1, column=0, 
    parent=@0xbfd6a298)
    at ../../include/QtCore/../../src/corelib/tools/qlist.h:393
#13 0xb6e57fad in QTreeViewPrivate::reexpandChildren (this=0x83b14f8, 
    parent=@0xbfd6a298) at itemviews/qtreeview.cpp:3296
#14 0xb6e57d15 in QTreeViewPrivate::expand (this=0x83b14f8, item=4, 
    emitSignal=true) at itemviews/qtreeview.cpp:2757
#15 0xb6e59406 in QTreeView::expand (this=0x83b14d8, index=@0xbfd6a36c)
    at itemviews/qtreeview.cpp:749
#16 0xb6d9076a in QPrintPropertiesDialog::selectPrinter (this=0x839cf90)
    at dialogs/qprintdialog_unix.cpp:316
#17 0xb6d9408d in QUnixPrintWidgetPrivate::_q_printerChanged (this=0x8350440, 
    index=1) at dialogs/qprintdialog_unix.cpp:726
#18 0xb6d94580 in QUnixPrintWidget::qt_metacall (this=0x834e768, 
    _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfd6a50c)
    at .moc/debug-shared/moc_qprintdialog.cpp:68
#19 0xb73402c8 in QMetaObject::activate (sender=0x83508a0, 
    from_signal_index=<value optimized out>, to_signal_index=32, 
    argv=<value optimized out>) at kernel/qobject.cpp:2995
#20 0xb7340a44 in QMetaObject::activate (sender=0x83508a0, m=0xb71038b4, 
    local_signal_index=5, argv=0xbfd6a50c) at kernel/qobject.cpp:3065
#21 0xb6c88b84 in QComboBox::currentIndexChanged (this=0x83508a0, _t1=1)
    at .moc/debug-shared/moc_qcombobox.cpp:278
#22 0xb6c8ae94 in QComboBoxPrivate::_q_emitCurrentIndexChanged (
    this=0x8351128, index=@0x8386bd0) at widgets/qcombobox.cpp:1204
#23 0xb6c8ca62 in QComboBox::setCurrentIndex (this=0x83508a0, index=1)
    at widgets/qcombobox.cpp:1895
#24 0xb6c8d67e in QComboBoxPrivate::_q_itemSelected (this=0x8351128, 
    item=@0xbfd6a7b0) at widgets/qcombobox.cpp:1173
#25 0xb6c9335a in QComboBox::qt_metacall (this=0x83508a0, 
    _c=QMetaObject::InvokeMetaMethod, _id=39, _a=0xbfd6a6fc)
    at .moc/debug-shared/moc_qcombobox.cpp:168
#26 0xb73402c8 in QMetaObject::activate (sender=0x83926f0, 
    from_signal_index=<value optimized out>, to_signal_index=27, 
    argv=<value optimized out>) at kernel/qobject.cpp:2995
#27 0xb7340a44 in QMetaObject::activate (sender=0x83926f0, m=0xb7110294, 
    local_signal_index=0, argv=0xbfd6a6fc) at kernel/qobject.cpp:3065
#28 0xb6f43ee1 in QComboBoxPrivateContainer::itemSelected (this=0x83926f0, 
    _t1=@0xbfd6a7b0) at .moc/debug-shared/moc_qcombobox_p.cpp:193
#29 0xb6c8aca9 in QComboBoxPrivateContainer::eventFilter (this=0x83926f0, 
    o=0x80be6e0, e=0xbfd6ad78) at widgets/qcombobox.cpp:662
#30 0xb732a11c in QCoreApplicationPrivate::sendThroughObjectEventFilters (
    this=0x8057a68, receiver=0x80be6e0, event=0xbfd6ad78)
    at kernel/qcoreapplication.cpp:693
#31 0xb68eb6f6 in QApplicationPrivate::notify_helper (this=0x8057a68, 
    receiver=0x80be6e0, e=0xbfd6ad78) at kernel/qapplication.cpp:3731
#32 0xb68ed59b in QApplication::notify (this=0xbfd6cc08, receiver=0x80be6e0, 
    e=0xbfd6ad78) at kernel/qapplication.cpp:3464
#33 0xb79926c3 in KApplication::notify (this=0xbfd6cc08, receiver=0x80be6e0, 
    event=0xbfd6ad78)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kdeui/kernel/kapplication.cpp:311
#34 0xb7329cf7 in QCoreApplication::notifyInternal (this=0xbfd6cc08, 
    receiver=0x80be6e0, event=0xbfd6ad78) at kernel/qcoreapplication.cpp:586
#35 0xb68f1482 in QApplicationPrivate::sendMouseEvent (receiver=0x80be6e0, 
    event=0xbfd6ad78, alienWidget=0x80be6e0, nativeWidget=0x83926f0, 
    buttonDown=0xb7116c40, lastMouseReceiver=@0xb7116c44)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#36 0xb695ce3e in QETWidget::translateMouseEvent (this=0x83926f0, 
    event=0xbfd6b1e8) at kernel/qapplication_x11.cpp:4026
#37 0xb695b7ec in QApplication::x11ProcessEvent (this=0xbfd6cc08, 
    event=0xbfd6b1e8) at kernel/qapplication_x11.cpp:3092
#38 0xb6983c75 in QEventDispatcherX11::processEvents (this=0x8057ba8, 
    flags=@0xbfd6b2d4) at kernel/qeventdispatcher_x11.cpp:134
#39 0xb7328e61 in QEventLoop::processEvents (this=0xbfd6b34c, 
    flags=@0xbfd6b308) at kernel/qeventloop.cpp:146
#40 0xb7328f8f in QEventLoop::exec (this=0xbfd6b34c, flags=@0xbfd6b358)
    at kernel/qeventloop.cpp:197
#41 0xb6dadbd7 in QDialog::exec (this=0x834d8f0) at dialogs/qdialog.cpp:453
#42 0xb6d93920 in QPrintDialog::exec (this=0x834d8f0)
    at dialogs/qprintdialog_unix.cpp:573
#43 0xb4dfe79d in KatePrinter::print (doc=0x81151d0)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kate/utils/kateprinter.cpp:87
#44 0xb4d2106d in KateDocument::print (this=0x81151d0)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kate/document/katedocument.cpp:3325
#45 0xb4d3567b in KateDocument::qt_metacall (this=0x81151d0, 
    _c=QMetaObject::InvokeMetaMethod, _id=78, _a=0xbfd6babc)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs_build/kate/katedocument.moc:293
#46 0xb73402c8 in QMetaObject::activate (sender=0x81cbea0, 
    from_signal_index=<value optimized out>, to_signal_index=6, 
    argv=<value optimized out>) at kernel/qobject.cpp:2995
#47 0xb73407e2 in QMetaObject::activate (sender=0x81cbea0, m=0xb70ff9b8, 
    from_local_signal_index=1, to_local_signal_index=2, argv=0xbfd6babc)
    at kernel/qobject.cpp:3085
#48 0xb68e3f63 in QAction::triggered (this=0x81cbea0, _t1=false)
    at .moc/debug-shared/moc_qaction.cpp:216
#49 0xb68e495d in QAction::activate (this=0x81cbea0, event=QAction::Trigger)
    at kernel/qaction.cpp:1129
#50 0xb6d144f1 in QMenuPrivate::activateAction (this=0x8297480, 
    action=0x81cbea0, action_e=QAction::Trigger, self=true)
    at widgets/qmenu.cpp:1005
#51 0xb6d16aea in QMenu::mouseReleaseEvent (this=0x82a65c0, e=0xbfd6c368)
    at widgets/qmenu.cpp:2144
#52 0xb7a523f8 in KMenu::mouseReleaseEvent (this=0x82a65c0, e=0xbfd6c368)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kdeui/widgets/kmenu.cpp:408
#53 0xb6949ef3 in QWidget::event (this=0x82a65c0, event=0xbfd6c368)
    at kernel/qwidget.cpp:6850
#54 0xb6d11b2f in QMenu::event (this=0x82a65c0, e=0xbfd6c368)
    at widgets/qmenu.cpp:2240
#55 0xb68eb71f in QApplicationPrivate::notify_helper (this=0x8057a68, 
    receiver=0x82a65c0, e=0xbfd6c368) at kernel/qapplication.cpp:3735
#56 0xb68ed59b in QApplication::notify (this=0xbfd6cc08, receiver=0x82a65c0, 
    e=0xbfd6c368) at kernel/qapplication.cpp:3464
#57 0xb79926c3 in KApplication::notify (this=0xbfd6cc08, receiver=0x82a65c0, 
    event=0xbfd6c368)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kdeui/kernel/kapplication.cpp:311
#58 0xb7329cf7 in QCoreApplication::notifyInternal (this=0xbfd6cc08, 
    receiver=0x82a65c0, event=0xbfd6c368) at kernel/qcoreapplication.cpp:586
#59 0xb68f1482 in QApplicationPrivate::sendMouseEvent (receiver=0x82a65c0, 
    event=0xbfd6c368, alienWidget=0x0, nativeWidget=0x82a65c0, 
    buttonDown=0xb7116c40, lastMouseReceiver=@0xb7116c44)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#60 0xb695ce3e in QETWidget::translateMouseEvent (this=0x82a65c0, 
    event=0xbfd6c7d8) at kernel/qapplication_x11.cpp:4026
#61 0xb695b7ec in QApplication::x11ProcessEvent (this=0xbfd6cc08, 
    event=0xbfd6c7d8) at kernel/qapplication_x11.cpp:3092
#62 0xb6983c75 in QEventDispatcherX11::processEvents (this=0x8057ba8, 
    flags=@0xbfd6c8c4) at kernel/qeventdispatcher_x11.cpp:134
#63 0xb7328e61 in QEventLoop::processEvents (this=0xbfd6c930, 
    flags=@0xbfd6c8f8) at kernel/qeventloop.cpp:146
#64 0xb7328f8f in QEventLoop::exec (this=0xbfd6c930, flags=@0xbfd6c938)
    at kernel/qeventloop.cpp:197
#65 0xb732b476 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:838
#66 0xb68eae37 in QApplication::exec () at kernel/qapplication.cpp:3267
#67 0xb7f7dbd5 in kdemain (argc=1, argv=0xbfd6cfd4)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/apps/kwrite/kwritemain.cpp:786
#68 0x080487c2 in main (argc=)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase_build/apps/kwrite/kwrite_dummy.cpp:3
#69 0xb6587fdc in __libc_start_main (main=0x80487a0 <main>, argc=1, 
    ubp_av=0xbfd6cfd4, init=0x80487f0 <__libc_csu_init>, 
    fini=0x80487e0 <__libc_csu_fini>, rtld_fini=0xb7f94100 <_dl_fini>, 
    stack_end=0xbfd6cfcc) at libc-start.c:229
#70 0x08048711 in _start ()
#0  0xffffe410 in __kernel_vsyscall ()
Comment 1 Pino Toscano 2008-03-26 01:29:21 UTC
There is no kdeprint in KDE 4, yet.
Comment 2 Oliver Putz 2008-03-26 01:37:12 UTC
Created attachment 24053 [details]
Valgrind log for bug #159868

A valgrind log for this crash
Comment 3 David Faure 2008-03-26 10:36:24 UTC
This is an out-of-bounds access in QPPDOptionsModel, which is part of Qt
(src/gui/dialogs/qprintdialog_unix.cpp).
We need to make a testcase, test it with the latest Qt, and send it to Trolltech...
Comment 4 John Layt 2008-12-13 16:24:47 UTC
Works for me, and heard no other complaints, so assuming resolved upstream, unless you can provide sequence of actions to reproduce using latest Qt.