Public bug reported: 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/python3.8/logging/handlers.py", line 69, in emit if self.shouldRollover(record): File "/usr/lib/python3.8/logging/handlers.py", line 183, in shouldRollover self.stream = self._open() File "/usr/lib/python3.8/logging/__init__.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) PermissionError: [Errno 13] Permission denied: '/tmp/app.log' Call stack: File "/tmp/.shredder-bootstrap.py.EE1CD1", line 19, in <module> File "/usr/lib/python3/dist-packages/shredder/__init__.py", line 42, in run_gui ROOT_LOGGER.info('Starting up.') Message: 'Starting up.' Arguments: () 13:55:33 ⚐ INFO root:42: Starting up. --- Logging error --- Traceback (most recent call last): File "/usr/lib/python3.8/logging/handlers.py", line 69, in emit if self.shouldRollover(record): File "/usr/lib/python3.8/logging/handlers.py", line 183, in shouldRollover self.stream = self._open() File "/usr/lib/python3.8/logging/__init__.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) PermissionError: [Errno 13] Permission denied: '/tmp/app.log' Call stack: File "/tmp/.shredder-bootstrap.py.EE1CD1", line 19, in <module> File "/usr/lib/python3/dist-packages/shredder/__init__.py", line 43, in run_gui sys.exit(APP.run([sys.argv[0]])) File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 44, in run return Gio.Application.run(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/shredder/application.py", line 102, in do_startup LOGGER.info('Loading resources from: ' + resource_file) Message: 'Loading resources from: /usr/lib/python3/dist-packages/shredder/resources/shredder.gresource' Arguments: () 13:55:33 ⚐ INFO application:102: Loading resources from: /usr/lib/python3/dist-packages/shredder/resources/shredder.gresource --- Logging error --- Traceback (most recent call last): File "/usr/lib/python3.8/logging/handlers.py", line 69, in emit if self.shouldRollover(record): File "/usr/lib/python3.8/logging/handlers.py", line 183, in shouldRollover self.stream = self._open() File "/usr/lib/python3.8/logging/__init__.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) PermissionError: [Errno 13] Permission denied: '/tmp/app.log' Call stack: File "/tmp/.shredder-bootstrap.py.EE1CD1", line 19, in <module> File "/usr/lib/python3/dist-packages/shredder/__init__.py", line 43, in run_gui sys.exit(APP.run([sys.argv[0]])) File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 44, in run return Gio.Application.run(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/shredder/application.py", line 148, in do_startup LOGGER.debug('Instancing views.') Message: 'Instancing views.' Arguments: () 13:55:33 ⚙ DEBUG application:148: Instancing views. --- Logging error --- Traceback (most recent call last): File "/usr/lib/python3.8/logging/handlers.py", line 69, in emit if self.shouldRollover(record): File "/usr/lib/python3.8/logging/handlers.py", line 183, in shouldRollover self.stream = self._open() File "/usr/lib/python3.8/logging/__init__.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) PermissionError: [Errno 13] Permission denied: '/tmp/app.log' Call stack: File "/tmp/.shredder-bootstrap.py.EE1CD1", line 19, in <module> File "/usr/lib/python3/dist-packages/shredder/__init__.py", line 43, in run_gui sys.exit(APP.run([sys.argv[0]])) File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 44, in run return Gio.Application.run(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/shredder/application.py", line 150, in do_startup self.win.views.add_view(LocationView(self), 'locations') File "/usr/lib/python3/dist-packages/shredder/views/locations.py", line 290, in __init__ self.load_entries_from_disk(entries) File "/usr/lib/python3/dist-packages/shredder/views/locations.py", line 343, in load_entries_from_disk LOGGER.info('Loading entries initially') Message: 'Loading entries initially' Arguments: () 13:55:33 ⚐ INFO locations:343: Loading entries initially --- Logging error --- Traceback (most recent call last): File "/usr/lib/python3.8/logging/handlers.py", line 69, in emit if self.shouldRollover(record): File "/usr/lib/python3.8/logging/handlers.py", line 183, in shouldRollover self.stream = self._open() File "/usr/lib/python3.8/logging/__init__.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) PermissionError: [Errno 13] Permission denied: '/tmp/app.log' Call stack: File "/tmp/.shredder-bootstrap.py.EE1CD1", line 19, in <module> File "/usr/lib/python3/dist-packages/shredder/__init__.py", line 43, in run_gui sys.exit(APP.run([sys.argv[0]])) File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 44, in run return Gio.Application.run(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/shredder/application.py", line 152, in do_startup self.win.views.add_view(EditorView(self), 'editor') File "/usr/lib/python3/dist-packages/shredder/views/editor.py", line 514, in __init__ self.text_view, buffer_ = _create_source_view() File "/usr/lib/python3/dist-packages/shredder/views/editor.py", line 52, in _create_source_view LOGGER.info('Using GtkSourceView since we have it.') 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/python3.8/logging/handlers.py", line 69, in emit if self.shouldRollover(record): File "/usr/lib/python3.8/logging/handlers.py", line 183, in shouldRollover self.stream = self._open() File "/usr/lib/python3.8/logging/__init__.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) PermissionError: [Errno 13] Permission denied: '/tmp/app.log' Call stack: File "/tmp/.shredder-bootstrap.py.EE1CD1", line 19, in <module> File "/usr/lib/python3/dist-packages/shredder/__init__.py", line 43, in run_gui sys.exit(APP.run([sys.argv[0]])) File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 44, in run return Gio.Application.run(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/shredder/application.py", line 153, in do_startup LOGGER.debug('Done instancing views.') Message: 'Done instancing views.' Arguments: () 13:55:33 ⚙ DEBUG application:153: Done instancing views. /usr/lib/python3/dist-packages/shredder/runner.py:170: Warning: g_variant_get_boolean: assertion 'g_variant_is_of_type (value, G_VARIANT_TYPE_BOOLEAN)' failed cfg.get_boolean('computation-algorithm')) --- Logging error --- Traceback (most recent call last): File "/usr/lib/python3.8/logging/handlers.py", line 69, in emit if self.shouldRollover(record): File "/usr/lib/python3.8/logging/handlers.py", line 183, in shouldRollover self.stream = self._open() File "/usr/lib/python3.8/logging/__init__.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) PermissionError: [Errno 13] Permission denied: '/tmp/app.log' Call stack: File "/tmp/.shredder-bootstrap.py.EE1CD1", line 19, in <module> File "/usr/lib/python3/dist-packages/shredder/__init__.py", line 43, in run_gui sys.exit(APP.run([sys.argv[0]])) File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 44, in run return Gio.Application.run(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/shredder/views/locations.py", line 580, in _run_clicked self.scan_paths(untagged, tagged) File "/usr/lib/python3/dist-packages/shredder/views/locations.py", line 591, in scan_paths main_view.trigger_run(untagged, tagged) File "/usr/lib/python3/dist-packages/shredder/views/runner.py", line 257, in trigger_run self.runner.run() File "/usr/lib/python3/dist-packages/shredder/runner.py", line 332, in run self.process = _create_rmlint_process( File "/usr/lib/python3/dist-packages/shredder/runner.py", line 216, in _create_rmlint_process LOGGER.info('Running: ' + ' '.join(cmdline)) Message: 'Running: rmlint --no-with-color -T duplicates --see-symlinks --hidden -c sh:handler=remove --hardlinked --no-crossdev --size 1-18446744073709551615 --max-depth 512 -o json -c json:oneline /home/ajt/Documents/Work/Minke' 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-18446744073709551615 --max-depth 512 -o json -c json:oneline /home/ajt/Documents/Work/Minke --- Logging error --- Traceback (most recent call last): File "/usr/lib/python3.8/logging/handlers.py", line 69, in emit if self.shouldRollover(record): File "/usr/lib/python3.8/logging/handlers.py", line 183, in shouldRollover self.stream = self._open() File "/usr/lib/python3.8/logging/__init__.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) PermissionError: [Errno 13] Permission denied: '/tmp/app.log' Call stack: File "/tmp/.shredder-bootstrap.py.EE1CD1", line 19, in <module> File "/usr/lib/python3/dist-packages/shredder/__init__.py", line 43, in run_gui sys.exit(APP.run([sys.argv[0]])) File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 44, in run return Gio.Application.run(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/shredder/runner.py", line 299, in on_io_event self.emit('process-finished', self._message) File "/usr/lib/python3/dist-packages/shredder/views/runner.py", line 304, in on_process_finish LOGGER.info('`rmlint` finished.') Message: '`rmlint` finished.' Arguments: () 13:55:40 ⚐ INFO runview:304: `rmlint` finished. Traceback (most recent call last): File "/usr/lib/python3/dist-packages/shredder/util.py", line 855, in on_unit_changed self.emit('value-changed', self.get_bytes()) TypeError: could not convert type float to gint required for parameter 0 /usr/lib/python3/dist-packages/shredder/runner.py:170: Warning: g_variant_get_boolean: assertion 'g_variant_is_of_type (value, G_VARIANT_TYPE_BOOLEAN)' failed cfg.get_boolean('computation-algorithm')) --- Logging error --- Traceback (most recent call last): File "/usr/lib/python3.8/logging/handlers.py", line 69, in emit if self.shouldRollover(record): File "/usr/lib/python3.8/logging/handlers.py", line 183, in shouldRollover self.stream = self._open() File "/usr/lib/python3.8/logging/__init__.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) PermissionError: [Errno 13] Permission denied: '/tmp/app.log' Call stack: File "/tmp/.shredder-bootstrap.py.EE1CD1", line 19, in <module> File "/usr/lib/python3/dist-packages/shredder/__init__.py", line 43, in run_gui sys.exit(APP.run([sys.argv[0]])) File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 44, in run return Gio.Application.run(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/shredder/views/locations.py", line 580, in _run_clicked self.scan_paths(untagged, tagged) File "/usr/lib/python3/dist-packages/shredder/views/locations.py", line 591, in scan_paths main_view.trigger_run(untagged, tagged) File "/usr/lib/python3/dist-packages/shredder/views/runner.py", line 257, in trigger_run self.runner.run() File "/usr/lib/python3/dist-packages/shredder/runner.py", line 332, in run self.process = _create_rmlint_process( File "/usr/lib/python3/dist-packages/shredder/runner.py", line 216, in _create_rmlint_process LOGGER.info('Running: ' + ' '.join(cmdline)) 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/Documents/Work/Minke' 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/Documents/Work/Minke --- Logging error --- Traceback (most recent call last): File "/usr/lib/python3.8/logging/handlers.py", line 69, in emit if self.shouldRollover(record): File "/usr/lib/python3.8/logging/handlers.py", line 183, in shouldRollover self.stream = self._open() File "/usr/lib/python3.8/logging/__init__.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) PermissionError: [Errno 13] Permission denied: '/tmp/app.log' Call stack: File "/tmp/.shredder-bootstrap.py.EE1CD1", line 19, in <module> File "/usr/lib/python3/dist-packages/shredder/__init__.py", line 43, in run_gui sys.exit(APP.run([sys.argv[0]])) File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 44, in run return Gio.Application.run(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/shredder/tree.py", line 505, in _add_defer 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/python3.8/logging/handlers.py", line 69, in emit if self.shouldRollover(record): File "/usr/lib/python3.8/logging/handlers.py", line 183, in shouldRollover self.stream = self._open() File "/usr/lib/python3.8/logging/__init__.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) PermissionError: [Errno 13] Permission denied: '/tmp/app.log' Call stack: File "/tmp/.shredder-bootstrap.py.EE1CD1", line 19, in <module> File "/usr/lib/python3/dist-packages/shredder/__init__.py", line 43, in run_gui sys.exit(APP.run([sys.argv[0]])) File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 44, in run return Gio.Application.run(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/shredder/tree.py", line 505, in _add_defer 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/python3.8/logging/handlers.py", line 69, in emit if self.shouldRollover(record): File "/usr/lib/python3.8/logging/handlers.py", line 183, in shouldRollover self.stream = self._open() File "/usr/lib/python3.8/logging/__init__.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) PermissionError: [Errno 13] Permission denied: '/tmp/app.log' Call stack: File "/tmp/.shredder-bootstrap.py.EE1CD1", line 19, in <module> File "/usr/lib/python3/dist-packages/shredder/__init__.py", line 43, in run_gui sys.exit(APP.run([sys.argv[0]])) File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 44, in run return Gio.Application.run(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/shredder/runner.py", line 299, in on_io_event self.emit('process-finished', self._message) File "/usr/lib/python3/dist-packages/shredder/views/runner.py", line 304, in on_process_finish LOGGER.info('`rmlint` finished.') Message: '`rmlint` finished.' Arguments: () 13:56:13 ⚐ INFO runview:304: `rmlint` finished. --- Logging error --- Traceback (most recent call last): File "/usr/lib/python3.8/logging/handlers.py", line 69, in emit if self.shouldRollover(record): File "/usr/lib/python3.8/logging/handlers.py", line 183, in shouldRollover self.stream = self._open() File "/usr/lib/python3.8/logging/__init__.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) PermissionError: [Errno 13] Permission denied: '/tmp/app.log' Call stack: File "/tmp/.shredder-bootstrap.py.EE1CD1", line 19, in <module> File "/usr/lib/python3/dist-packages/shredder/__init__.py", line 43, in run_gui sys.exit(APP.run([sys.argv[0]])) File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 44, in run return Gio.Application.run(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/shredder/tree.py", line 505, in _add_defer 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/python3.8/logging/handlers.py", line 69, in emit if self.shouldRollover(record): File "/usr/lib/python3.8/logging/handlers.py", line 183, in shouldRollover self.stream = self._open() File "/usr/lib/python3.8/logging/__init__.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) PermissionError: [Errno 13] Permission denied: '/tmp/app.log' Call stack: File "/tmp/.shredder-bootstrap.py.EE1CD1", line 19, in <module> File "/usr/lib/python3/dist-packages/shredder/__init__.py", line 43, in run_gui sys.exit(APP.run([sys.argv[0]])) File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 44, in run return Gio.Application.run(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/shredder/views/runner.py", line 329, in on_delayed_chart_render self.rerender_chart() File "/usr/lib/python3/dist-packages/shredder/views/runner.py", line 340, in rerender_chart LOGGER.info('Refreshing chart.') 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 ProcVersionSignature: Ubuntu 5.11.0-40.44~20.04.2-generic 5.11.22 Uname: Linux 5.11.0-40-generic x86_64 NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair ApportVersion: 2.20.11-0ubuntu27.21 Architecture: amd64 CasperMD5CheckResult: skip 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) ** Affects: rmlint (Ubuntu) Importance: Undecided Status: New ** Tags: amd64 apport-bug focal -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1951596 Title: rmlint --gui (aka "Shredder") does not find any files To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/rmlint/+bug/1951596/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs