Bug 232361 - [patch] Picture Frame crashes when the Picture is deleted
Summary: [patch] Picture Frame crashes when the Picture is deleted
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Unmaintained
Component: widget-frame (other bugs)
Version First Reported In: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Anne-Marie Mahfouf
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-27 16:30 UTC by Etienne
Modified: 2010-04-17 15:59 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
The Picture Class dosn't return NULL-QImages (2.62 KB, patch)
2010-03-27 16:36 UTC, Etienne
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Etienne 2010-03-27 16:30:11 UTC
Application: plasmoidviewer (1.0)
KDE Platform Version: 4.4.1 (KDE 4.4.1) (Compiled from sources)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
I use the latest picture frame from trunk that uses the QImage class.

- Open a picture frame and add an image.
- Remove/rename the image.
- restart the plasmoidviewer/plasma
- with an url the viewer crashes and with a local image you get an endless loop.

Since i'm playing with the picture frame myself, i could fix that issue.

The crash can be reproduced every time.

 -- Backtrace:
Application: Plasma-Miniprogramm-Anzeige (plasmoidviewer), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f3e9eeb2780 (LWP 15495))]

Thread 3 (Thread 0x7f3e9262b710 (LWP 15496)):
#0  0x00007f3ea77d03e9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f3eaa3c8082 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f3eaa3bd559 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f3eaa3c7155 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f3ea77cb81a in start_thread () from /lib/libpthread.so.0
#5  0x00007f3ea913cc7d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f3e91e2a710 (LWP 15497)):
#0  0x00007f3ea77d03e9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f3eaa3c8082 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f3eaa3bd559 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f3eaa3c7155 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f3ea77cb81a in start_thread () from /lib/libpthread.so.0
#5  0x00007f3ea913cc7d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f3e9eeb2780 (LWP 15495)):
[KCrash Handler]
#5  0x00007f3ea7169447 in KIO::StoredTransferJob::data() const () from /usr/lib/libkio.so.5
#6  0x00007f3e92f419d9 in Picture::slotFinished (this=0x202c960, job=0x220fec0) at /home/etienne/Programming/KDE/kdeplasma-addons/applets/frame/picture.cpp:130
#7  0x00007f3e92f41f26 in Picture::qt_metacall (this=0x202c960, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fff084326c0)
    at /home/etienne/Programming/KDE/kdeplasma-addons/build/applets/frame/picture.moc:78
#8  0x00007f3eaa4ce4df in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#9  0x00007f3eaa8c877f in KJob::finished(KJob*) () from /usr/lib/libkdecore.so.5
#10 0x00007f3eaa8c88b5 in KJob::emitResult() () from /usr/lib/libkdecore.so.5
#11 0x00007f3ea7171363 in KIO::SimpleJob::slotFinished() () from /usr/lib/libkio.so.5
#12 0x00007f3ea7171d27 in KIO::TransferJob::slotFinished() () from /usr/lib/libkio.so.5
#13 0x00007f3ea716f951 in KIO::TransferJob::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5
#14 0x00007f3ea716fc00 in KIO::StoredTransferJob::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5
#15 0x00007f3eaa4ce4df in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#16 0x00007f3ea7231071 in KIO::SlaveInterface::dispatch(int, QByteArray const&) () from /usr/lib/libkio.so.5
#17 0x00007f3ea722e3e3 in KIO::SlaveInterface::dispatch() () from /usr/lib/libkio.so.5
#18 0x00007f3ea7222856 in KIO::Slave::gotInput() () from /usr/lib/libkio.so.5
#19 0x00007f3ea7222a3c in KIO::Slave::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5
#20 0x00007f3eaa4ce4df in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#21 0x00007f3ea7140867 in KIO::ConnectionPrivate::dequeue() () from /usr/lib/libkio.so.5
#22 0x00007f3ea714098d in KIO::Connection::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5
#23 0x00007f3eaa4cb419 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#24 0x00007f3ea987f5ec in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#25 0x00007f3ea9885bdb in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#26 0x00007f3eab364d36 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#27 0x00007f3eaa4bb79c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#28 0x00007f3eaa4bdf17 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#29 0x00007f3eaa4e50d3 in ?? () from /usr/lib/libQtCore.so.4
#30 0x00007f3ea35982be in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#31 0x00007f3ea359bc78 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#32 0x00007f3ea359bda0 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#33 0x00007f3eaa4e4c13 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#34 0x00007f3ea992dd6e in ?? () from /usr/lib/libQtGui.so.4
#35 0x00007f3eaa4ba0c2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#36 0x00007f3eaa4ba49c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#37 0x00007f3eaa4be1db in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#38 0x000000000040996b in _start ()

Possible duplicates by query: bug 222584.

Reported using DrKonqi
Comment 1 Etienne 2010-03-27 16:36:06 UTC
Created attachment 42293 [details]
The Picture Class dosn't return NULL-QImages

created in /trunk/KDE/kdeplasma-addons/applets/frame/
Comment 2 Etienne 2010-04-17 15:59:28 UTC
SVN commit 1115792 by erebetez:

BUG: 232361 
Picture class checks if the loaded image is not null before it emits pictureLoaded.

 M  +16 -10    picture.cpp  
 M  +1 -0      picture.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1115792