Bug 316408

Summary: Plasmate crash when trying to create new theme
Product: [Plasma] Plasma SDK Reporter: asmerm <asmerovski>
Component: GeneralAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: adaptee, antonis.tsiapaliokas, giorgos.tsiapaliokas
Priority: VHI    
Version: 1.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 1.0.1
Sentry Crash Report:

Description asmerm 2013-03-09 11:03:08 UTC
Give a name,  enter email, create. It crashes.

Reproducible: Always

Steps to Reproduce:
1. Start plasmate
2. Select to create new theme
3. Proceed.
It crashes.
Actual Results:  
Crash

Expected Results:  
It should display theme creator window.
Comment 1 Giorgos Tsiapaliokas 2013-03-09 11:17:24 UTC
can you give us a backtrace?
Comment 2 asmerm 2013-03-09 11:22:07 UTC
Backtrace:

Application: Plasmate (plasmate), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f637c7cf780 (LWP 12875))]

Thread 2 (Thread 0x7f6360a2d700 (LWP 12876)):
#0  0x00007f6378d48f69 in pthread_mutex_lock () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f6370d45e21 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f6370d086eb in g_main_context_query () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6370d08cf9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f6370d08ea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f6376c89c46 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007f6376c5a2ef in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007f6376c5a578 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007f6376b5bb40 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007f6376c3a9df in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#10 0x00007f6376b5eb1c in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#11 0x00007f6378d46e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#12 0x00007f6376299cbd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#13 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f637c7cf780 (LWP 12875)):
[KCrash Handler]
#5  0x000000000046bae2 in ?? ()
#6  0x000000000044b459 in ?? ()
#7  0x0000000000425bad in _start ()
Comment 3 Antonis Tsiapaliokas 2013-03-09 11:48:21 UTC
Hello,

This backtrace is not complete. Can you provide us a complete one?

For more details here

http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports#Kubuntu
Comment 4 asmerm 2013-03-09 12:51:39 UTC
Seems like automatic installation of debugging packages does not work... That is another bug.
Will install kdelibs5-dbg and report.
Comment 5 asmerm 2013-03-09 13:18:16 UTC
Installed kdelibs5-dbg and here is the backtrace:

Application: Plasmate (plasmate), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f8fa78a6780 (LWP 18302))]

Thread 2 (Thread 0x7f8f8b8ae700 (LWP 18303)):
#0  0x00007fff9cfff827 in clock_gettime ()
#1  0x00007f8f9b11415d in __GI_clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:116
#2  0x00007f8fa1c8b9f4 in do_gettime (frac=0x7f8f8b8adb28, sec=0x7f8f8b8adb20) at tools/qelapsedtimer_unix.cpp:123
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#4  0x00007f8fa1d6144d in QTimerInfoList::updateCurrentTime (this=this@entry=0x7f8f84002860) at kernel/qeventdispatcher_unix.cpp:343
#5  0x00007f8fa1d61793 in QTimerInfoList::timerWait (this=0x7f8f84002860, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#6  0x00007f8fa1d602fc in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7f8f8b8adc14) at kernel/qeventdispatcher_glib.cpp:136
#7  0x00007f8fa1d603a5 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#8  0x00007f8f9bddf618 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007f8f9bddfcab in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007f8f9bddfea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007f8fa1d60c46 in QEventDispatcherGlib::processEvents (this=0x7f8f840008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#12 0x00007f8fa1d312ef in QEventLoop::processEvents (this=this@entry=0x7f8f8b8addd0, flags=...) at kernel/qeventloop.cpp:149
#13 0x00007f8fa1d31578 in QEventLoop::exec (this=0x7f8f8b8addd0, flags=...) at kernel/qeventloop.cpp:204
#14 0x00007f8fa1c32b40 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#15 0x00007f8fa1d119df in QInotifyFileSystemWatcherEngine::run (this=0x113fda0) at io/qfilesystemwatcher_inotify.cpp:248
#16 0x00007f8fa1c35b1c in QThreadPrivate::start (arg=0x113fda0) at thread/qthread_unix.cpp:338
#17 0x00007f8fa3e1de9a in start_thread (arg=0x7f8f8b8ae700) at pthread_create.c:308
#18 0x00007f8fa1370cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#19 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f8fa78a6780 (LWP 18302)):
[KCrash Handler]
#6  0x000000000046bae2 in ?? ()
#7  0x000000000044b459 in ?? ()
#8  0x0000000000425bad in _start ()
Comment 6 Antonis Tsiapaliokas 2013-03-09 13:24:15 UTC
Hello,

You need the plasmate debug packages. kde-workspace and kdelibs debug packages won't help, because i don't think that this is a library issue.
Comment 7 Jekyll Wu 2013-03-09 13:52:49 UTC
[New Thread 0xaee8db40 (LWP 32240)]

Program received signal SIGSEGV, Segmentation fault.
0x080b0744 in KonsolePreviewer::clearOutput (this=0x0)
    at /tmp/portage/dev-util/plasmate-9999/work/plasmate-9999/plasmate/konsole/konsolepreviewer.cpp:69
69      /tmp/portage/dev-util/plasmate-9999/work/plasmate-9999/plasmate/konsole/konsolepreviewer.cpp: 没有那个文件或目录.

 gdb$ bt
#0  0x080b0744 in KonsolePreviewer::clearOutput (this=0x0)
    at /tmp/portage/dev-util/plasmate-9999/work/plasmate-9999/plasmate/konsole/konsolepreviewer.cpp:69
#1  0x080905b4 in MainWindow::loadProject (this=0x81f48a0, path=...)
    at /tmp/portage/dev-util/plasmate-9999/work/plasmate-9999/plasmate/mainwindow.cpp:860
#2  0x0806aa57 in qt_static_metacall (_a=0xbfffcfc8, _id=3, _o=0x81f48a0, _c=<optimized out>)
    at /tmp/portage/dev-util/plasmate-9999/work/plasmate-9999_build/plasmate/moc_mainwindow.cpp:96
#3  MainWindow::qt_static_metacall (_o=0x81f48a0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0xbfffcfc8)
    at /tmp/portage/dev-util/plasmate-9999/work/plasmate-9999_build/plasmate/moc_mainwindow.cpp:87
#4  0xb49f6bce in QMetaObject::activate (sender=0x8247588, m=0x80b3f88 <StartPage::staticMetaObject>, local_signal_index=0, 
    argv=0xbfffcfc8) at kernel/qobject.cpp:3539
#5  0x08069c77 in StartPage::projectSelected (this=0x8247588, _t1=...)
    at /tmp/portage/dev-util/plasmate-9999/work/plasmate-9999_build/plasmate/moc_startpage.cpp:133
#6  0x08095304 in StartPage::createNewProject (this=0x8247588)
    at /tmp/portage/dev-util/plasmate-9999/work/plasmate-9999/plasmate/startpage.cpp:551
#7  0xb49f6bce in QMetaObject::activate (sender=0x82d72a0, m=0xb58ca988 <QAbstractButton::staticMetaObject>, 
    local_signal_index=2, argv=0xbfffd1c8) at kernel/qobject.cpp:3539
#8  0xb5688d2d in QAbstractButton::clicked (this=0x82d72a0, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:220
#9  0xb537d33d in QAbstractButtonPrivate::emitClicked (this=0x82da598) at widgets/qabstractbutton.cpp:548
#10 0xb537e9df in QAbstractButtonPrivate::click (this=0x82da598) at widgets/qabstractbutton.cpp:541
#11 0xb537ec96 in QAbstractButton::mouseReleaseEvent (this=0x82d72a0, e=0xbfffd958) at widgets/qabstractbutton.cpp:1123
#12 0xb4fd4ac5 in QWidget::event (this=0x82d72a0, event=0xbfffd958) at kernel/qwidget.cpp:8375
#13 0xb537df19 in QAbstractButton::event (this=0x82d72a0, e=0xbfffd958) at widgets/qabstractbutton.cpp:1082
#14 0xb5422a98 in QPushButton::event (this=0x82d72a0, e=0xbfffd958) at widgets/qpushbutton.cpp:683
#15 0xb4f77e24 in notify_helper (e=0xbfffd958, receiver=0x82d72a0, this=0x80f2cd0) at kernel/qapplication.cpp:4562
#16 QApplicationPrivate::notify_helper (this=0x80f2cd0, receiver=0x82d72a0, e=0xbfffd958) at kernel/qapplication.cpp:4534
#17 0xb4f7e968 in QApplication::notify (this=0x80f2cd0, receiver=0x82d72a0, e=0xbfffd958) at kernel/qapplication.cpp:4105
#18 0xb7d54d21 in KApplication::notify (this=0xbfffe0f4, receiver=0x82d72a0, event=0xbfffd958)
    at /mnt/personal/build/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kapplication.cpp:311
#19 0xb49dfd9e in QCoreApplication::notifyInternal (this=0xbfffe0f4, receiver=0x82d72a0, event=0xbfffd958)
    at kernel/qcoreapplication.cpp:946
#20 0xb4f78e25 in sendEvent (event=<optimized out>, receiver=<optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#21 QApplicationPrivate::sendMouseEvent (receiver=0x82d72a0, event=0xbfffd958, alienWidget=0x82d72a0, nativeWidget=0x82275f8, 
    buttonDown=0xb58d3c94 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3173
#22 0xb5000df7 in QETWidget::translateMouseEvent (this=0x82275f8, event=0xbfffdd30) at kernel/qapplication_x11.cpp:4516
#23 0xb4fff996 in QApplication::x11ProcessEvent (this=0xbfffe0f4, event=0xbfffdd30) at kernel/qapplication_x11.cpp:3639
#24 0xb502abfc in x11EventSourceDispatch (s=0x80f21d8, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#25 0xb3204793 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#26 0xb3204b40 in ?? () from /usr/lib/libglib-2.0.so.0
#27 0xb3204c21 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#28 0xb4a118af in QEventDispatcherGlib::processEvents (this=0x80d0f10, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#29 0xb502a81a in QGuiEventDispatcherGlib::processEvents (this=0x80d0f10, flags=...)
    at kernel/qguieventdispatcher_glib.cpp:204
#30 0xb49de88c in QEventLoop::processEvents (this=this@entry=0xbfffe028, flags=...) at kernel/qeventloop.cpp:149
#31 0xb49deb89 in QEventLoop::exec (this=0xbfffe028, flags=...) at kernel/qeventloop.cpp:204
#32 0xb49e3d8a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#33 0xb4f754e4 in QApplication::exec () at kernel/qapplication.cpp:3823
#34 0x08068137 in main (argc=1, argv=0xbfffe1c4)
    at /tmp/portage/dev-util/plasmate-9999/work/plasmate-9999/plasmate/main.cpp:56
Comment 8 asmerm 2013-03-09 14:03:57 UTC
Sorry but there are no plasmate debug packages in kubuntu repository. I cnnot provide detailed backtrace.
Comment 9 Giorgos Tsiapaliokas 2013-03-10 07:54:48 UTC
Jekyll Wu has provided a valid backtrace and I was able to reproduce it.
So we are ok :)
Comment 10 Giorgos Tsiapaliokas 2013-03-20 16:06:05 UTC
Git commit bfac94eafa6f7b471c737fcc184719237455cc78 by Giorgos Tsiapaliokas.
Committed on 11/03/2013 at 14:19.
Pushed by tsiapaliwkas into branch 'terietor/BUG/316408'.

Move the konsoleWidget specific stuff into createKonsolePreviewerFor
REVIEW: 109502

M  +3    -2    plasmate/mainwindow.cpp

http://commits.kde.org/plasmate/bfac94eafa6f7b471c737fcc184719237455cc78