Application: kturtle (0.8.1 beta) KDE Platform Version: 4.5.3 (KDE 4.5.3) Qt Version: 4.7.0 Operating System: Linux 2.6.35-23-generic x86_64 Distribution: Ubuntu 10.10 -- Information about the crash: When trying to run the following program, kturtle crashes: $x = () I don't think, kturtle supports tuples at all. In any case, it shouldn't crash. The crash can be reproduced every time. -- Backtrace: Application: KTurtle (kturtle), signal: Segmentation fault [Current thread is 1 (Thread 0x7f708466e760 (LWP 3847))] Thread 2 (Thread 0x7f707c2cd700 (LWP 3848)): #0 0x00007fffc69ff904 in clock_gettime () #1 0x0000003506c040bf in clock_gettime (clock_id=1, tp=0x7f707c2ccae0) at ../sysdeps/unix/clock_gettime.c:100 #2 0x0000003504aca94f in do_gettime () at tools/qelapsedtimer_unix.cpp:105 #3 qt_gettime () at tools/qelapsedtimer_unix.cpp:119 #4 0x0000003504b971fd in QTimerInfoList::updateCurrentTime (this=0x1) at kernel/qeventdispatcher_unix.cpp:339 #5 0x0000003504b97225 in QTimerInfoList::timerWait (this=0x1, tm=...) at kernel/qeventdispatcher_unix.cpp:442 #6 0x0000003504b953dd in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x7f707c2ccc1c) at kernel/qeventdispatcher_glib.cpp:136 #7 0x0000003504b95485 in timerSourcePrepare (source=0x1, timeout=0x7f707c2ccae0) at kernel/qeventdispatcher_glib.cpp:169 #8 0x0000003507443a11 in g_main_context_prepare () from /lib/libglib-2.0.so.0 #9 0x0000003507443e78 in ?? () from /lib/libglib-2.0.so.0 #10 0x000000350744445c in g_main_context_iteration () from /lib/libglib-2.0.so.0 #11 0x0000003504b951e6 in QEventDispatcherGlib::processEvents (this=0x27f3aa0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417 #12 0x0000003504b67a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #13 0x0000003504b67dec in QEventLoop::exec (this=0x7f707c2ccdb0, flags=) at kernel/qeventloop.cpp:201 #14 0x0000003504a722fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490 #15 0x0000003504b475f8 in QInotifyFileSystemWatcherEngine::run (this=0x27f3000) at io/qfilesystemwatcher_inotify.cpp:248 #16 0x0000003504a7527e in QThreadPrivate::start (arg=0x27f3000) at thread/qthread_unix.cpp:266 #17 0x0000003506407971 in start_thread (arg=<value optimized out>) at pthread_create.c:304 #18 0x00000035058e692d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #19 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f708466e760 (LWP 3847)): [KCrash Handler] #6 QStyledItemDelegate::displayText (this=<value optimized out>, value=<value optimized out>, locale=<value optimized out>) at itemviews/qstyleditemdelegate.cpp:298 #7 0x00000035105bbdca in QStyledItemDelegate::initStyleOption (this=<value optimized out>, option=0x7fffc69bf6c0, index=...) at itemviews/qstyleditemdelegate.cpp:383 #8 0x00000035105bce58 in QStyledItemDelegate::sizeHint (this=0x2672cf0, option=..., index=...) at itemviews/qstyleditemdelegate.cpp:445 #9 0x000000351054c558 in QTreeView::indexRowSizeHint (this=<value optimized out>, index=<value optimized out>) at itemviews/qtreeview.cpp:2801 #10 0x000000351054c9ac in QTreeViewPrivate::itemHeight (this=0x266dd20, item=2) at itemviews/qtreeview.cpp:3229 #11 0x000000351054cc5f in QTreeViewPrivate::updateScrollBars (this=0x266dd20) at itemviews/qtreeview.cpp:3452 #12 0x000000351054d034 in QTreeView::updateGeometries (this=0x266dcf0) at itemviews/qtreeview.cpp:2686 #13 0x0000003510553599 in QTreeView::expandAll (this=0x266dcf0) at itemviews/qtreeview.cpp:2612 #14 0x0000000000420802 in Inspector::updateTree (this=0x24fce70, rootNode=<value optimized out>) at ../../../kturtle/src/inspector.cpp:243 #15 0x00000000004233ac in Inspector::qt_metacall (this=0x24fce70, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffc69bfdc0) at ./inspector.moc:87 #16 0x0000003504b80b27 in QMetaObject::activate (sender=0x2856660, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffc69bf728) at kernel/qobject.cpp:3280 #17 0x0000000000441970 in Interpreter::treeUpdated (this=0x7fffc69bf600, _t1=0x24dc1b0) at ./interpreter.moc:131 #18 0x0000000000441bb5 in Interpreter::interpret (this=0x2856660) at ../../../kturtle/src/interpreter/interpreter.cpp:90 #19 0x0000000000436ebd in MainWindow::qt_metacall (this=0x24948f0, _c=QMetaObject::InvokeMetaMethod, _id=38173050, _a=0x7fffc69bff60) at ./mainwindow.moc:215 #20 0x0000003504b80b27 in QMetaObject::activate (sender=0x29464a0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffc69bf728) at kernel/qobject.cpp:3280 #21 0x0000003504b7a8f9 in QObject::event (this=0x29464a0, e=0x7fffc69bf340) at kernel/qobject.cpp:1183 #22 0x000000350ffb7fdc in QApplicationPrivate::notify_helper (this=0x239a100, receiver=0x29464a0, e=0x7fffc69c06b0) at kernel/qapplication.cpp:4396 #23 0x000000350ffbdaed in QApplication::notify (this=0x7fffc69c0a50, receiver=0x29464a0, e=0x7fffc69c06b0) at kernel/qapplication.cpp:4277 #24 0x0000003511223526 in KApplication::notify (this=0x7fffc69c0a50, receiver=0x29464a0, event=0x7fffc69c06b0) at ../../kdeui/kernel/kapplication.cpp:310 #25 0x0000003504b68cdc in QCoreApplication::notifyInternal (this=0x7fffc69c0a50, receiver=0x29464a0, event=0x7fffc69c06b0) at kernel/qcoreapplication.cpp:732 #26 0x0000003504b986f2 in sendEvent (this=0x239de50) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #27 QTimerInfoList::activateTimers (this=0x239de50) at kernel/qeventdispatcher_unix.cpp:602 #28 0x0000003504b954a4 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184 #29 0x0000003507440342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #30 0x00000035074442a8 in ?? () from /lib/libglib-2.0.so.0 #31 0x000000350744445c in g_main_context_iteration () from /lib/libglib-2.0.so.0 #32 0x0000003504b95193 in QEventDispatcherGlib::processEvents (this=0x2380e60, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415 #33 0x000000351006aa4e in QGuiEventDispatcherGlib::processEvents (this=0x7fffc69bf600, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #34 0x0000003504b67a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #35 0x0000003504b67dec in QEventLoop::exec (this=0x7fffc69c0950, flags=) at kernel/qeventloop.cpp:201 #36 0x0000003504b6bebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009 #37 0x000000000042b29d in main (argc=<value optimized out>, argv=<value optimized out>) at ../../../kturtle/src/main.cpp:84 Reported using DrKonqi
Confirmed, KTurle indeed crashes. Thanks for the bug report. And no, KTurtle doesn't support tuples.
SVN commit 1202938 by nielsslot: Make KTurtle not crash on '$x = ()'. Combined with the previous commit it will now display an error message telling the user he or she is not allowed to use a ')' there. BUG: 258604 M +1 -0 parser.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1202938