Bug 189992 - gwenview crashed after clicking "Save All" after having rotated and/or deleted several images
Summary: gwenview crashed after clicking "Save All" after having rotated and/or delete...
Status: RESOLVED FIXED
Alias: None
Product: gwenview
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Gwenview Bugs
URL:
Keywords:
: 192654 194957 195678 195842 196640 196751 198043 200092 200928 204393 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-04-18 19:54 UTC by Alex Merry
Modified: 2013-12-31 13:54 UTC (History)
12 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
what KDE provided after a gwenview crash (3.49 KB, application/octet-stream)
2009-05-09 19:21 UTC, ionutbanc
Details
rotate picture (3.89 MB, application/x-bzip)
2013-12-31 13:54 UTC, Uwe Eggert
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Merry 2009-04-18 19:54:45 UTC
Version:           r954046 (using Devel)
Compiler:          gcc version 4.3.3 (GCC) 
OS:                Linux
Installed from:    Compiled sources

I walked through the images in a directory using the next and previous buttons.  I changed the description of several (in the info tab), rotated several and deleted several (some using "Delete" and some using "Trash" from the Ops tab).  Some of the ones I deleted I had already rotated.  At the end, I clicked "Save All".  Gwenview crashed (SIGSEGV), but not before all the rotations had been applied.



Backtrace: 11 threads total, 10 in wait condition.

Thread 1 (Thread 0x7f6ec4fc5750 (LWP 28838)):
[KCrash Handler]
#5  0x00007f6ec3f437c3 in QByteArray::isEmpty (this=0x6d678b0) at ../../include/QtCore/../../../src/qt-copy/src/corelib/tools/qbytearray.h:396
#6  0x00007f6ec3ff18c6 in QUrlPrivate::parse (this=0x6d67870, parseOptions=QUrlPrivate::ParseAndSet) at /home/kde-devel/src/qt-copy/src/corelib/io/qurl.cpp:3584
#7  0x00007f6ec3ff6499 in QUrl::isValid (this=0x2bf23e8) at /home/kde-devel/src/qt-copy/src/corelib/io/qurl.cpp:3961
#8  0x00007f6ec48ca475 in Gwenview::SortedDirModel::indexForUrl (this=0x26f1fe0, url=@0x2bf23e8) at /home/kde-devel/src/KDE/kdegraphics/gwenview/lib/semanticinfo/sorteddirmodel.cpp:172
#9  0x00000000004446ea in Gwenview::MainWindow::generateThumbnailForUrl (this=0x26eec50, url=@0x2bf23e8) at /home/kde-devel/src/KDE/kdegraphics/gwenview/app/mainwindow.cpp:1165
#10 0x0000000000446faf in Gwenview::MainWindow::qt_metacall (this=0x26eec50, _c=QMetaObject::InvokeMetaMethod, _id=29, _a=0x7fffcd002420)
    at /home/kde-devel/build/KDE/kdegraphics/gwenview/app/mainwindow.moc:151
#11 0x00007f6ec4048384 in QMetaObject::activate (sender=0x7f6ec4b2e230, from_signal_index=5, to_signal_index=5, argv=0x7fffcd002420) at /home/kde-devel/src/qt-copy/src/corelib/kernel/qobject.cpp:3057
#12 0x00007f6ec4049769 in QMetaObject::activate (sender=0x7f6ec4b2e230, m=0x7f6ec4b25e80, local_signal_index=1, argv=0x7fffcd002420) at /home/kde-devel/src/qt-copy/src/corelib/kernel/qobject.cpp:3134
#13 0x00007f6ec48a5a8f in Gwenview::DocumentFactory::documentChanged (this=0x7f6ec4b2e230, _t1=@0x2bf23e8) at /home/kde-devel/build/KDE/kdegraphics/gwenview/lib/documentfactory.moc:97
#14 0x00007f6ec48a5b75 in Gwenview::DocumentFactory::slotSaved (this=0x7f6ec4b2e230, url=@0x2bf23e8) at /home/kde-devel/src/KDE/kdegraphics/gwenview/lib/document/documentfactory.cpp:200
#15 0x00007f6ec48a5caa in Gwenview::DocumentFactory::qt_metacall (this=0x7f6ec4b2e230, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fffcd0025d0)
    at /home/kde-devel/build/KDE/kdegraphics/gwenview/lib/documentfactory.moc:78
#16 0x00007f6ec4048384 in QMetaObject::activate (sender=0x2c74d70, from_signal_index=10, to_signal_index=10, argv=0x7fffcd0025d0) at /home/kde-devel/src/qt-copy/src/corelib/kernel/qobject.cpp:3057
#17 0x00007f6ec4049769 in QMetaObject::activate (sender=0x2c74d70, m=0x7f6ec4b25d80, local_signal_index=6, argv=0x7fffcd0025d0) at /home/kde-devel/src/qt-copy/src/corelib/kernel/qobject.cpp:3134
#18 0x00007f6ec48a43a1 in Gwenview::Document::saved (this=0x2c74d70, _t1=@0x2bf23e8) at /home/kde-devel/build/KDE/kdegraphics/gwenview/lib/document.moc:156
#19 0x00007f6ec48a43cf in Gwenview::Document::slotCleanChanged (this=0x2c74d70, clean=true) at /home/kde-devel/src/KDE/kdegraphics/gwenview/lib/document/document.cpp:392
#20 0x00007f6ec48a4883 in Gwenview::Document::qt_metacall (this=0x2c74d70, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0x2d27820)
    at /home/kde-devel/build/KDE/kdegraphics/gwenview/lib/document.moc:103
#21 0x00007f6ec4041bd3 in QMetaCallEvent::placeMetaCall (this=0x7272e30, object=0x2c74d70) at /home/kde-devel/src/qt-copy/src/corelib/kernel/qobject.cpp:489
#22 0x00007f6ec4046202 in QObject::event (this=0x2c74d70, e=0x7272e30) at /home/kde-devel/src/qt-copy/src/corelib/kernel/qobject.cpp:1106
#23 0x00007f6ec17a3fd1 in QApplicationPrivate::notify_helper (this=0x25099b0, receiver=0x2c74d70, e=0x7272e30) at /home/kde-devel/src/qt-copy/src/gui/kernel/qapplication.cpp:4084
#24 0x00007f6ec17a4388 in QApplication::notify (this=0x7fffcd003390, receiver=0x2c74d70, e=0x7272e30) at /home/kde-devel/src/qt-copy/src/gui/kernel/qapplication.cpp:3631
#25 0x00007f6ec2e4cc27 in KApplication::notify (this=0x7fffcd003390, receiver=0x2c74d70, event=0x7272e30) at /home/kde-devel/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:307
#26 0x00007f6ec403209b in QCoreApplication::notifyInternal (this=0x7fffcd003390, receiver=0x2c74d70, event=0x7272e30) at /home/kde-devel/src/qt-copy/src/corelib/kernel/qcoreapplication.cpp:598
#27 0x00007f6ec4035b5f in QCoreApplication::sendEvent (receiver=0x2c74d70, event=0x7272e30) at ../../include/QtCore/../../../src/qt-copy/src/corelib/kernel/qcoreapplication.h:213
#28 0x00007f6ec40325ed in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x24ca850) at /home/kde-devel/src/qt-copy/src/corelib/kernel/qcoreapplication.cpp:1236
#29 0x00007f6ec40327c4 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/kde-devel/src/qt-copy/src/corelib/kernel/qcoreapplication.cpp:1132
#30 0x00007f6ec40616e3 in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../../src/qt-copy/src/corelib/kernel/qcoreapplication.h:218
#31 0x00007f6ec4060924 in postEventSourceDispatch (s=0x250d4d0) at /home/kde-devel/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:209
#32 0x00007f6ebd4a301a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#33 0x00007f6ebd4a66e0 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#34 0x00007f6ebd4a687c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#35 0x00007f6ec405fc66 in QEventDispatcherGlib::processEvents (this=0x2509390, flags={i = -855625264}) at /home/kde-devel/src/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:323
#36 0x00007f6ec184b05b in QGuiEventDispatcherGlib::processEvents (this=0x2509390, flags={i = -855625168}) at /home/kde-devel/src/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:202
#37 0x00007f6ec402f31f in QEventLoop::processEvents (this=0x7fffcd0032f0, flags={i = -855625072}) at /home/kde-devel/src/qt-copy/src/corelib/kernel/qeventloop.cpp:149
#38 0x00007f6ec402f52c in QEventLoop::exec (this=0x7fffcd0032f0, flags={i = -855624960}) at /home/kde-devel/src/qt-copy/src/corelib/kernel/qeventloop.cpp:196
#39 0x00007f6ec40328e6 in QCoreApplication::exec () at /home/kde-devel/src/qt-copy/src/corelib/kernel/qcoreapplication.cpp:880
#40 0x00007f6ec17a3d2e in QApplication::exec () at /home/kde-devel/src/qt-copy/src/gui/kernel/qapplication.cpp:3553
#41 0x0000000000443c7f in main (argc=6, argv=0x7fffcd003708) at /home/kde-devel/src/KDE/kdegraphics/gwenview/app/main.cpp:95
Comment 1 ursinus 2009-05-04 23:38:48 UTC
I had similar problems. My feeling is that it has to do with batch processes. The bug appeared after saving of multiple rotated pictures and after resize of multiple pictures. The result is OK, the program however crashed at finishing of the job. After rotating of multiple pictures some 0 byte - 84 kB files appeared in the folder (eg. DSC06500.JPGFV4414.new)
Comment 2 ionutbanc 2009-05-09 19:21:11 UTC
Created attachment 33496 [details]
what KDE provided after a gwenview crash
Comment 3 ionutbanc 2009-05-09 19:21:41 UTC
Can confirm... 
I'll attach what the KDE crash info provided.
I guess gwenview stores rotated images in memory, and probably when it tries to deal with them a bit later, something gets corrupted in that image list stored in memory. Supposing it's a linked list, I guess it's a bad link that's created sometimes. I was also having multiple rotated and deleted images (rotate one, then decide to delete it). Sometimes it doesn't crash, and it doesn't seem to have any connection with the "please save, you modified too many" message, it can crash at any point.
Comment 4 Vinzenz Hersche 2009-05-25 13:01:10 UTC
could also confirm it.. but my backtrace doesn't look like yours:

Anwendung: Gwenview (gwenview), Signal SIGSEGV
0x00007f212224fd21 in nanosleep () from /lib/libc.so.6
[Current thread is 0 (LWP 11662)]

Thread 4 (Thread 0x7f211a84a950 (LWP 11663)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f2125240ce9 in QWaitCondition::wait (this=0xff77d0, mutex=0xff77c8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  0x00007f2125b6d235 in ?? () from /usr/lib/libgwenviewlib.so.4
#3  0x00007f212523fd02 in QThreadPrivate::start (arg=0xff77b0) at thread/qthread_unix.cpp:189
#4  0x00007f211f1663ba in start_thread (arg=<value optimized out>) at pthread_create.c:297
#5  0x00007f212228dfcd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f2116a7d950 (LWP 11664)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x00007f2125240cc7 in QWaitCondition::wait (this=0x1395308, mutex=0x1395300, time=30000) at thread/qwaitcondition_unix.cpp:85
#2  0x00007f2125236879 in QThreadPoolThread::run (this=0x1391ec0) at concurrent/qthreadpool.cpp:140
#3  0x00007f212523fd02 in QThreadPrivate::start (arg=0x1391ec0) at thread/qthread_unix.cpp:189
#4  0x00007f211f1663ba in start_thread (arg=<value optimized out>) at pthread_create.c:297
#5  0x00007f212228dfcd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()
Current language:  auto; currently asm

Thread 2 (Thread 0x7f2114a19950 (LWP 11670)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x00007f2125240cc7 in QWaitCondition::wait (this=0x1395308, mutex=0x1395300, time=30000) at thread/qwaitcondition_unix.cpp:85
#2  0x00007f2125236879 in QThreadPoolThread::run (this=0x165de60) at concurrent/qthreadpool.cpp:140
#3  0x00007f212523fd02 in QThreadPrivate::start (arg=0x165de60) at thread/qthread_unix.cpp:189
#4  0x00007f211f1663ba in start_thread (arg=<value optimized out>) at pthread_create.c:297
#5  0x00007f212228dfcd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f2126209750 (LWP 11662)):
[KCrash Handler]
#5  _int_malloc (av=0x7f2122515a00, bytes=232) at malloc.c:4199
#6  0x00007f2122224828 in *__GI___libc_malloc (bytes=232) at malloc.c:3551
#7  0x00007f2122a7e9bd in operator new () from /usr/lib/libstdc++.so.6
#8  0x00007f21252fcd48 in QFSFileEngine (this=0x18ace50, file=@0xe8) at io/qfsfileengine.cpp:183
#9  0x00007f21252afc30 in QAbstractFileEngine::create (fileName=@0x7fff2e247670) at io/qabstractfileengine.cpp:201
#10 0x00007f21252c310a in QFileInfoPrivate::initFileEngine (this=0x17fb0f0, file=@0x7fff2e247670) at io/qfileinfo.cpp:142
#11 0x00007f212301b210 in cleanpath (_path=@0xe8, cleanDirSeparator=true, decodeDots=false) at /build/buildd/kde4libs-4.2.3/kdecore/io/kurl.cpp:52
#12 0x00007f212301b69c in KUrl::cleanPath (this=0x7fff2e247710, options=<value optimized out>) at /build/buildd/kde4libs-4.2.3/kdecore/io/kurl.cpp:742
#13 0x00007f2125737963 in cleanupUrl (url=<value optimized out>) at /build/buildd/kde4libs-4.2.3/kio/kio/kdirmodel.cpp:43
#14 0x00007f2125739438 in KDirModelPrivate::nodeForUrl (this=0x10130f0, _url=@0xe8) at /build/buildd/kde4libs-4.2.3/kio/kio/kdirmodel.cpp:187
#15 0x00007f212573b0b2 in KDirModel::indexForUrl (this=0x1014d60, url=@0xffffffff) at /build/buildd/kde4libs-4.2.3/kio/kio/kdirmodel.cpp:898
#16 0x00007f2125b484f2 in Gwenview::SortedDirModel::indexForUrl () from /usr/lib/libgwenviewlib.so.4
#17 0x000000000043d82a in _start ()
#0  0x00007f212224fd21 in nanosleep () from /lib/libc.so.6
Current language:  auto; currently c


i also just rotate pictures and doesn't changed any description or something like..
Comment 5 Philippe Masson 2009-05-28 00:56:44 UTC
BUG 193625 seem to relate to the same troubles ; other traces on it may be usefull

https://bugs.kde.org/show_bug.cgi?id=193625
Comment 6 Dario Andres 2009-06-02 13:00:28 UTC
*** Bug 194957 has been marked as a duplicate of this bug. ***
Comment 7 Aurelien Gateau 2009-06-08 11:25:46 UTC
SVN commit 978810 by gateau:

Do not call DocumentFactory::load() from multiple threads.

BUG:189992

 M  +14 -10    gvcore.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=978810
Comment 8 Aurelien Gateau 2009-06-08 11:29:24 UTC
*** Bug 192654 has been marked as a duplicate of this bug. ***
Comment 9 Dario Andres 2009-06-09 01:45:35 UTC
*** Bug 195678 has been marked as a duplicate of this bug. ***
Comment 10 Philippe Masson 2009-06-09 08:16:28 UTC
I don't think it is the same bug as 195878, because 195878 appears just before attempting to command a batch operation, just trying to add an image to select those that will be batched ; it is not a bug happening while trying to save anything on disk as shown in 189992.

Please mark that 195878 should not be marked as duplicate of this bug coz it is obviously not and at this point 195878 is NOT RESOLVED.
Comment 11 Grasyop 2009-06-09 10:04:01 UTC
Philippe Masson,

There's no bug 195878, so I assume you're speaking of mine, 195678.

I think it is the same bug as this one (189992). Maybe I didn't express myself well as I'm not a native english speaker, but I did try to save all modifications, and they were saved, but then Gwenview crashed.
Comment 12 Dario Andres 2009-06-10 15:17:10 UTC
*** Bug 195842 has been marked as a duplicate of this bug. ***
Comment 13 Dario Andres 2009-06-16 19:54:40 UTC
*** Bug 196751 has been marked as a duplicate of this bug. ***
Comment 14 Dario Andres 2009-06-27 17:55:42 UTC
*** Bug 198043 has been marked as a duplicate of this bug. ***
Comment 15 Dario Andres 2009-07-14 15:09:25 UTC
*** Bug 200092 has been marked as a duplicate of this bug. ***
Comment 16 Dario Andres 2009-07-21 00:32:15 UTC
*** Bug 200928 has been marked as a duplicate of this bug. ***
Comment 17 Dario Andres 2009-08-21 17:06:33 UTC
*** Bug 204393 has been marked as a duplicate of this bug. ***
Comment 18 Dario Andres 2009-09-27 14:23:12 UTC
*** Bug 196640 has been marked as a duplicate of this bug. ***
Comment 19 Uwe Eggert 2013-12-31 13:54:57 UTC
Created attachment 84368 [details]
rotate picture

I have the same problem. The Error is :
gwenview(27073) Gwenview::ThumbnailLoadJob::checkThumbnail: Thumbnail for "file:///home/uwe/Dokumente/foto/2013/10/Passau/IMG_0961.JPG" does not contain correct image size information 
Getötet
The Picture IMG_0961.JPG is not the Picture that was turned. It's a picture between the turned Pictures.

Version 2.9.5
Linux (x86_64) release 4.5.0.44-generic