Bug 54606 - Embedded tar.gz viewer blocking unmount
Summary: Embedded tar.gz viewer blocking unmount
Status: RESOLVED WORKSFORME
Alias: None
Product: kio
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: David Faure
URL:
Keywords:
: 54861 77453 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-02-13 19:57 UTC by Filippos Papadopoulos
Modified: 2010-10-22 22:16 UTC (History)
5 users (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 Filippos Papadopoulos 2003-02-13 19:57:29 UTC
Version:            (using KDE KDE 3.1)
Installed from:    SuSE RPMs
OS:          Linux

First i mount a CD in a CD-ROM.
That CD has a tar.gz file on it.
I browse with konqueror in /media/cdrom and i click this file.
After clicking this tar.gz file the embedded viewer appears.
Everything is fine here.
Then i press BACK from the konqueror toolbar to exit the viewer.
I move around to my CD just to see what it has in it.
Finally i try to Unmount or Eject the CD.
A dialog reports that this device is busy...
I do a 'ps -xa' on my Konsole and i see a  process kdeinit: kio_tar tar .... .....
Only when i kill it i am able to unmount the CD.
Comment 1 apm13 2003-07-17 08:44:45 UTC
I have this same probelm with 3.1.2 built from source.  It happens with both kio_tar and 
kio_zip that I've seen and is a bit annoying.  I guess the slaves are kept around for a certain 
time for reuse but they won't release the mounted filesystem until killed. I wouldn't say that 
this is a konqueror bug though. 
Comment 2 Dirk Mueller 2003-07-21 04:11:41 UTC
*** Bug 54861 has been marked as a duplicate of this bug. ***
Comment 3 David Faure 2003-09-15 20:09:36 UTC
Idle kioslaves are killed by klauncher after 30 seconds of inactivity. 
But before that, the application only gives up an idle kioslave after 3 minutes. 
So if I list a kio_tar dir and immediately go to $HOME, I'll need 3 minutes 30 
seconds before kio_tar gets killed. 
 
Since we don't want to reparse the tar file on every action, killing such slaves early 
(or changing the slave so it forgets about the file early), is no solution. 
 
Better would be to implement the "I'm about to unmount this dir, please forget about it 
if you can" solution, based on DCOP's findObject, as I discussed with Waldo some 
time ago (for #37780, but it turned out it wasn't necessary there). 
 
BUT.... slaves don't listen to DCOP. So the KIO scheduler, which is the only one 
that knows about slaves during the 3 minutes after the listDir, would have to do this? 
Comment 4 Waldo Bastian 2003-09-15 20:48:13 UTC
Another option is to close and re-open the QIODevice used by KArchive in kio_tar. 
ArchiveProtocol::checkNewFile() already checks if the file is changed. 
Comment 5 Jo Øiongen 2004-07-28 13:28:45 UTC
*** Bug 77453 has been marked as a duplicate of this bug. ***
Comment 6 Nicolas Goutte 2005-07-23 18:44:41 UTC
Can this be still triggered? If yes, how? (There is code in the tar/zip KIO slave to "unload" the KIO slave.)

Have a nice day!
Comment 7 Dario Andres 2009-07-22 18:11:40 UTC
Just tested here using:

Qt: 4.5.2 (KDE-Qt git commit 46a247a2c9a8c0c4456a02f6a0922d859d88fe76
        Date:   Fri Jun 26 13:45:37 2009 +0200)
KDE: 4.3.61 (KDE 4.3.61 (KDE 4.4 >= 20090717))
kdelibs svn rev. 999250 / kdebase svn rev. 999250
on ArchLinux i686 - Kernel 2.6.30.1

- Mounted a Usb drive
- Copied a small tar.gz on it
- Browsed to that tar.gz file (using "browse through archives" option in Dolphin)
- Went back to the USB root (using "Back" button at Dolphin)
- Tried to unmount the USB drive. The drive was unmounted properly without warning messages. There are no kio_tar process (only kio_archive ones). I guess a lot of code has changed

Can anyone else check this ?

Thanks
Comment 8 David Faure 2010-10-22 22:16:00 UTC
Not confirmed on KDE 4, closing. Please reopen if you can still experience this bug with KDE 4.5 or later.