Version: 3.3.2 (using KDE 3.3.2, Gentoo)
Compiler: gcc version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)
OS: Linux (i686) release 2.6.10-gentoo-r4
If I copy a large (i.e 3GB or more) file from one computer to another using the Samba part of Konqueror, the progress meter shows very wrong values after around 2GB of file copied.
According to the progress meter, the file is 100% copied and was 16,777,216.0 TB in size.
Which is slightly wrong I think ;-)
The file copying appeared to continue and completed OK though.
Does it happen only when Samba is one of the endpoints? Or does it happen when copying such files across different paths in the local system as well?
I can confirm the bug (when copying from smb to local file).
Did not check local/local.
Forgot to add: this is KDE 3.5.2
I can confirm this aswell, when 2.0 GB is copied dialog shows strange values. After a while it starts over from zero % aswell (see screenshot). I am copying from smb to local drive.
the result of the copy seems fine, only progress that is bugged.
I tried a local / local copy and that one worked.
So I had a look at the sources of the smb kioslave and I think I might have found the problem.
In file kdebase-3.5.2/kioslave/smb/kio_smb_dir.cpp line 51:
int processed_size = 0;
I think that should be:
ssize_t processed_size = 0;
However I couldn't test it, make tells me (after executing kdebase-3.5.2/configure):
make: *** No targets specified and no makefile found. Stop.
I guess I missed some preparation steps but perhaps it helps you anyway. At least it *could* be the reason for that TB filesize value.
SVN commit 608111 by mkoller:
Fix correct display of file size transfers > 2GB
M +1 -1 kio_smb_browse.cpp
M +1 -1 kio_smb_dir.cpp
M +2 -2 kio_smb_file.cpp
--- branches/KDE/3.5/kdebase/kioslave/smb/kio_smb_browse.cpp #608110:608111
@@ -47,7 +47,7 @@
int result = smbc_stat( url.toSmbcUrl(), st);
kdDebug(KIO_SMB) << "smbc_stat " << url << " " << errno << " " << result << endl;
- kdDebug(KIO_SMB) << "size " << (long)st->st_size << endl;
+ kdDebug(KIO_SMB) << "size " << (KIO::filesize_t)st->st_size << endl;
--- branches/KDE/3.5/kdebase/kioslave/smb/kio_smb_dir.cpp #608110:608111
@@ -48,7 +48,7 @@
int srcfd = -1;
int dstfd = -1;
- int processed_size = 0;
+ KIO::filesize_t processed_size = 0;
unsigned char buf[MAX_XFER_BUF_SIZE];
kdDebug(KIO_SMB) << "SMBSlave::copy with src = " << ksrc << "and dest = " << kdst << endl;
--- branches/KDE/3.5/kdebase/kioslave/smb/kio_smb_file.cpp #608110:608111
@@ -44,7 +44,7 @@
// time_t curtime = 0;
time_t lasttime = 0;
time_t starttime = 0;
- ssize_t totalbytesread = 0;
+ KIO::filesize_t totalbytesread = 0;
@@ -122,7 +122,7 @@
data( QByteArray() );
- processedSize( st.st_size);
*** Bug 85653 has been marked as a duplicate of this bug. ***
*** Bug 107189 has been marked as a duplicate of this bug. ***
*** Bug 128241 has been marked as a duplicate of this bug. ***
*** Bug 112850 has been marked as a duplicate of this bug. ***
*** Bug 140199 has been marked as a duplicate of this bug. ***