After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 703349 - Size calculation does not stop, recursive files/folders item count and filesize resets repeatedly
Size calculation does not stop, recursive files/folders item count and filesi...
Status: RESOLVED FIXED
Product: nautilus
Classification: Core
Component: File Properties Dialog
3.8.x
Other Linux
: Normal normal
: ---
Assigned To: Nautilus Maintainers
Nautilus Maintainers
: 721675 729368 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2013-06-30 14:00 UTC by Anatoly Trosinenko
Modified: 2015-09-03 13:48 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Two sample directory structures triggering a bug (53.94 KB, application/gzip)
2013-06-30 14:00 UTC, Anatoly Trosinenko
  Details
properties-window: Only perform deep count for directories (1022 bytes, patch)
2013-10-10 06:39 UTC, Ross Lagerwall
committed Details | Review

Description Anatoly Trosinenko 2013-06-30 14:00:49 UTC
Created attachment 248086 [details]
Two sample directory structures triggering a bug

When I select multiple objects in Nautilus and open Properties dialog it 
does not stop total size calculation sometimes and infinitely repeats 
calculations instead.

Software Version:
Ubuntu 13.04 with all updates installed.
Package: nautilus 1:3.6.3-0ubuntu16

Steps to Reproduce:
1) Unpack example.tar.gz
2) Open Nautilus and navigate to example or example-minimal directory
3) Select all objects (one file and one directory) and open Properties dialog

Actual Results:
"Contents" field is being recalculated infinitely (in case of example-minimal
there are no changes in label but indicator next to it constantly spins and
nautilus process wastes CPU time).

Expected Results:
Total file size in "Contents:" field after size calculation finishes.

Links:
This bug is already reported on Launchpad several times. 
Maintainers asked someone having this bug to report it upstream.

https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/1131571
https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/1162117
https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/1176368
Comment 1 Edouard 2013-07-04 06:47:20 UTC
Same bug on Fedora 19 Gnome 3.8
Comment 2 Ross Lagerwall 2013-10-10 06:39:40 UTC
Created attachment 256877 [details] [review]
properties-window: Only perform deep count for directories

Prevent the spinner running endlessly when files are selected by only
starting the deep count for directories.
Comment 3 Ross Lagerwall 2013-11-16 16:46:05 UTC
Ping. Would it be possible to review this relatively simple patch?
Comment 4 Michael Catanzaro 2013-11-21 03:25:46 UTC
Review of attachment 256877 [details] [review]:

Obviously correct, but it'd be good to fix nautilus_file_recompute_deep_counts as well.
Comment 5 Michael Catanzaro 2013-12-08 21:29:39 UTC
Comment on attachment 256877 [details] [review]
properties-window: Only perform deep count for directories

Attachment 256877 [details] pushed as 1eae084 - properties-window: Only perform deep count for directories
Comment 6 Ross Lagerwall 2013-12-09 04:22:19 UTC
(In reply to comment #4)
> Review of attachment 256877 [details] [review]:
> 
> Obviously correct, but it'd be good to fix nautilus_file_recompute_deep_counts
> as well.

I don't know the code very well, but isn't this done already in deep_count_start() in nautilus_directory_async.c?
Comment 7 Michael Catanzaro 2013-12-09 16:17:04 UTC
(In reply to comment #6)
> (In reply to comment #4)
> > Review of attachment 256877 [details] [review] [details]:
> > 
> > Obviously correct, but it'd be good to fix nautilus_file_recompute_deep_counts
> > as well.
> 
> I don't know the code very well, but isn't this done already in
> deep_count_start() in nautilus_directory_async.c?

Looks like it, but then why does the spinner never stop?  I pushed your patch because it works, but left this open so that someone more familiar with that code might take a look eventually.

There's also another call to start_deep_count_for_file() in properties_window_update().
Comment 8 Ross Lagerwall 2013-12-11 17:12:35 UTC
(In reply to comment #7)
> > I don't know the code very well, but isn't this done already in
> > deep_count_start() in nautilus_directory_async.c?
> 
> Looks like it, but then why does the spinner never stop?  I pushed your patch
> because it works, but left this open so that someone more familiar with that
> code might take a look eventually.

Doesn't it stop?  It does for me on the test case above.
Comment 9 Michael Catanzaro 2013-12-11 17:59:17 UTC
I meant: why doesn't the spinner stop without your patch.  Your patch works fine.  My concern is just that if we need to protect the call to deep_count_start() in one location, the other call probably should be protected as well.
Comment 10 António Fernandes 2014-01-07 14:19:37 UTC
*** Bug 721675 has been marked as a duplicate of this bug. ***
Comment 11 António Fernandes 2014-05-02 15:00:16 UTC
*** Bug 729368 has been marked as a duplicate of this bug. ***
Comment 12 Michael Catanzaro 2014-05-03 00:40:48 UTC
Cosimo took a look at this recently for Bug #698895, so I think this can be closed.
Comment 13 Christian Klomp 2015-03-19 23:25:34 UTC
Unfortunately this doesn't seem properly fixed yet or has regressed (nautilus 3.14.2).
The examples work fine but occasionally I stumble upon folders that still trigger it.

Steps to Reproduce:
1) download some big tarbal (one with lots of files and dirs seems to trigger it, e.g. https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.19.2.tar.xz).
2) extract it and enter the folder with the kernel.
3) Select all files and folders and open Properties dialog.

P.S. I'm not sure whether I should mention this here or open another bug for it (it seems like it is the very same bug so I just went ahead).
Comment 14 António Fernandes 2015-09-03 13:48:58 UTC
I can also reproduce the size calculation reset loop, but not with the examples in comment 0. So, yes, this particular case is fixed, bug other examples still hit the bug. See bug 754505, recently reported.