rmlint --gui (aka "Shredder") does not find any files
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
rmlint (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
There is a bug in the default max file size of 16 Petabytes in "Shredder" being interpreted as a negative number and causing an error exit when "rmlint" is run by the GUI when the selected folder is scanned. In addition, simply changing the Units from e.g. Petabyte to Gigabyte does not enable the "Apply" button, which is only enabled by changing the default value of 16 to e.g. 1.
Another error occurs because the /tmp/app.log file is not removed on exit from the "Shredder" GUI. If a previous user created this log file it can't be overwritten or removed if the s't'icky-bit is set on the /tmp directory. Including the PID in the app.log filename would avoid the problem and allow concurrent instances of "Shredder" to write to "$$app.log".
The following logs captured from a CLI invocation of "Shredder" illustrate how the negative max size problem can be fixed by changing the default values, but the /tmp/app.log problem remains:
ajt@pilot:~$ rmlint --gui
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/
if self.shouldRoll
File "/usr/lib/
self.stream = self._open()
File "/usr/lib/
return open(self.
PermissionError: [Errno 13] Permission denied: '/tmp/app.log'
Call stack:
File "/tmp/.
File "/usr/lib/
ROOT_
Message: 'Starting up.'
Arguments: ()
13:55:33 ⚐ INFO root:42: Starting up.
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/
if self.shouldRoll
File "/usr/lib/
self.stream = self._open()
File "/usr/lib/
return open(self.
PermissionError: [Errno 13] Permission denied: '/tmp/app.log'
Call stack:
File "/tmp/.
File "/usr/lib/
sys.
File "/usr/lib/
return Gio.Application
File "/usr/lib/
LOGGER.
Message: 'Loading resources from: /usr/lib/
Arguments: ()
13:55:33 ⚐ INFO application:102: Loading resources from: /usr/lib/
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/
if self.shouldRoll
File "/usr/lib/
self.stream = self._open()
File "/usr/lib/
return open(self.
PermissionError: [Errno 13] Permission denied: '/tmp/app.log'
Call stack:
File "/tmp/.
File "/usr/lib/
sys.
File "/usr/lib/
return Gio.Application
File "/usr/lib/
LOGGER.
Message: 'Instancing views.'
Arguments: ()
13:55:33 ⚙ DEBUG application:148: Instancing views.
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/
if self.shouldRoll
File "/usr/lib/
self.stream = self._open()
File "/usr/lib/
return open(self.
PermissionError: [Errno 13] Permission denied: '/tmp/app.log'
Call stack:
File "/tmp/.
File "/usr/lib/
sys.
File "/usr/lib/
return Gio.Application
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
LOGGER.
Message: 'Loading entries initially'
Arguments: ()
13:55:33 ⚐ INFO locations:343: Loading entries initially
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/
if self.shouldRoll
File "/usr/lib/
self.stream = self._open()
File "/usr/lib/
return open(self.
PermissionError: [Errno 13] Permission denied: '/tmp/app.log'
Call stack:
File "/tmp/.
File "/usr/lib/
sys.
File "/usr/lib/
return Gio.Application
File "/usr/lib/
self.
File "/usr/lib/
self.text_view, buffer_ = _create_
File "/usr/lib/
LOGGER.
Message: 'Using GtkSourceView since we have it.'
Arguments: ()
13:55:33 ⚐ INFO editor:52: Using GtkSourceView since we have it.
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/
if self.shouldRoll
File "/usr/lib/
self.stream = self._open()
File "/usr/lib/
return open(self.
PermissionError: [Errno 13] Permission denied: '/tmp/app.log'
Call stack:
File "/tmp/.
File "/usr/lib/
sys.
File "/usr/lib/
return Gio.Application
File "/usr/lib/
LOGGER.
Message: 'Done instancing views.'
Arguments: ()
13:55:33 ⚙ DEBUG application:153: Done instancing views.
/usr/lib/
cfg.get_
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/
if self.shouldRoll
File "/usr/lib/
self.stream = self._open()
File "/usr/lib/
return open(self.
PermissionError: [Errno 13] Permission denied: '/tmp/app.log'
Call stack:
File "/tmp/.
File "/usr/lib/
sys.
File "/usr/lib/
return Gio.Application
File "/usr/lib/
self.
File "/usr/lib/
main_
File "/usr/lib/
self.
File "/usr/lib/
self.process = _create_
File "/usr/lib/
LOGGER.
Message: 'Running: rmlint --no-with-color -T duplicates --see-symlinks --hidden -c sh:handler=remove --hardlinked --no-crossdev --size 1-1844674407370
Arguments: ()
13:55:40 ⚐ INFO runner:216: Running: rmlint --no-with-color -T duplicates --see-symlinks --hidden -c sh:handler=remove --hardlinked --no-crossdev --size 1-1844674407370
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/
if self.shouldRoll
File "/usr/lib/
self.stream = self._open()
File "/usr/lib/
return open(self.
PermissionError: [Errno 13] Permission denied: '/tmp/app.log'
Call stack:
File "/tmp/.
File "/usr/lib/
sys.
File "/usr/lib/
return Gio.Application
File "/usr/lib/
self.
File "/usr/lib/
LOGGER.
Message: '`rmlint` finished.'
Arguments: ()
13:55:40 ⚐ INFO runview:304: `rmlint` finished.
Traceback (most recent call last):
File "/usr/lib/
self.
TypeError: could not convert type float to gint required for parameter 0
/usr/lib/
cfg.get_
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/
if self.shouldRoll
File "/usr/lib/
self.stream = self._open()
File "/usr/lib/
return open(self.
PermissionError: [Errno 13] Permission denied: '/tmp/app.log'
Call stack:
File "/tmp/.
File "/usr/lib/
sys.
File "/usr/lib/
return Gio.Application
File "/usr/lib/
self.
File "/usr/lib/
main_
File "/usr/lib/
self.
File "/usr/lib/
self.process = _create_
File "/usr/lib/
LOGGER.
Message: 'Running: rmlint --no-with-color -T duplicates --see-symlinks --hidden -c sh:handler=remove --hardlinked --no-crossdev --size 1-1099511627776 --max-depth 512 -o json -c json:oneline /home/ajt/
Arguments: ()
13:56:13 ⚐ INFO runner:216: Running: rmlint --no-with-color -T duplicates --see-symlinks --hidden -c sh:handler=remove --hardlinked --no-crossdev --size 1-1099511627776 --max-depth 512 -o json -c json:oneline /home/ajt/
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/
if self.shouldRoll
File "/usr/lib/
self.stream = self._open()
File "/usr/lib/
return open(self.
PermissionError: [Errno 13] Permission denied: '/tmp/app.log'
Call stack:
File "/tmp/.
File "/usr/lib/
sys.
File "/usr/lib/
return Gio.Application
File "/usr/lib/
LOGGER.info(
Message: 'Adding pack: %d/%d'
Arguments: (500, 500)
13:56:13 ⚐ INFO tree:505: Adding pack: 500/500
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/
if self.shouldRoll
File "/usr/lib/
self.stream = self._open()
File "/usr/lib/
return open(self.
PermissionError: [Errno 13] Permission denied: '/tmp/app.log'
Call stack:
File "/tmp/.
File "/usr/lib/
sys.
File "/usr/lib/
return Gio.Application
File "/usr/lib/
LOGGER.info(
Message: 'Adding pack: %d/%d'
Arguments: (500, 500)
13:56:13 ⚐ INFO tree:505: Adding pack: 500/500
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/
if self.shouldRoll
File "/usr/lib/
self.stream = self._open()
File "/usr/lib/
return open(self.
PermissionError: [Errno 13] Permission denied: '/tmp/app.log'
Call stack:
File "/tmp/.
File "/usr/lib/
sys.
File "/usr/lib/
return Gio.Application
File "/usr/lib/
self.
File "/usr/lib/
LOGGER.
Message: '`rmlint` finished.'
Arguments: ()
13:56:13 ⚐ INFO runview:304: `rmlint` finished.
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/
if self.shouldRoll
File "/usr/lib/
self.stream = self._open()
File "/usr/lib/
return open(self.
PermissionError: [Errno 13] Permission denied: '/tmp/app.log'
Call stack:
File "/tmp/.
File "/usr/lib/
sys.
File "/usr/lib/
return Gio.Application
File "/usr/lib/
LOGGER.info(
Message: 'Adding pack: %d/%d'
Arguments: (130, 500)
13:56:13 ⚐ INFO tree:505: Adding pack: 130/500
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/
if self.shouldRoll
File "/usr/lib/
self.stream = self._open()
File "/usr/lib/
return open(self.
PermissionError: [Errno 13] Permission denied: '/tmp/app.log'
Call stack:
File "/tmp/.
File "/usr/lib/
sys.
File "/usr/lib/
return Gio.Application
File "/usr/lib/
self.
File "/usr/lib/
LOGGER.
Message: 'Refreshing chart.'
Arguments: ()
13:56:14 ⚐ INFO runview:340: Refreshing chart.
ajt@pilot:~$
ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: rmlint 2.9.0-2
ProcVersionSign
Uname: Linux 5.11.0-40-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.11-
Architecture: amd64
CasperMD5CheckR
CurrentDesktop: MATE
Date: Fri Nov 19 14:00:36 2021
InstallationDate: Installed on 2020-05-02 (565 days ago)
InstallationMedia: Ubuntu-MATE 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
SourcePackage: rmlint
UpgradeStatus: No upgrade log present (probably fresh install)
This is the error running rmlint with the default 16 PB value:
ajt@pilot:~$ rmlint --no-with-color -T duplicates --see-symlinks --partial-hidden -c sh:handler=remove --hardlinked --crossdev --size 1-1844674407370 9551615 --max-depth 512 -o json -c json:oneline /home/ajt/ Documents/ Work/Minke
ERROR: cannot parse --size: Max is smaller than min.