backintime
backintime copied to clipboard
Manually removing a snapshot in the GUI does not work.
Describe the problem, feature or ask a question:
SUMMARY
Manually removing a snapshot in the GUI does not work.
STEPS TO REPRODUCE
- Select a snapshot on the left (the 'Snapshots' list).
- Click 'Remove snapshot' button on the toolbar or select 'Backup\Remove snapshot' from the menu.
- View the result in the backup directory and the 'Snapshots' list.
OBSERVED RESULT
Directory and files of shapshot were not removed. Snapshot in 'Snapshots' list is colored to grey but does not disappear.
EXPECTED RESULT
The snapshot is completely removed. The snapshot disappears from the 'Snapshots' list.
SOFTWARE/OS VERSIONS
Back In Time: 1.5.4 Operating System: Fedora Linux 42 KDE Plasma Version: 6.3.5 KDE Frameworks Version: 6.14.0 Qt Version: 6.9.1 Kernel Version: 6.14.11-300.fc42.x86_64 (64-bit)
ADDITIONAL INFORMATION
Auto remove using retention policy removes snapshots.
Thank you for reporting this. It somehow rings a bell. Have read about that behavior earlier, but I am not able to find the ticket. Anyway.
It seems an error occurs while removing is executed. But BIT is not verbose enough about that. No message about that error.
Please run in a shell backintime snapshots-list (if needed add --profile NAME) to it. Get the ID of the snapshot you want to remove.
Now use the CLI again with the --debug option to remove that snapshot.
$ backintime remove ID --profile NAME --debug
Pleas post the full output or if you can find the related error.
Using the CLI the snapshot is removed well (the snapshot's directory is removed; the snapshot disappears form the snapshot list).
Output:
$backintime remove 20250424-210719-800 --debug
DEBUG: [common/backintime.py:668 argParse] Argument(s) used: {'debug': True, 'quiet': False, 'command': 'remove', 'SNAPSHOT_ID': ['20250424-210719-800'], 'func': <function remove at 0x7f3c4d980720>}
DEBUG: [common/backintime.py:565 startApp] backintime: {'name': 'Back In Time', 'version': '1.5.5', 'running-as-root': False}; host-setup: {'OS': {'/etc/os-release': 'Fedora Linux 42 (KDE Plasma Desktop Edition)', '/etc/fedora-release': 'Fedora release 42 (Adams)\n', '/etc/redhat-release': 'Fedora release 42 (Adams)\n', '/etc/system-release': 'Fedora release 42 (Adams)\n', '/etc/system-release-cpe': 'cpe:/o:fedoraproject:fedora:42\n'}}
Back In Time
Version: 1.5.5
Back In Time comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; type `backintime --license' for details.
DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Основной профиль
DEBUG: [common/tools.py:225 initiate_translation] Language code "en".
DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
DEBUG: [common/backintime.py:754 getConfig] config file: "/home/alpha/.config/backintime/config"; share path: "/home/alpha/.local/share/backintime"; profiles: "1=Main profile, 2=VM, 3=Win"
DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/alpha/.config/python_keyring
DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.libsecret.Keyring (priority: 4.8)
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.kwallet.DBusKeyring (priority: 5.1)
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: 10)
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.SecretService.Keyring (priority: 5)
DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
DEBUG: [common/tools.py:1599 keyringSupported] Found appropriate keyring 'keyring.backends.chainer'
DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/usr/bin/backintime', 'pw-cache', 'start']
DEBUG: [common/pluginmanager.py:233 PluginManager.load] Register plugin path /usr/share/backintime/plugins
DEBUG: [common/pluginmanager.py:254 PluginManager.load] Add plugin notifyplugin.py
DEBUG: [common/tools.py:1116 is_Qt_working] Qt probing result: exit code 2
DEBUG: [common/tools.py:1120 is_Qt_working] Qt probing stdout:
DEBUG: [common/tools.py:1121 is_Qt_working] Qt probing errout:
DEBUG: [common/qt_probing.py:96 <module>] /usr/share/backintime/common/qt_probing.py started... Call args: ['/usr/share/backintime/common/qt_probing.py', '--debug']
DEBUG: [common/qt_probing.py:97 <module>] Display system: wayland
DEBUG: [common/qt_probing.py:98 <module>] XDG_RUNTIME_DIR=/run/user/1000
DEBUG: [common/qt_probing.py:99 <module>] XAUTHORITY=/run/user/1000/xauth_YyXJOR
DEBUG: [common/qt_probing.py:100 <module>] QT_QPA_PLATFORM=($QT_QPA_PLATFORM is not set)
DEBUG: [common/qt_probing.py:102 <module>] Current euid: 1000
QSettings::value: Empty key passed
DEBUG: [common/qt_probing.py:134 <module>] isSystemTrayAvailable for Qt: True
DEBUG: [common/qt_probing.py:139 <module>] /usr/share/backintime/common/qt_probing.py is terminating normally (exit code: 2)
DEBUG: [plugins/systrayiconplugin.py:62 init] System tray is available to show the BiT system tray icon
DEBUG: [common/pluginmanager.py:254 PluginManager.load] Add plugin systrayiconplugin.py
Do you really want to remove these snapshots?
2025-04-24 21:07:19
(no/yes): yes
DEBUG: [common/cli.py:45 Execute.remove] Call command "rsync -a --delete -s /tmp/tmpyptzb038/ /media/sync-backup/backintime/Home/20250424-210719-800"
DEBUG: [common/tools.py:2616 run] Starting command 'rsync -a --delete -s /tmp/tmpyptzb038/ /media/sync-backup/backintime/Home/20250424-210719-800'
DEBUG: [common/cli.py:45 Execute.remove] Command "rsync -a --delet" returns 0
DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/alpha/.config/python_keyring
DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.libsecret.Keyring (priority: 4.8)
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.kwallet.DBusKeyring (priority: 5.1)
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: 10)
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.SecretService.Keyring (priority: 5)
DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
DEBUG: [common/tools.py:1599 keyringSupported] Found appropriate keyring 'keyring.backends.chainer'
DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/usr/bin/backintime', 'pw-cache', 'start']
But 1 minutes before I tried to remove the snapshot by GUI, and snapshot was not removed. I think the problem is only in GUI - the remove command does not work correctly.
Thank you for checking. Can you please run the gui in debug mode and try to reproduce the problem. "backintime-qt --debug "
Output:
$ backintime-qt --debug
DEBUG: [common/backintime.py:668 argParse] Argument(s) used: {'debug': True, 'quiet': False}
DEBUG: [common/backintime.py:565 startApp] backintime: {'name': 'Back In Time', 'version': '1.5.5', 'running-as-root': False}; host-setup: {'OS': {'/etc/os-release': 'Fedora Linux 42 (KDE Plasma Desktop Edition)', '/etc/fedora-release': 'Fedora release 42 (Adams)\n', '/etc/redhat-release': 'Fedora release 42 (Adams)\n', '/etc/system-release': 'Fedora release 42 (Adams)\n', '/etc/system-release-cpe': 'cpe:/o:fedoraproject:fedora:42\n'}}
Back In Time
Version: 1.5.5
Back In Time comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; type `backintime --license' for details.
DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Основной профиль
DEBUG: [common/tools.py:225 initiate_translation] Language code "en".
DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
DEBUG: [common/backintime.py:754 getConfig] config file: "/home/alpha/.config/backintime/config"; share path: "/home/alpha/.local/share/backintime"; profiles: "1=Main profile, 2=VM, 3=Win"
DEBUG: [common/pluginmanager.py:233 PluginManager.load] Register plugin path /usr/share/backintime/plugins
DEBUG: [common/pluginmanager.py:254 PluginManager.load] Add plugin notifyplugin.py
DEBUG: [common/tools.py:1116 is_Qt_working] Qt probing result: exit code 2
DEBUG: [common/tools.py:1120 is_Qt_working] Qt probing stdout:
DEBUG: [common/tools.py:1121 is_Qt_working] Qt probing errout:
DEBUG: [common/qt_probing.py:96 <module>] /usr/share/backintime/common/qt_probing.py started... Call args: ['/usr/share/backintime/common/qt_probing.py', '--debug']
DEBUG: [common/qt_probing.py:97 <module>] Display system: wayland
DEBUG: [common/qt_probing.py:98 <module>] XDG_RUNTIME_DIR=/run/user/1000
DEBUG: [common/qt_probing.py:99 <module>] XAUTHORITY=/run/user/1000/xauth_IKQIVH
DEBUG: [common/qt_probing.py:100 <module>] QT_QPA_PLATFORM=($QT_QPA_PLATFORM is not set)
DEBUG: [common/qt_probing.py:102 <module>] Current euid: 1000
QSettings::value: Empty key passed
DEBUG: [common/qt_probing.py:134 <module>] isSystemTrayAvailable for Qt: True
DEBUG: [common/qt_probing.py:139 <module>] /usr/share/backintime/common/qt_probing.py is terminating normally (exit code: 2)
DEBUG: [plugins/systrayiconplugin.py:62 init] System tray is available to show the BiT system tray icon
DEBUG: [common/pluginmanager.py:254 PluginManager.load] Add plugin systrayiconplugin.py
DEBUG: [qt/qttools.py:355 createQApplication] QT QPA platform plugin: wayland
DEBUG: [qt/qttools.py:356 createQApplication] QT_QPA_PLATFORMTHEME=<not set>
DEBUG: [qt/qttools.py:361 createQApplication] QT_STYLE_OVERRIDE=<not set>
DEBUG: [qt/qttools.py:364 createQApplication] QT active style: breeze
DEBUG: [qt/qttools.py:365 createQApplication] QT fallback style: breeze
DEBUG: [qt/qttools.py:366 createQApplication] QT supported styles: ['Breeze', 'Windows', 'Fusion']
DEBUG: [qt/qttools.py:367 createQApplication] themeSearchPaths: ['/home/alpha/.local/share/icons', '/var/lib/flatpak/exports/share/icons', '/usr/share/icons', ':/icons']
DEBUG: [qt/qttools.py:368 createQApplication] fallbackSearchPaths: []
DEBUG: [qt/qttools.py:373 createQApplication] Is SystemTray available: True
DEBUG: [qt/qttools.py:395 createQApplication] Trying to set App ID for non-privileged user
DEBUG: [qt/qttools.py:434 initiate_translator] Language code "en".
DEBUG: [qt/statedata.py:145 file_path] State file path: /home/alpha/.local/state/backintime-qt.json
DEBUG: [qt/icon.py:11 <module>] Checking if the current theme contains the BiT icon...
DEBUG: [qt/icon.py:23 <module>] Found an installed theme: breeze
DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/alpha/.config/python_keyring
DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.kwallet.DBusKeyring (priority: 5.1)
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.SecretService.Keyring (priority: 5)
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: 10)
DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.libsecret.Keyring (priority: 4.8)
DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
DEBUG: [common/tools.py:1599 keyringSupported] Found appropriate keyring 'keyring.backends.chainer'
DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/usr/bin/backintime', 'pw-cache', 'start']
DEBUG: [common/config.py:1514 Config._cron_line] Profile: Main profile | Automatic backup: 0
DEBUG: [common/config.py:1514 Config._cron_line] Profile: VM | Automatic backup: 0
DEBUG: [common/config.py:1514 Config._cron_line] Profile: Win | Automatic backup: 0
Traceback (most recent call last):
File "/usr/share/backintime/qt/app.py", line 2234, in run
self.config.inhibitCookie = tools.inhibitSuspend(toplevel_xid = self.config.xWindowId,
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
reason = 'deleting snapshots')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/backintime/common/tools.py", line 2045, in inhibitSuspend
cookie = proxy(*[(app_id, dbus.UInt32(toplevel_xid), reason, dbus.UInt32(flags))[i] for i in dbus_props['arguments']])
~~~~~~~~~~~^^^^^^^^^^^^^^
OverflowError: Value 1327152672 out of range for UInt32
That helps a lot. Thank you. I am diving deeper...
Rational
It is a duplicate of issue #2084 which was fixed by PR #2099. The fix is contained in the latest development version (1.6.0-dev) but was not released yet in a stable version.
Fixes and workarounds
Please do not update to 1.6.0-dev. The current dev version is far away from the latest release and quit unstable.
As a workaround a tiny modification of the sources on your side would fix it. Please read this issue comment for details.
For my own docu:
You are the second user reporting this problem. I have not released a hot fix, because the problem is not reproducible for sure and very rare. I will monitor the situation. I never modified the underlying code. My assumption is that the migration from PyQT5 to version 6 in BIT version 1.5.0 changed the behavior of Qt (related to QWindow.winId()) and this problem occurs from time to time.
Fixed in release 1.5.6. Hope it will make it into current Debian stable.