Bug 171430 - gwenview becomes unresponsive and crashes on close after saving jpeg
Summary: gwenview becomes unresponsive and crashes on close after saving jpeg
Status: RESOLVED FIXED
Alias: None
Product: gwenview
Classification: Applications
Component: general (other bugs)
Version First Reported In: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Gwenview Bugs
URL:
Keywords:
: 171252 177984 180264 181954 188366 198050 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-09-21 23:02 UTC by Oliver Putz
Modified: 2012-10-19 13:26 UTC (History)
9 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Oliver Putz 2008-09-21 23:02:17 UTC
Version:           2.2.0 (using 4.1.67 (KDE 4.1.67 (KDE 4.2 >= 20080918)), Gentoo)
Compiler:          i686-pc-linux-gnu-gcc
OS:                Linux (i686) release 2.6.25-gentoo-r7

Steps to reproduce:

1) Open a jpeg in gwenview
2) File->Save As (I just typed 2 as filename)
3) Hit save [gwenview now closes the dialog and becomes unresponsive]
3) When I try to close gwenview, it crashes with the backtrace below.

Note: I stumbled upon this as I tried to reproduce bug #171252 which has the same steps to reproduce it but a different outcome. Maybe the two are related.

Application: Gwenview (gwenview), signal SIGABRT
[Current thread is 0 (LWP 4455)]

Thread 2 (Thread 0xb484cb90 (LWP 4456)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb6dc8f12 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6e45c6d in QWaitCondition::wait (this=0x8331578, mutex=0x8331574, time=30000) at thread/qwaitcondition_unix.cpp:86
#3  0xb6e3ae70 in QThreadPoolThread::run (this=0x82e6118) at concurrent/qthreadpool.cpp:141
#4  0xb6e44a24 in QThreadPrivate::start (arg=0x82e6118) at thread/qthread_unix.cpp:191
#5  0xb6dc5160 in start_thread (arg=0xb484cb90) at pthread_create.c:297
#6  0xb6c31c0e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb6180700 (LWP 4455)):
[KCrash Handler]
#6  0xffffe424 in __kernel_vsyscall ()
#7  0xb6b90690 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#8  0xb6b91ed8 in *__GI_abort () at abort.c:88
#9  0xb6bd13f3 in malloc_printerr (action=2, str=0xb6c857d2 "free(): invalid pointer", ptr=0xbf99917c) at malloc.c:5954
#10 0xb6bd2ccb in *__GI___libc_free (mem=0xbf99917c) at malloc.c:3589
#11 0xb6d8a60d in operator delete (ptr=0x0) at /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/libstdc++-v3/libsupc++/del_op.cc:49
#12 0xb6acef1b in ~KFileDialog (this=0xbf99917c) at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kio/kfile/kfiledialog.cpp:268
#13 0xb6f4548e in QObjectPrivate::deleteChildren (this=0x80f3220) at kernel/qobject.cpp:1881
#14 0xb72e716a in ~QWidget (this=0x80f8208) at kernel/qwidget.cpp:1344
#15 0xb763d225 in ~QMainWindow (this=0x80f8208) at widgets/qmainwindow.cpp:329
#16 0xb7ecc7f4 in ~KMainWindow (this=0x80f8208) at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/widgets/kmainwindow.cpp:446
#17 0xb7f05471 in ~KXmlGuiWindow (this=0x80f8208, __vtt_parm=0x808bc74) at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/xmlgui/kxmlguiwindow.cpp:121
#18 0x0807ab35 in ~MainWindow (this=0x80f8208) at /var/tmp/portage/kde-base/gwenview-9999/work/gwenview/gwenview/app/mainwindow.cpp:642
#19 0xb6f43fe8 in qDeleteInEventHandler (o=0x6) at kernel/qobject.cpp:3656
#20 0xb6f45bd5 in QObject::event (this=0x80f8208, e=0x8421f58) at kernel/qobject.cpp:1136
#21 0xb72e5c66 in QWidget::event (this=0x80f8208, event=0x8421f58) at kernel/qwidget.cpp:7557
#22 0xb763de5d in QMainWindow::event (this=0x80f8208, event=0x8421f58) at widgets/qmainwindow.cpp:1274
#23 0xb7ece111 in KMainWindow::event (this=0x80f8208, ev=0x8421f58) at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/widgets/kmainwindow.cpp:1064
#24 0xb7f05302 in KXmlGuiWindow::event (this=0x80f8208, ev=0x8421f58) at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/xmlgui/kxmlguiwindow.cpp:125
#25 0xb728dfab in QApplicationPrivate::notify_helper (this=0x809e988, receiver=0x80f8208, e=0x8421f58) at kernel/qapplication.cpp:3809
#26 0xb7294b42 in QApplication::notify (this=0xbf99a234, receiver=0x80f8208, e=0x8421f58) at kernel/qapplication.cpp:3774
#27 0xb7e19969 in KApplication::notify (this=0xbf99a234, receiver=0x80f8208, event=0x8421f58) at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kapplication.cpp:307
#28 0xb6f35b21 in QCoreApplication::notifyInternal (this=0xbf99a234, receiver=0x80f8208, event=0x8421f58) at kernel/qcoreapplication.cpp:593
#29 0xb6f36984 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x80935d0) at kernel/qcoreapplication.h:215
#30 0xb6f62470 in QEventDispatcherUNIX::processEvents (this=0x809e7a0, flags={i = -1080454996}) at kernel/qeventdispatcher_unix.cpp:867
#31 0xb732364f in QEventDispatcherX11::processEvents (this=0x809e7a0, flags={i = -1080454936}) at kernel/qeventdispatcher_x11.cpp:154
#32 0xb6f36de8 in QCoreApplication::processEvents (flags={i = -1080454888}) at kernel/qcoreapplication.cpp:777
#33 0xb70b33b0 in Gwenview::Document::waitUntilLoaded (this=0x82e4868) at /var/tmp/portage/kde-base/gwenview-9999/work/gwenview/gwenview/lib/document/document.cpp:205
#34 0xb70b3cb1 in Gwenview::Document::save (this=0x82e4868, url=@0xbf999198, format=@0xbf9991a0) at /var/tmp/portage/kde-base/gwenview-9999/work/gwenview/gwenview/lib/document/document.cpp:211
#35 0x08065809 in Gwenview::GvCore::saveAs (this=0x80f7028, url=@0xbf999208) at /var/tmp/portage/kde-base/gwenview-9999/work/gwenview/gwenview/app/gvcore.cpp:227
#36 0x08079437 in Gwenview::MainWindow::saveCurrentAs (this=0x80f8208) at /var/tmp/portage/kde-base/gwenview-9999/work/gwenview/gwenview/app/mainwindow.cpp:1069
#37 0x0807b30d in Gwenview::MainWindow::qt_metacall (this=0x80f8208, _c=QMetaObject::InvokeMetaMethod, _id=26, _a=0xbf99933c)
    at /var/tmp/portage/kde-base/gwenview-9999/work/gwenview_build/gwenview/app/mainwindow.moc:154
#38 0xb6f4c4e1 in QMetaObject::activate (sender=0x82044b0, from_signal_index=<value optimized out>, to_signal_index=6, argv=0xbf99933c) at kernel/qobject.cpp:3028
#39 0xb6f4c904 in QMetaObject::activate (sender=0x82044b0, m=0xb7a3d038, from_local_signal_index=1, to_local_signal_index=2, argv=0xbf99933c) at kernel/qobject.cpp:3118
#40 0xb7287ffb in QAction::triggered (this=0x82044b0, _t1=false) at .moc/debug-shared/moc_qaction.cpp:216
#41 0xb728886c in QAction::activate (this=0x82044b0, event=QAction::Trigger) at kernel/qaction.cpp:1131
#42 0xb7669544 in QMenuPrivate::activateAction (this=0x82b6b50, action=0x82044b0, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1008
#43 0xb7669faf in QMenu::mouseReleaseEvent (this=0x819c8d8, e=0xbf999b8c) at widgets/qmenu.cpp:2175
#44 0xb7ecff8a in KMenu::mouseReleaseEvent (this=0x819c8d8, e=0xbf999b8c) at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/widgets/kmenu.cpp:452
#45 0xb72e65a2 in QWidget::event (this=0x819c8d8, event=0xbf999b8c) at kernel/qwidget.cpp:7169
#46 0xb766c341 in QMenu::event (this=0x819c8d8, e=0xbf999b8c) at widgets/qmenu.cpp:2271
#47 0xb728dfab in QApplicationPrivate::notify_helper (this=0x809e988, receiver=0x819c8d8, e=0xbf999b8c) at kernel/qapplication.cpp:3809
#48 0xb7295438 in QApplication::notify (this=0xbf99a234, receiver=0x819c8d8, e=0xbf999b8c) at kernel/qapplication.cpp:3534
#49 0xb7e19969 in KApplication::notify (this=0xbf99a234, receiver=0x819c8d8, event=0xbf999b8c) at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kapplication.cpp:307
#50 0xb6f35b21 in QCoreApplication::notifyInternal (this=0xbf99a234, receiver=0x819c8d8, event=0xbf999b8c) at kernel/qcoreapplication.cpp:593
#51 0xb7296879 in QApplicationPrivate::sendMouseEvent (receiver=0x819c8d8, event=0xbf999b8c, alienWidget=0x0, nativeWidget=0x819c8d8, buttonDown=0xb7a53c60, lastMouseReceiver=@0xb7a53c64)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#52 0xb72fec1f in QETWidget::translateMouseEvent (this=0x819c8d8, event=0xbf99a098) at kernel/qapplication_x11.cpp:3982
#53 0xb72fd31e in QApplication::x11ProcessEvent (this=0xbf99a234, event=0xbf99a098) at kernel/qapplication_x11.cpp:3044
#54 0xb732396d in QEventDispatcherX11::processEvents (this=0x809e7a0, flags={i = -1080450760}) at kernel/qeventdispatcher_x11.cpp:134
#55 0xb6f346b0 in QEventLoop::processEvents (this=0xbf99a1b0, flags={i = -1080450696}) at kernel/qeventloop.cpp:149
#56 0xb6f34852 in QEventLoop::exec (this=0xbf99a1b0, flags={i = -1080450632}) at kernel/qeventloop.cpp:200
#57 0xb6f36c6f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:851
#58 0xb728dd43 in QApplication::exec () at kernel/qapplication.cpp:3337
#59 0x08077ec4 in main (argc=6, argv=0xbf99a394) at /var/tmp/portage/kde-base/gwenview-9999/work/gwenview/gwenview/app/main.cpp:93
Comment 1 Rui G. 2008-09-22 01:21:22 UTC
In the second step, did you chose to save as a specific file type? If I chose to as .jpeg or just try to save as 2.jpeg, it saved alright, however it turned a 148 Kbyte file into a 2.2 MB one.

If I just saved as 2 with no type selected nor 2.jpeg as a name, I got this backtrace in kde trunk rev.862826 :
#0  0xb7fcf410 in __kernel_vsyscall ()     
#1  0xb6bbe085 in raise () from /lib/tls/i686/cmov/libc.so.6
#2  0xb6bbfa01 in abort () from /lib/tls/i686/cmov/libc.so.6
#3  0xb6e82a1d in qt_message_output (msgType=QtFatalMsg,    
    buf=0xbf99e7d0 "ASSERT: \"typeList.count() > 0\" in file /home/kde-devel/kde/src/KDE/kdegraphics/gwenview/app/gvcore.cpp, line 225") at global/qglobal.cpp:2108                                                                                                       
#4  0xb6e82aa1 in qFatal (msg=0xb6fd96b8 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2309                            
#5  0xb6e82ef9 in qt_assert (assertion=0x8093c90 "typeList.count() > 0",                                                             
    file=0x8093c50 "/home/kde-devel/kde/src/KDE/kdegraphics/gwenview/app/gvcore.cpp", line=225) at global/qglobal.cpp:1878           
#6  0x08067418 in Gwenview::GvCore::saveAs (this=0x8159f80, url=@0xbf9a08c0)                                                         
    at /home/kde-devel/kde/src/KDE/kdegraphics/gwenview/app/gvcore.cpp:225                                                           
#7  0x0807f42d in Gwenview::MainWindow::saveCurrentAs (this=0x8161438)                                                               
    at /home/kde-devel/kde/src/KDE/kdegraphics/gwenview/app/mainwindow.cpp:1069                                                      
#8  0x08081939 in Gwenview::MainWindow::qt_metacall (this=0x8161438, _c=QMetaObject::InvokeMetaMethod, _id=26, _a=0xbf9a09dc)        
    at /home/kde-devel/kde/build/KDE/kdegraphics/gwenview/app/mainwindow.moc:154
#9  0xb6f96cfd in QMetaObject::activate (sender=0x827a3a8, from_signal_index=5, to_signal_index=6, argv=0xbf9a09dc)
    at kernel/qobject.cpp:3034
#10 0xb6f96f06 in QMetaObject::activate (sender=0x827a3a8, m=0xb79f00f8, from_local_signal_index=1, to_local_signal_index=2,
    argv=0xbf9a09dc) at kernel/qobject.cpp:3127
#11 0xb72eef5e in QAction::triggered (this=0x827a3a8, _t1=false) at .moc/debug-shared/moc_qaction.cpp:216
#12 0xb72f0b00 in QAction::activate (this=0x827a3a8, event=QAction::Trigger) at kernel/qaction.cpp:1131
#13 0xb77157f6 in QMenuPrivate::activateAction (this=0x82d9a88, action=0x827a3a8, action_e=QAction::Trigger, self=true)
    at widgets/qmenu.cpp:1008
#14 0xb7717fd7 in QMenu::mouseReleaseEvent (this=0x82c6f98, e=0xbf9a11a8) at widgets/qmenu.cpp:2175
#15 0xb7f037fc in KMenu::mouseReleaseEvent (this=0x82c6f98, e=0xbf9a11a8)
    at /home/kde-devel/kde/src/KDE/kdelibs/kdeui/widgets/kmenu.cpp:452
#16 0xb73540b1 in QWidget::event (this=0x82c6f98, event=0xbf9a11a8) at kernel/qwidget.cpp:7169
#17 0xb7713440 in QMenu::event (this=0x82c6f98, e=0xbf9a11a8) at widgets/qmenu.cpp:2271
#18 0xb72f6d0d in QApplicationPrivate::notify_helper (this=0x80afa40, receiver=0x82c6f98, e=0xbf9a11a8)
    at kernel/qapplication.cpp:3809
#19 0xb72f77e1 in QApplication::notify (this=0xbf9a19e8, receiver=0x82c6f98, e=0xbf9a11a8) at kernel/qapplication.cpp:3534
#20 0xb7e30595 in KApplication::notify (this=0xbf9a19e8, receiver=0x82c6f98, event=0xbf9a11a8)
    at /home/kde-devel/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:307
#21 0xb6f81dc6 in QCoreApplication::notifyInternal (this=0xbf9a19e8, receiver=0x82c6f98, event=0xbf9a11a8)
    at kernel/qcoreapplication.cpp:589
#22 0xb7302be7 in QCoreApplication::sendSpontaneousEvent (receiver=0x82c6f98, event=0xbf9a11a8)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#23 0xb72fb6e4 in QApplicationPrivate::sendMouseEvent (receiver=0x82c6f98, event=0xbf9a11a8, alienWidget=0x847cec8,
    nativeWidget=0x8161438, buttonDown=0xb7a0e060, lastMouseReceiver=@0xb7a0e064) at kernel/qapplication.cpp:2799
#24 0xb7375fdc in QETWidget::translateMouseEvent (this=0x8161438, event=0xbf9a173c) at kernel/qapplication_x11.cpp:3982
#25 0xb7373963 in QApplication::x11ProcessEvent (this=0xbf9a19e8, event=0xbf9a173c) at kernel/qapplication_x11.cpp:3044
#26 0xb73a02c1 in x11EventSourceDispatch (s=0x80b2978, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#27 0xb655add6 in IA__g_main_context_dispatch (context=0x80b1c88) at /build/buildd/glib2.0-2.16.4/glib/gmain.c:2012
#28 0xb655e193 in g_main_context_iterate (context=0x80b1c88, block=1, dispatch=1, self=0x80afd58)
    at /build/buildd/glib2.0-2.16.4/glib/gmain.c:2645
#29 0xb655e74e in IA__g_main_context_iteration (context=0x80b1c88, may_block=1) at /build/buildd/glib2.0-2.16.4/glib/gmain.c:2708
#30 0xb6fb1374 in QEventDispatcherGlib::processEvents (this=0x80afb90, flags=@0xbf9a18d4) at kernel/qeventdispatcher_glib.cpp:325
#31 0xb739fadc in QGuiEventDispatcherGlib::processEvents (this=0x80afb90, flags=@0xbf9a1904)
    at kernel/qguieventdispatcher_glib.cpp:204
#32 0xb6f7ec86 in QEventLoop::processEvents (this=0xbf9a1980, flags=@0xbf9a1944) at kernel/qeventloop.cpp:149
#33 0xb6f7eec5 in QEventLoop::exec (this=0xbf9a1980, flags=@0xbf9a1988) at kernel/qeventloop.cpp:196
#34 0xb6f825af in QCoreApplication::exec () at kernel/qcoreapplication.cpp:851
#35 0xb72f6a26 in QApplication::exec () at kernel/qapplication.cpp:3337
#36 0x0807da97 in main (argc=134843372, argv=0x8161e88) at /home/kde-devel/kde/src/KDE/kdegraphics/gwenview/app/main.cpp:93


Comment 2 Oliver Putz 2008-09-22 09:18:16 UTC
Hi!

I do *not* touch the filetype dropdown list. However, jpeg is already chosen there be by default. As a filename I only enter "2". So I especially do not add any filetype suffix to the filename. (maybe I can also make a little video of it later on to make it clearer)
Comment 3 Oliver Putz 2008-09-22 09:55:35 UTC
Ok, the promised video can be found at: http://www.oliver-putz.de/bugreports/bug171430.ogv
Comment 4 Aurelien Gateau 2008-09-29 15:32:39 UTC
*** Bug 171252 has been marked as a duplicate of this bug. ***
Comment 5 Aurelien Gateau 2008-09-29 15:37:47 UTC
Fixed in trunk (r865771) and backported to 4.1 branch (r865924).

Comment 6 Aurelien Gateau 2009-01-03 00:51:44 UTC
*** Bug 177984 has been marked as a duplicate of this bug. ***
Comment 7 Aurelien Gateau 2009-01-12 23:26:17 UTC
*** Bug 180264 has been marked as a duplicate of this bug. ***
Comment 8 Dario Andres 2009-01-26 14:10:21 UTC
Bug 181954 seems to be related to this (but in 4.1.96) (regression?)
Comment 9 Aurelien Gateau 2009-01-26 23:00:07 UTC
SVN commit 917108 by gateau:

Make sure KFileDialog is gone while saving.
BUG:171430


 M  +44 -35    gvcore.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=917108
Comment 10 Aurelien Gateau 2009-01-26 23:06:11 UTC
*** Bug 181954 has been marked as a duplicate of this bug. ***
Comment 11 Dario Andres 2009-03-28 22:59:15 UTC
*** Bug 188366 has been marked as a duplicate of this bug. ***
Comment 12 Dario Andres 2009-06-27 17:59:22 UTC
*** Bug 198050 has been marked as a duplicate of this bug. ***
Comment 13 painteru 2010-03-05 20:45:54 UTC
Hi! I have the same problem.
I want to save after a "mirror" edit of a .jpg.
If I want to save, the gwenview crash.
I've got the latest kde-4.4.1(gwenview-4.4.1-rc1)
I see the bug is marked as RESOLVED... I've read here but I haven't saw how to fix it.
In the previous build, the things was OK...in fact this is the first time I have problems with my fav image viewer (well, it's more than that..I know)