Bug 116374 - ark crash and don't delete directorys
Summary: ark crash and don't delete directorys
Status: RESOLVED FIXED
Alias: None
Product: ark
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Harald Hvaal
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-14 21:22 UTC by erik_t
Modified: 2006-03-04 17:53 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description erik_t 2005-11-14 21:22:26 UTC
Version:            (using KDE KDE 3.5.0)
Installed from:    SuSE RPMs
OS:                Linux

my ark is crashing when I delete a directory in a zip file, but this don't happen with each directory, and when I delete a directory, close ark, open it again, the deleted files in the directory are deleted, but not the directory itself. If I delete the empty directory, then it will be deleted.
Comment 1 Stephan Binner 2005-11-15 12:13:47 UTC
Do you have a backtrace available?
Comment 2 erik_t 2005-11-15 13:22:09 UTC
don't really know what do you mean
Comment 3 Thiago Macieira 2005-11-15 17:53:25 UTC
When the KDE Crash Handler window appears, there should be a second tab called "Backtrace". Click it, copy the contents and paste them here.
Comment 4 erik_t 2005-11-15 21:58:36 UTC
(no debugging symbols found)
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(no debugging symbols found)
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 1095503552 (LWP 10719)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[KCrash handler]
#3  0x417c8f22 in init_libarkpart () from /opt/kde3/lib/kde3/libarkpart.so
#4  0x417c9022 in init_libarkpart () from /opt/kde3/lib/kde3/libarkpart.so
#5  0x417d3ff5 in init_libarkpart () from /opt/kde3/lib/kde3/libarkpart.so
#6  0x407fbb69 in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#7  0x407fc010 in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#8  0x410891b9 in KAction::activated () from /opt/kde3/lib/libkdeui.so.4
#9  0x410c3221 in KAction::slotActivated () from /opt/kde3/lib/libkdeui.so.4
#10 0x410e219e in KAction::slotPopupActivated ()
   from /opt/kde3/lib/libkdeui.so.4
#11 0x410e2471 in KAction::qt_invoke () from /opt/kde3/lib/libkdeui.so.4
#12 0x407fbb69 in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#13 0x40b3d6f2 in QSignal::signal () from /usr/lib/qt3/lib/libqt-mt.so.3
#14 0x4081878b in QSignal::activate () from /usr/lib/qt3/lib/libqt-mt.so.3
#15 0x409029a8 in QPopupMenu::mouseReleaseEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#16 0x41096581 in KPopupMenu::mouseReleaseEvent ()
   from /opt/kde3/lib/libkdeui.so.4
#17 0x40835828 in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#18 0x4079bd81 in QApplication::internalNotify ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#19 0x4079cee8 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#20 0x404d66ee in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#21 0x40737120 in QETWidget::translateMouseEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#22 0x40735b3b in QApplication::x11ProcessEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#23 0x40749c2a in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#24 0x407b2c79 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
#25 0x407b2b76 in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#26 0x4079b6cf in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#27 0x4160b26a in kdemain () from /opt/kde3/lib/libkdeinit_ark.so
#28 0x40029534 in kdeinitmain () from /opt/kde3/lib/kde3/ark.so
#29 0x0804da4a in ?? ()
#30 0x00000008 in ?? ()
#31 0x080701b8 in ?? ()
#32 0x00000001 in ?? ()
#33 0x00000000 in ?? ()
#34 0x00000000 in ?? ()
#35 0x00000000 in ?? ()
#36 0x00000006 in ?? ()
#37 0xbfcd6204 in ?? ()
#38 0xbfcd61f0 in ?? ()
#39 0xbfcd61fc in ?? ()
#40 0xbfcd61f8 in ?? ()
#41 0xbfcd6200 in ?? ()
#42 0x00000000 in ?? ()
#43 0x00000000 in ?? ()
#44 0x00000000 in ?? ()
#45 0x00000000 in ?? ()
#46 0x00000000 in ?? ()
#47 0x0806fc67 in ?? ()
#48 0x0806fc0c in ?? ()
#49 0x00000008 in ?? ()
#50 0x00000000 in ?? ()
#51 0x00000000 in ?? ()
#52 0x00000000 in ?? ()
#53 0x00000000 in ?? ()
#54 0x00000000 in ?? ()
#55 0x00000000 in ?? ()
#56 0x00000000 in ?? ()
#57 0x00000000 in ?? ()
#58 0x00000000 in ?? ()
#59 0x40ec0931 in _int_malloc () from /lib/tls/libc.so.6
#60 0x0804e0ba in ?? ()
#61 0x00000000 in ?? ()
#62 0x00000001 in ?? ()
#63 0x0806fc78 in ?? ()
#64 0x00000000 in ?? ()
#65 0x00000000 in ?? ()
#66 0x00000000 in ?? ()
#67 0x0806fc7c in ?? ()
#68 0x00000000 in ?? ()
#69 0x00000000 in ?? ()
#70 0x00000001 in ?? ()
#71 0x00000008 in ?? ()
#72 0x00000008 in ?? ()
#73 0x0806fc08 in ?? ()
#74 0x0806fc0c in ?? ()
#75 0x0806fc10 in ?? ()
#76 0x00000000 in ?? ()
#77 0x00000001 in ?? ()
#78 0x0806fc6b in ?? ()
#79 0x00000000 in ?? ()
#80 0x00000000 in ?? ()
#81 0x0806fc7c in ?? ()
#82 0x00000000 in ?? ()
#83 0x0806fc6b in ?? ()
#84 0x00000000 in ?? ()
#85 0x00000000 in ?? ()
#86 0x080513e0 in vtable for QCString ()
#87 0x08070a60 in ?? ()
#88 0x080513e0 in vtable for QCString ()
#89 0x08070a40 in ?? ()
#90 0x00000000 in ?? ()
#91 0x00000000 in ?? ()
#92 0x0000000a in ?? ()
#93 0x0000009d in ?? ()
#94 0x00000000 in ?? ()
#95 0x80cd0000 in ?? ()
#96 0x00000000 in ?? ()
#97 0x00001751 in ?? ()
#98 0x00000000 in ?? ()
#99 0xbfcd6538 in ?? ()
#100 0x0804e687 in ?? ()
#101 0x0000000a in ?? ()
#102 0xbfcd642c in ?? ()
#103 0xbfcd63ac in ?? ()
#104 0xbfcd632c in ?? ()
#105 0x00000000 in ?? ()
#106 0x40f798a0 in mp_ () from /lib/tls/libc.so.6
#107 0x08070af8 in ?? ()
#108 0x08070be0 in ?? ()
#109 0x40f798a0 in mp_ () from /lib/tls/libc.so.6
#110 0x40f798a0 in mp_ () from /lib/tls/libc.so.6
#111 0x0000000a in ?? ()
#112 0x00000000 in ?? ()
#113 0x00000000 in ?? ()
#114 0x00000000 in ?? ()
#115 0x00000000 in ?? ()
#116 0x00000000 in ?? ()
#117 0x00000000 in ?? ()
#118 0x00000000 in ?? ()
#119 0x00000000 in ?? ()
#120 0x00000000 in ?? ()
#121 0x00000000 in ?? ()
#122 0x00000000 in ?? ()
#123 0x00000000 in ?? ()
#124 0x00000000 in ?? ()
#125 0x00000000 in ?? ()
#126 0x00000000 in ?? ()
#127 0x00000000 in ?? ()
#128 0x00000000 in ?? ()
#129 0x00000000 in ?? ()
#130 0x00000000 in ?? ()
#131 0x00000000 in ?? ()
#132 0x00000000 in ?? ()
#133 0x00000000 in ?? ()
#134 0x00000000 in ?? ()
#135 0x00000000 in ?? ()
#136 0x00000000 in ?? ()
#137 0x00000000 in ?? ()
#138 0x00000000 in ?? ()
#139 0x00000000 in ?? ()
#140 0x00000000 in ?? ()
#141 0x00000000 in ?? ()
#142 0x00000000 in ?? ()
#143 0x00000000 in ?? ()
#144 0x00000000 in ?? ()
#145 0x00000000 in ?? ()
#146 0x00000000 in ?? ()
#147 0x00000000 in ?? ()
#148 0x00000000 in ?? ()
#149 0x00000000 in ?? ()
#150 0x00000000 in ?? ()
#151 0x00000000 in ?? ()
#152 0x00000000 in ?? ()
#153 0x00000000 in ?? ()
#154 0x00000000 in ?? ()
#155 0x00000000 in ?? ()
#156 0x00000000 in ?? ()
#157 0x00000000 in ?? ()
#158 0x00000000 in ?? ()
#159 0x00000000 in ?? ()
#160 0x00000000 in ?? ()
#161 0x00000000 in ?? ()
#162 0x00000000 in ?? ()
#163 0x00000000 in ?? ()
#164 0x00000000 in ?? ()
#165 0x00000000 in ?? ()
#166 0x00000000 in ?? ()
#167 0x00000000 in ?? ()
#168 0x00000000 in ?? ()
#169 0x00000000 in ?? ()
#170 0x00000000 in ?? ()
#171 0x00000000 in ?? ()
#172 0x00000000 in ?? ()
#173 0x00000000 in ?? ()
#174 0x00000000 in ?? ()
#175 0x00000000 in ?? ()
#176 0x00000100 in ?? ()
#177 0x00000000 in ?? ()
#178 0x00000000 in ?? ()
#179 0x00000000 in ?? ()
#180 0x00000000 in ?? ()
#181 0x00000000 in ?? ()
#182 0x00000000 in ?? ()
#183 0x00000000 in ?? ()
#184 0x00000000 in ?? ()
#185 0x00000000 in ?? ()
#186 0x00000000 in ?? ()
#187 0x00000000 in ?? ()
#188 0x00000000 in ?? ()
#189 0x00000000 in ?? ()
#190 0x00000000 in ?? ()
#191 0x00000000 in ?? ()
#192 0x00000000 in ?? ()
#193 0x00000000 in ?? ()
#194 0x00000000 in ?? ()
#195 0x00000000 in ?? ()
#196 0x00000000 in ?? ()
#197 0x00000000 in ?? ()
#198 0x00000000 in ?? ()
#199 0x00000000 in ?? ()
#200 0x00000000 in ?? ()
#201 0x00000000 in ?? ()
#202 0x00000000 in ?? ()
#203 0x00000000 in ?? ()
#204 0x00000000 in ?? ()
#205 0x00000000 in ?? ()
#206 0x00000000 in ?? ()
#207 0x00000000 in ?? ()
#208 0x000029d8 in ?? ()
#209 0x00000000 in ?? ()
#210 0x00000000 in ?? ()
#211 0x0805ea08 in ?? ()
#212 0x00000000 in ?? ()
#213 0x00000002 in ?? ()
#214 0x00000000 in ?? ()
#215 0x00000000 in ?? ()
#216 0x40ec0324 in _int_free () from /lib/tls/libc.so.6
Comment 5 Haris Kouzinopoulos 2006-02-25 20:45:26 UTC
SVN commit 513612 by charis:

* When a directory to be deleted has children add both its children and the directory 
* Check if an item's parent actually has siblings to avoid crash


BUG: 116374



 M  +4 -2      filelistview.cpp  


--- branches/KDE/3.5/kdeutils/ark/filelistview.cpp #513611:513612
@@ -261,9 +261,10 @@
 	{
 		if ( item->isSelected() )
 		{
-			// If the item has children, add each child instead of the item
+			// If the item has children, add each child and the item
 			if ( item->childCount() > 0 )
 			{
+				files += item->fileName();
 				files += childrenOf( item );
 
 				/* If we got here, then the logic for "going to the next item"
@@ -273,7 +274,7 @@
 				 * the next item is the next sibling of its parent, and so on.
 				 */
 				FileLVI *nitem = static_cast<FileLVI*>( item->nextSibling() );
-				while ( !nitem && item->parent() )
+				while ( !nitem && item->parent()&&item->parent()->nextSibling() )
 				{
 					item = static_cast<FileLVI*>( item->parent() );
 					nitem = static_cast<FileLVI*>( item->parent()->nextSibling() );
@@ -569,6 +570,7 @@
 		}
 		else
 		{
+			children += item->fileName();
 			children += childrenOf( item );
 		}
 		item = static_cast<FileLVI*>( item->nextSibling() );
Comment 6 Henrique Pinto 2006-03-04 17:53:01 UTC
SVN commit 515691 by henrique:

 * Fix a crash while deleting items.
   Haris, your fix for 116374 was not working correctly, you needed to test for item->parent()->parent() instead of item->parent()->nextSibling().
   BUG: 121937
   CCBUG: 116374
   CCMAIL: haris@mpa.gr



 M  +3 -2      filelistview.cpp  


--- branches/KDE/3.5/kdeutils/ark/filelistview.cpp #515690:515691
@@ -274,10 +274,11 @@
 				 * the next item is the next sibling of its parent, and so on.
 				 */
 				FileLVI *nitem = static_cast<FileLVI*>( item->nextSibling() );
-				while ( !nitem && item->parent()&&item->parent()->nextSibling() )
+				while ( !nitem && item->parent() )
 				{
 					item = static_cast<FileLVI*>( item->parent() );
-					nitem = static_cast<FileLVI*>( item->parent()->nextSibling() );
+					if ( item->parent() )
+						nitem = static_cast<FileLVI*>( item->parent()->nextSibling() );
 				}
 				item = nitem;
 				continue;