Bug 135427 - File saved to desktop has incorrect filesize in properties
Summary: File saved to desktop has incorrect filesize in properties
Status: CLOSED UNMAINTAINED
Alias: None
Product: kdesktop
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Dirk Mueller
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-11 02:41 UTC by jg
Modified: 2009-01-02 20:33 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 jg 2006-10-11 02:41:06 UTC
Version:            (using KDE KDE 3.5.4)
Installed from:    Ubuntu Packages
OS:                Linux

Hello,
I saved a file onto my desktop from the shell.

now3d@now2g:~$ cd Desktop
now3d@now2g:~/Desktop$ mplayer -dumpstream -dumpfile 2006-10-10_Newsnight_3.rm rtsp://rmv8.bbc.net.uk/news/olmedia/n5ctrl/tvseq/od/bbc2/bb/rm/video/newsnight_bb.rm

When the file completes downloading I look at my desktop and see the file, I right click on it and select properties and it is only 12KB! despite the file being 47MB when I look from the shell.

If I press F5 on the desktop and look at the properties again the size is still 12KB

If I move the file to my home directory, and then move it back to the desktop it is 47MB now.

So I am not sure why the desktop does not read the size as soon as the Properties dialog is opened, very bizarre.

Cheers
Jon
Comment 1 David Faure 2006-10-11 18:02:24 UTC
Sounds like a problem with the "directory change notification" (KDirWatch).
KDirWatch has 3 backends: stat(), FAM and DNOTIFY. (where fam can optionally use gamin).
I need to know in which case you are. Bugs where the size of a file isn't updated during download
are usually when using the stat() fallback method, which is the least capable one.
So the fix would be to ensure that your kdelibs is compiled with fam or dnotify support.
Comment 2 jg 2006-10-12 17:01:02 UTC
Hi David,

Thanks for your reply. In Kubuntu 6.06-1 there is the "gamin" package, which provides gam_server.

My kdelibs is v4:3.5.2-0ubuntu18. I'm not sure how I would check if it was compiled with fam or dnotify support, but I would assume it was fam/gamin. the package maintainer is debian I notice.

gam_server was running a few weeks ago I noticed when I looked at running processes, it's not running now. I don't remember doing anything to disable it, do you know if it should be running?

If it should be running could you tell me how I could try to get it running again please, gamin is still installed.

If I press F5 on my KDE desktop shouldn't that force an update of the sizes?

Shouldn't checking the properties of a file force an re-read of the file size too? Or maybe if it already knows the actual size it is a waste of time to re-read it.. (as it will usually be accurate once the file monitoring works)


Thanks again for the info on this problem.
Jon
Comment 3 David Faure 2006-10-12 17:44:18 UTC
On Thursday 12 October 2006 17:01, jg@jguk.org wrote:
> I'm not sure how I would check if it was compiled with fam or dnotify support, 
> but I would assume it was fam/gamin.

The only way I know is to watch the debug output after compiling kdelibs with debug enabled.
I guess we should have a better way to find out than that...

> gam_server was running a few weeks ago I noticed when I looked at running processes, it's not running now. I don't remember doing anything to disable it, do you know if it should be running?

Yes if you use gamin then you need gam_server. On the other hand I have had rather bad
experiences with the whole gamin thing (e.g. high CPU/IO load), so I would recommend using
dnotify or normal fam (which actually uses dnotify internally when available) rather than gamin.

> If it should be running could you tell me how I could try to get it running again please, gamin is still installed.

I don't know, actually. I had a hard time preventing it from being started, back when I was using Mandriva ;)

I would recommend asking the kdelibs packager to turn on dnotify support instead.

> If I press F5 on my KDE desktop shouldn't that force an update of the sizes?


I don't think the F5 key is wired in kdesktop. There's a Refresh Desktop in the right click menu though,
which should do the job.

> Shouldn't checking the properties of a file force an re-read of the file size too? Or maybe if it already knows the actual size it is a waste of time to re-read it.. (as it will usually be accurate once the file monitoring works)

Exactly. The directory listing shouldn't be wrong in the first place :)
Comment 4 jg 2006-10-12 18:43:33 UTC
[...]
> The only way I know is to watch the debug output after compiling kdelibs with debug enabled.
> I guess we should have a better way to find out than that...

Would be great if there was a way to run a kdelibs-info program which
displayed details like this. Could such an idea be added to the bug DB?

>> gam_server was running a few weeks ago I noticed when I looked at running processes, it's not running now. I don't remember doing anything to disable it, do you know if it should be running?
> 
> Yes if you use gamin then you need gam_server. On the other hand I have had rather bad
> experiences with the whole gamin thing (e.g. high CPU/IO load), so I would recommend using
> dnotify or normal fam (which actually uses dnotify internally when available) rather than gamin.

I also noticed this high CPU/IO load, I put it down to initialisation or
something as I had just installed recently before that.

> I don't think the F5 key is wired in kdesktop. There's a Refresh Desktop in the right click menu though,
> which should do the job.

ah yes, shall I file a bug to get the F5 key wired in kdesktop? Or is
there something which would preclude that key from working there?

Best regards
Jon
Comment 5 David Faure 2006-10-12 19:17:48 UTC
SVN commit 594871 by dfaure:

Fix F5 not doing anything on the desktop; this is useful not only when kdirwatch is broken but also when
the mimetype of a file changes (e.g.  cp /dev/null foo; echo bar > foo  -- changes size but also mimetype).
CCBUG: 135427


 M  +3 -0      kdiconview.cc  
 M  +3 -1      kdiconview.h  


--- branches/KDE/3.5/kdebase/kdesktop/kdiconview.cc #594870:594871
@@ -431,6 +431,9 @@
         KAction *pasteTo = KStdAction::paste( this, SLOT( slotPopupPasteTo() ), &m_actionCollection, "pasteto" );
         pasteTo->setEnabled( false ); // only enabled during popupMenu()
 
+        KShortcut reloadShortcut = KStdAccel::shortcut(KStdAccel::Reload);
+        new KAction( i18n( "&Reload" ), "reload", reloadShortcut, this, SLOT( refreshIcons() ), &m_actionCollection, "reload" );
+
         (void) new KAction( i18n( "&Rename" ), /*"editrename",*/ Key_F2, this, SLOT( renameSelectedItem() ), &m_actionCollection, "rename" );
         (void) new KAction( i18n( "&Properties" ), ALT+Key_Return, this, SLOT( slotProperties() ), &m_actionCollection, "properties" );
         KAction* trash = new KAction( i18n( "&Move to Trash" ), "edittrash", Key_Delete, &m_actionCollection, "trash" );
--- branches/KDE/3.5/kdebase/kdesktop/kdiconview.h #594870:594871
@@ -71,7 +71,6 @@
 
     void setAutoAlign( bool b );
 
-    void refreshIcons();
     QStringList selectedURLs();
 
     /**
@@ -105,6 +104,7 @@
     void startDirLister();
 
 protected slots:
+
     // slots connected to the icon view
     void slotReturnPressed( QIconViewItem *item );
     void slotExecuted( QIconViewItem *item );
@@ -150,7 +150,9 @@
     void lineupIcons();
     void slotPaste(); // for krootwm
     void slotClear();
+    void refreshIcons();
 
+
 protected:
     void createActions();
     void setupSortKeys();
Comment 6 David Faure 2006-10-12 19:49:26 UTC
On Thursday 12 October 2006 18:43, jg@jguk.org wrote:
> Would be great if there was a way to run a kdelibs-info program which
> displayed details like this. Could such an idea be added to the bug DB?

Bah. We need more code, not more bug reports ;)

> >> gam_server was running a few weeks ago I noticed when I looked at running processes, it's not running now. I don't remember doing anything to disable it, do you know if it should be running?
> > 
> > Yes if you use gamin then you need gam_server. On the other hand I have had rather bad
> > experiences with the whole gamin thing (e.g. high CPU/IO load), so I would recommend using
> > dnotify or normal fam (which actually uses dnotify internally when available) rather than gamin.
> I also noticed this high CPU/IO load, I put it down to initialisation or
> something as I had just installed recently before that.

I saw gamin polling all the time, that's not just initialization...

> ah yes, shall I file a bug to get the F5 key wired in kdesktop?

Bah. Done :)
Comment 7 jg 2006-10-15 22:11:00 UTC
Hi,

While running ksnapshot from the Konsole I noticed this output below. Does this mean that kdelibs was compiled with DNotify turned on?

Cheers
Jon

kio (KDirWatch): Cancelled DNotify (fd 128) for /home/now3d
Comment 8 David Faure 2006-10-16 10:08:54 UTC
Yes your KDirWatch is using DNotify then.
Dirk: it seems that file size changes are not being reported.
Comment 9 FiNeX 2008-12-10 03:07:37 UTC
Kdesktop is no more mantained. Fortunatly this bug seems not to be valid for
KDE 4. Please reopen if this bug is not a kdesktop one (and it is not solved)
or it can be reproduced on KDE 4.
Comment 10 FiNeX 2009-01-02 20:33:23 UTC
Bug closed. Kdesktop is no more mantained.