bit-team / backintime

Back In Time - An easy-to-use backup tool for GNU Linux using rsync in the back
https://backintime.readthedocs.io
GNU General Public License v2.0
1.93k stars 182 forks source link

Application indicator (systray) missing from xfce4-panel after upgrade (Devuan) #1785

Closed pclinuxer closed 3 hours ago

pclinuxer commented 1 week ago

Hello:

Not sure it is enough to post an issue, please advise if that is the case or if this should be reported elsewhere:

... output of the console command backintime --diagnostics.

~$ backintime --diagnostics
{
    "backintime": {
        "name": "Back In Time",
        "version": "1.3.3",
        "latest-config-version": 6,
        "local-config-file": "/home/UsernameReplaced/.config/backintime/config",
        "local-config-file-found": true,
        "global-config-file": "/etc/backintime/config",
        "global-config-file-found": false,
        "started-from": "/usr/share/backintime/common",
        "running-as-root": false,
        "user-callback": "/home/UsernameReplaced/.config/backintime/user-callback",
        "keyring-supported": false
    },
    "host-setup": {
        "platform": "Linux-6.1.0-22-amd64-x86_64-with-glibc2.36",
        "system": "Linux #1 SMP PREEMPT_DYNAMIC Debian 6.1.94-1 (2024-06-21)",
        "os-release": {
            "NAME": "Devuan GNU/Linux",
            "ID": "devuan",
            "PRETTY_NAME": "Devuan GNU/Linux 5 (daedalus)",
            "VERSION_ID": "5",
            "VERSION": "5 (daedalus)",
            "VERSION_CODENAME": "daedalus",
            "ID_LIKE": "debian",
            "HOME_URL": "https://www.devuan.org/",
            "SUPPORT_URL": "https://devuan.org/os/community",
            "BUG_REPORT_URL": "https://bugs.devuan.org/"
        },
        "display-system": "x11",
        "locale": "(Unknown)",
        "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games",
        "RSYNC_OLD_ARGS": "(not set)",
        "RSYNC_PROTECT_ARGS": "(not set)"
    },
    "python-setup": {
        "python": "3.11.2 main May  2 2024 11:59:08 CPython GCC 12.2.0",
        "python-executable": "/usr/bin/python3",
        "python-executable-symlink": true,
        "python-executable-resolved": "/usr/bin/python3.11",
        "sys.path": [
            "/usr/share/backintime/qt/plugins",
            "/usr/share/backintime/common/plugins",
            "/usr/share/backintime/plugins",
            "/usr/share/backintime/common",
            "/usr/lib/python311.zip",
            "/usr/lib/python3.11",
            "/usr/lib/python3.11/lib-dynload",
            "/usr/local/lib/python3.11/dist-packages",
            "/usr/lib/python3/dist-packages"
        ],
        "qt": "PyQt 5.15.9 / Qt 5.15.8"
    },
    "external-programs": {
        "rsync": {
            "program": "rsync",
            "version": "3.2.7",
            "protocol": "31.0",
            "copyright": "(C) 1996-2022 by Andrew Tridgell, Wayne Davison, and others.",
            "url": "https://rsync.samba.org/",
            "capabilities": {
                "file_bits": 64,
                "inum_bits": 64,
                "timestamp_bits": 64,
                "long_int_bits": 64,
                "socketpairs": true,
                "symlinks": true,
                "symtimes": true,
                "hardlinks": true,
                "hardlink_specials": true,
                "hardlink_symlinks": true,
                "IPv6": true,
                "atimes": true,
                "batchfiles": true,
                "inplace": true,
                "append": true,
                "ACLs": true,
                "xattrs": true,
                "secluded_args": "optional",
                "iconv": true,
                "prealloc": true,
                "stop_at": true,
                "crtimes": false
            },
            "optimizations": {
                "SIMD_roll": true,
                "asm_roll": false,
                "openssl_crypto": true,
                "asm_MD5": false
            },
            "checksum_list": [
                "xxh128",
                "xxh3",
                "xxh64",
                "md5",
                "md4",
                "sha1",
                "none"
            ],
            "compress_list": [
                "zstd",
                "lz4",
                "zlibx",
                "zlib",
                "none"
            ],
            "daemon_auth_list": [
                "sha512",
                "sha256",
                "sha1",
                "md5",
                "md4"
            ],
            "license": "GPLv3",
            "caveat": "rsync comes with ABSOLUTELY NO WARRANTY"
        },
        "ssh": "OpenSSH_9.2p1 Debian-2+deb12u3, OpenSSL 3.0.13 30 Jan 2024",
        "sshfs": "3.7.3",
        "encfs": "(no encfs)",
        "shell": "/bin/bash",
        "shell-version": "GNU bash, version 5.2.15(1)-release (x86_64-pc-linux-gnu)"
    }
}
~$ 

... package or installation source ...

System recently upgraded from Devuan Beowulf (via Chimaera) to Daedalus. All package/s originated from Devuan repositories:

~$ apt list | grep installed | grep backintime
--- snip ---
backintime-common/stable,stable,now 1.3.3-4 all [installed]
backintime-qt/stable,stable,now 1.3.3-4 all [installed,automatic]
~$ 

Description

I use the default desktop for Devuan Daedalus xfce4 4.18 with the default xfce4-panel application. Same setup as I have used with Devuan for the past few years, from Devuan Jesse onwards.

Whenever I worked past a certain time (usually past 00:00 hs.) I would see a BackInTime indicator in the panel and this would remind me tthat I should avoid shutting down the system till it was gone. ie: till BiT had finished its task.

For some reason, I am not seeing that indicator anymore. From the logs, I can see that BiT is working correctly/as expected.

These are the *-indicator packages presently installed in the system:

~$ apt list | grep installed | grep indicator
--- snip ---
ayatana-indicator-application/stable,now 22.2.0-1+b1 amd64 [installed,automatic]
ayatana-indicator-common/stable,stable,now 0.9.8-1 all [installed,automatic]
libayatana-appindicator3-1/stable,now 0.5.92-1 amd64 [installed,automatic]
libayatana-indicator3-7/stable,now 0.9.3-1 amd64 [installed,automatic]
xfce4-indicator-plugin/stable,now 2.4.1-1 amd64 [installed]
~$ 

I'd appreciate some insight on this. Thanks in advance.

Best,

PCL

emtiu commented 1 week ago

Thank you for reporting this problem :) We will check to see if we can reproduce it.

buhtz commented 1 week ago

I am also using BIT on XFCE with Debian 12 (current stable). Which theme do you use on XFCE? I assuming that the indicator widgets are not relevant for this issue.

pclinuxer commented 1 week ago

Hello:

Thank you for reporting ...

You're welcome. Best,

PCL

pclinuxer commented 1 week ago

Hello:

... also using BIT on XFCE with Debian 12 ...

Yes, Devuan Daedalus = Debian 12 (Bookworm) sans systemd.

Which theme do you use on XFCE?

Applications -> Settings -> Appearance = Clearlooks-Phenix-DarkPurpy (yes, Phenix ...)

... assuming that the indicator widgets are not relevant ...

No idea.

Not at all a big fan of xfce4, so I try not to get too creative lest things go awry. So many years have passed, bling and bloat have increased while there is still no decent/proper menu editor or a way to align desktop icons to a grid, à la MS.

And then, here I am.

Please let me know if you need any more data. Thanks in advance,

Best,

PCL

buhtz commented 1 week ago

there is still no decent/proper menu editor

Have you tried MenuLibre?

Can you please navigate into qt folder and then execute:

$ python3 -m qtsystrayicon --debug

and then post the output.

pclinuxer commented 1 week ago

Hello:

... tried MenuLibre?

Yes, the first thing I looked for was a menu editor and that was the only one available/current. Once installed, I tried to launch it from the xfce4 menu.

ie: Applications -> Accesories -> Menu Editor (v. 2.2.2-2 from the Devuan repositories) After a bit of twirling indicator it would not open on the desktop.

Attempting to open it from the terminal got me a lot of parsing error warnings and this at the end:

~$ menulibre
(menulibre:5869): Gtk-WARNING **: 09:31:07.178: Theme parsing error: gtk-widgets.css:154:27: The style property GtkButton:image-spacing is deprecated and shouldn't be used anymore. It will be removed in a future version
--- snip ---
menulibre:1274): Gtk-WARNING **: 09:01:01.264: gtk_menu_attach_to_widget(): menu already attached to GtkMenuButton
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/menulibre/MenulibreApplication.py", line 2283, in do_activate
    self.win = MenulibreWindow(self, headerbar)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/menulibre/MenulibreApplication.py", line 247, in __init__
    self.configure_application_actions(builder)
  File "/usr/lib/python3/dist-packages/menulibre/MenulibreApplication.py", line 434, in configure_application_actions
    label=_('Add _Launcher…'),
          ^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'locale' codec can't decode byte 0xe2 in position 13: decoding error

ie: more or less the same result I have had every time I tried a menu editor in xfce4, so I uninstalled it.

With respect to BiT ...

~$ cd /usr/share/backintime/qt
:/usr/share/backintime/qt$ 
:/usr/share/backintime/qt$ python3 -m qtsystrayicon --debug
WARNING: Failed to change Profile_ID --debug
:/usr/share/backintime/qt$ 

Note: I have neglected to mention that the (xfce4) upgrade from Beowulf to Chimaera was not at all straightforward (to say the least) to the extent that I decided to continue the upgrade to Daedalus to see how it went before giving up and rolling back to Beowulf so as to keep the old/unsupported Nvidia drivers for my twin cards.

In the end, the much improved performance of the native nouveau driver (albeit with a bit of annoying tear) kept me where I am now. Hopefully, things will improve in the near future.

Please let me know if you need more data.

Best,

PCL

buhtz commented 1 week ago

You should report the MenuLibre problem. I assuming this is not related to MenuLibre itself.

The "--debug" doesn't work in your BIT version. Just try it again without --debug and show me the output.

pclinuxer commented 1 week ago

Hello:

... should report the MenuLibre problem. ... assuming this is not related to MenuLibre ...

My experience (long ago) with bug reporting to xfce was not a good one. So I think I'll pass. 8^)

"--debug" doesn't work in your BIT version.

I see.

... try it again without --debug ...

Right ...

:~$ cd /usr/share/backintime/qt
:/usr/share/backintime/qt$ 
:/usr/share/backintime/qt$ python3 -m qtsystrayicon
:/usr/share/backintime/qt$ 

Nothing. ie: I expect that I should have found another icon (the familiar BiT one) appearing in the systray. But no, it is not there.

Thank you for taking the time to deal with this.

Best,

PCL

buhtz commented 1 week ago

... should report the MenuLibre problem. ... assuming this is not related to MenuLibre ...

My experience (long ago) with bug reporting to xfce was not a good one. So I think I'll pass. 8^)

I think upstream is not the right place in this case. Try the Devuan package maintainer of MenuLibre or the Debian one if there is not Devuan package.

:~$ cd /usr/share/backintime/qt
:/usr/share/backintime/qt$ 
:/usr/share/backintime/qt$ python3 -m qtsystrayicon
:/usr/share/backintime/qt$ 

Can you edit the file /usr/share/backintime/qt/qtsystrayicon.py? At the end of the file you will find lines like this

if __name__ == '__main__':
    QtSysTrayIcon().run()

Please modify them to this and run the command again:

if __name__ == '__main__':
    logger.openlog()
    logger.DEBUG = True
    logger.debug(f"qtsystrayicon.py call args: {str(sys.argv)}")

    QtSysTrayIcon().run()

Another question. When you manually trigger a backup job does this icon appear then? Please start BIT via backintime-qt --debug, start the backup job and post the output.

pclinuxer commented 1 week ago

Hello:

... upstream is not the right place in this case. ... Try the Devuan package maintainer of MenuLibre ...

Maintainer is [Debian Python Team], I'll have to see what I can do about that.

Reporting bugs to Debian for [whatever app] running on a Devuan system (ie: with sysvinit instead of systemd) has gotten me a reply along the lines of "... use of sysvinit is not a supported configuration". Case closed.

... edit the file /usr/share/backintime/qt/qtsystrayicon.py? ... and run the command again:

Done:

:~$ cd /usr/share/backintime/qt
:/usr/share/backintime/qt$ 
:/usr/share/backintime/qt$ python3 -m qtsystrayicon --debug
DEBUG: [qt/qtsystrayicon.py:232 <module>] qtsystrayicon.py call args: ['/usr/share/backintime/qt/qtsystrayicon.py', '--debug']
WARNING: [qt/qtsystrayicon.py:53 QtSysTrayIcon.__init__] Failed to change Profile_ID --debug
DEBUG: [qt/qttools.py:175 createQApplication] QT QPA platform plugin: xcb
DEBUG: [qt/qttools.py:176 createQApplication] QT_QPA_PLATFORMTHEME=<not set>
DEBUG: [qt/qttools.py:178 createQApplication] QT_STYLE_OVERRIDE=<not set>
DEBUG: [qt/qttools.py:179 createQApplication] QT active style: fusion
DEBUG: [qt/qttools.py:180 createQApplication] QT fallback style: 
DEBUG: [qt/qttools.py:181 createQApplication] QT supported styles: ['Windows', 'Fusion']
DEBUG: [qt/qttools.py:182 createQApplication] themeSearchPaths: ['/home/groucho/.icons', '/home/groucho/.local/share/icons', '/usr/local/share/icons', '/usr/share/icons', ':/icons']
DEBUG: [qt/qttools.py:183 createQApplication] fallbackSearchPaths: []
DEBUG: [qt/qttools.py:185 createQApplication] Is SystemTray available: True
DEBUG: [qt/qttools.py:197 createQApplication] Trying to set App ID for non-privileged user
:/usr/share/backintime/qt$ 

When you manually trigger a backup job does this icon appear ...?

Had not tried to do that.

... start BIT via backintime-qt --debug, start the backup job and post the output.

Right.

:~$ backintime-qt --debug
DEBUG: [common/backintime.py:589 argParse] Arguments: {'debug': True} | unknownArgs: []

Back In Time
Version: 1.3.3

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/backintime.py:677 getConfig] config file: /home/groucho/.config/backintime/config
DEBUG: [common/backintime.py:678 getConfig] share path: /home/groucho/.local/share/backintime
DEBUG: [common/backintime.py:679 getConfig] profiles: 1=Main profile
DEBUG: [common/pluginmanager.py:240 PluginManager.load] Register plugin path /usr/share/backintime/plugins
DEBUG: [common/pluginmanager.py:257 PluginManager.load] Add plugin notifyplugin.py
DEBUG: [common/pluginmanager.py:257 PluginManager.load] Add plugin qt4plugin.py
DEBUG: [qt/qttools.py:175 createQApplication] QT QPA platform plugin: xcb
DEBUG: [qt/qttools.py:176 createQApplication] QT_QPA_PLATFORMTHEME=<not set>
DEBUG: [qt/qttools.py:178 createQApplication] QT_STYLE_OVERRIDE=<not set>
DEBUG: [qt/qttools.py:179 createQApplication] QT active style: fusion
DEBUG: [qt/qttools.py:180 createQApplication] QT fallback style: 
DEBUG: [qt/qttools.py:181 createQApplication] QT supported styles: ['Windows', 'Fusion']
DEBUG: [qt/qttools.py:182 createQApplication] themeSearchPaths: ['/home/groucho/.icons', '/home/groucho/.local/share/icons', '/usr/local/share/icons', '/usr/share/icons', ':/icons']
DEBUG: [qt/qttools.py:183 createQApplication] fallbackSearchPaths: []
DEBUG: [qt/qttools.py:185 createQApplication] Is SystemTray available: True
DEBUG: [qt/qttools.py:197 createQApplication] Trying to set App ID for non-privileged user
DEBUG: [common/tools.py:862 keyringSupported] Available keyring backends:
DEBUG: [common/tools.py:865 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
DEBUG: [common/tools.py:865 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: 10)
DEBUG: [common/tools.py:865 keyringSupported] keyring.backends.SecretService.Keyring (priority: 5)
DEBUG: [common/tools.py:865 keyringSupported] keyrings.alt.file.PlaintextKeyring (priority: 0.5)
DEBUG: [common/tools.py:865 keyringSupported] keyrings.alt.file.EncryptedKeyring (priority: 0.6)
DEBUG: [common/tools.py:878 keyringSupported] Metaclass keyring.backends.Gnome.Keyring not found: AttributeError("module 'keyring.backends' has no attribute 'Gnome'")
DEBUG: [common/tools.py:880 keyringSupported] Metaclass keyring.backends.kwallet.Keyring not found: AttributeError("module 'keyring.backends.kwallet' has no attribute 'Keyring'")
DEBUG: [common/tools.py:884 keyringSupported] Metaclass keyring.backend.SecretServiceKeyring not found: AttributeError("module 'keyring.backend' has no attribute 'SecretServiceKeyring'")
DEBUG: [common/tools.py:886 keyringSupported] Metaclass keyring.backend.GnomeKeyring not found: AttributeError("module 'keyring.backend' has no attribute 'GnomeKeyring'")
DEBUG: [common/tools.py:888 keyringSupported] Metaclass keyring.backend.KDEKWallet not found: AttributeError("module 'keyring.backend' has no attribute 'KDEKWallet'")
DEBUG: [common/tools.py:899 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>]
DEBUG: [common/tools.py:905 keyringSupported] No appropriate keyring found. 'keyring.backends.chainer.ChainerBackend (priority: 10)' can't be used with BackInTime
DEBUG: [common/mount.py:73 Mount.__init__] pw-cache is not running
DEBUG: [common/mount.py:81 Mount.__init__] Call command: /usr/bin/backintime pw-cache start
DEBUG: [common/tools.py:1410 readCrontab] Read 64 lines from users crontab
DEBUG: [common/config.py:1518 Config.removeOldCrontab] Clearing system Back In Time entries
DEBUG: [common/config.py:1552 Config.cronLine] Profile: Main profile | Automatic backup: Repeatedly (anacron)
DEBUG: [common/tools.py:1447 writeCrontab] Wrote 64 lines to users crontab

### up to here backup job not started yet.
### from here backup job started manually from UI ie: snapshot
### there was no icon in system tray

DEBUG: [common/backintime.py:589 argParse] Arguments: {'debug': True, 'command': 'backup', 'func': <function backup at 0x7f8b31f8ae80>} | unknownArgs: []

Back In Time
Version: 1.3.3

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/backintime.py:677 getConfig] config file: /home/groucho/.config/backintime/config
DEBUG: [common/backintime.py:678 getConfig] share path: /home/groucho/.local/share/backintime
DEBUG: [common/backintime.py:679 getConfig] profiles: 1=Main profile
DEBUG: [common/pluginmanager.py:240 PluginManager.load] Register plugin path /usr/share/backintime/plugins
DEBUG: [common/pluginmanager.py:257 PluginManager.load] Add plugin notifyplugin.py
DEBUG: [common/pluginmanager.py:257 PluginManager.load] Add plugin qt4plugin.py
INFO: [common/snapshots.py:704 Snapshots.backup] Lock
WARNING: [common/tools.py:1366 inhibitSuspend] Inhibit Suspend failed.
DEBUG: [common/tools.py:862 keyringSupported] Available keyring backends:
DEBUG: [common/tools.py:865 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: 10)
DEBUG: [common/tools.py:865 keyringSupported] keyring.backends.SecretService.Keyring (priority: 5)
DEBUG: [common/tools.py:865 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
DEBUG: [common/tools.py:865 keyringSupported] keyrings.alt.file.PlaintextKeyring (priority: 0.5)
DEBUG: [common/tools.py:865 keyringSupported] keyrings.alt.file.EncryptedKeyring (priority: 0.6)
DEBUG: [common/tools.py:878 keyringSupported] Metaclass keyring.backends.Gnome.Keyring not found: AttributeError("module 'keyring.backends' has no attribute 'Gnome'")
DEBUG: [common/tools.py:880 keyringSupported] Metaclass keyring.backends.kwallet.Keyring not found: AttributeError("module 'keyring.backends.kwallet' has no attribute 'Keyring'")
DEBUG: [common/tools.py:884 keyringSupported] Metaclass keyring.backend.SecretServiceKeyring not found: AttributeError("module 'keyring.backend' has no attribute 'SecretServiceKeyring'")
DEBUG: [common/tools.py:886 keyringSupported] Metaclass keyring.backend.GnomeKeyring not found: AttributeError("module 'keyring.backend' has no attribute 'GnomeKeyring'")
DEBUG: [common/tools.py:888 keyringSupported] Metaclass keyring.backend.KDEKWallet not found: AttributeError("module 'keyring.backend' has no attribute 'KDEKWallet'")
DEBUG: [common/tools.py:899 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>]
DEBUG: [common/tools.py:905 keyringSupported] No appropriate keyring found. 'keyring.backends.chainer.ChainerBackend (priority: 10)' can't be used with BackInTime
DEBUG: [common/mount.py:73 Mount.__init__] pw-cache is not running
DEBUG: [common/mount.py:81 Mount.__init__] Call command: /usr/bin/backintime pw-cache start
INFO: [common/snapshots.py:735 Snapshots.backup] Take a new snapshot. Profile: 1 Main profile
INFO: [common/snapshots.py:1140 Snapshots.takeSnapshot] Call rsync to take the snapshot
DEBUG: [common/snapshots.py:767 Snapshots.backup] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --link-dest=../../20240711-060002-300/backup --chmod=Du+wx --exclude=/media/300GBIT --exclude=/home/groucho/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/home/groucho/ --include=/home/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/home/groucho/Music --exclude=/home/groucho/Videos --exclude=/home/groucho/Public --exclude=/home/groucho/.moonchild productions --exclude=/home/groucho/.mozilla --exclude=/home/groucho/.nv --exclude=/home/groucho/.librewolf --include=/home/groucho/** --exclude=* / /media/300GBIT/backintime/devuan/groucho/1/new_snapshot/backup"
DEBUG: [qt/qtsystrayicon.py:232 <module>] qtsystrayicon.py call args: ['/usr/share/backintime/qt/qtsystrayicon.py', '1']
DEBUG: [common/configfile.py:528 Config.setCurrentProfile] change current profile: 1=Main profile
DEBUG: [qt/qttools.py:175 createQApplication] QT QPA platform plugin: xcb
DEBUG: [qt/qttools.py:176 createQApplication] QT_QPA_PLATFORMTHEME=<not set>
DEBUG: [qt/qttools.py:178 createQApplication] QT_STYLE_OVERRIDE=<not set>
DEBUG: [qt/qttools.py:179 createQApplication] QT active style: fusion
DEBUG: [qt/qttools.py:180 createQApplication] QT fallback style: 
DEBUG: [qt/qttools.py:181 createQApplication] QT supported styles: ['Windows', 'Fusion']
DEBUG: [qt/qttools.py:182 createQApplication] themeSearchPaths: ['/home/groucho/.icons', '/home/groucho/.local/share/icons', '/usr/local/share/icons', '/usr/share/icons', ':/icons']
DEBUG: [qt/qttools.py:183 createQApplication] fallbackSearchPaths: []
DEBUG: [qt/qttools.py:185 createQApplication] Is SystemTray available: True
DEBUG: [qt/qttools.py:197 createQApplication] Trying to set App ID for non-privileged user
DEBUG: [qt/qtsystrayicon.py:137 QtSysTrayIcon.run] begin loop
DEBUG: [common/snapshots.py:767 Snapshots.backup] Command "rsync --recursiv..." returns 0
INFO: [common/snapshots.py:913 Snapshots.backupConfig] Save config file
INFO: [common/snapshots.py:989 Snapshots.backupPermissions] Save permissions
DEBUG: [common/snapshots.py:1190 Snapshots.takeSnapshot] Call command "rsync --dry-run -s -r --out-format=%n /media/300GBIT/backintime/devuan/groucho/1/new_snapshot/backup/ /tmp/tmpju5_r8n7/"
DEBUG: [common/snapshots.py:1190 Snapshots.takeSnapshot] Command "rsync --dry-run ..." returns 0
INFO: [common/snapshots.py:962 Snapshots.backupInfo] Create info file
DEBUG: [common/tools.py:1293 writeTimeStamp] write timestamp '20240711 1553' into file '/home/groucho/.local/share/backintime/anacron/1_Main_profile'
DEBUG: [common/snapshots.py:1885 Snapshots.createLastSnapshotSymlink] Create symlink /media/300GBIT/backintime/devuan/groucho/1/last_snapshot => 20240711-155154-264
DEBUG: [common/snapshots.py:1545 Snapshots.freeSpace] Remove snapshots older than: 20231030-000000
DEBUG: [common/snapshots.py:1351 Snapshots.smartRemoveList] Considered: [20240711-155154-264, 20240711-060002-300, 20240710-073001-629, 20240709-051502-964, 20240708-064501-982, 20240707-063001-341, 20240706-061501-278, 20240705-061502-390, 20240630-001502-246, 20240623-073001-469, 20240531-043001-179, 20240430-054501-252, 20240331-061502-424, 20240229-000001-853]
DEBUG: [common/snapshots.py:1242 Snapshots.smartRemoveKeepAll] Keep all >= 20240705-000000-977 and < 20240712-000000-208
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240711-000000-758 and < 20240712-000000-609
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240710-000000-193 and < 20240711-000000-176
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240709-000000-354 and < 20240710-000000-605
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240708-000000-359 and < 20240709-000000-582
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240707-000000-271 and < 20240708-000000-197
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240706-000000-970 and < 20240707-000000-464
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240705-000000-756 and < 20240706-000000-179
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240707-000000-937 and < 20240715-000000-449
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240630-000000-108 and < 20240708-000000-645
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240623-000000-258 and < 20240701-000000-769
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240616-000000-730 and < 20240624-000000-583
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240701-000000-945 and < 20240801-000000-760
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240601-000000-160 and < 20240701-000000-668
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240501-000000-142 and < 20240601-000000-490
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240401-000000-908 and < 20240501-000000-592
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240301-000000-875 and < 20240401-000000-717
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240201-000000-253 and < 20240301-000000-756
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240101-000000-858 and < 20240201-000000-680
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240101-000000-920 and < 20240201-000000-739
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20231201-000000-289 and < 20240101-000000-730
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20231201-000000-579 and < 20240101-000000-406
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20231101-000000-483 and < 20231201-000000-616
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20231101-000000-656 and < 20231201-000000-768
DEBUG: [common/snapshots.py:1270 Snapshots.smartRemoveKeepFirst] Keep first >= 20240101-000000-739 and < 20250101-000000-656
DEBUG: [common/snapshots.py:1408 Snapshots.smartRemoveList] Keep snapshots: {20240531-043001-179, 20240623-073001-469, 20240710-073001-629, 20240331-061502-424, 20240709-051502-964, 20240705-061502-390, 20240630-001502-246, 20240430-054501-252, 20240229-000001-853, 20240708-064501-982, 20240706-061501-278, 20240707-063001-341, 20240711-155154-264, 20240711-060002-300}
DEBUG: [common/snapshots.py:1580 Snapshots.freeSpace] Keep min free disk space: 40960 MiB
DEBUG: [common/snapshots.py:1614 Snapshots.freeSpace] Keep min 5%% free inodes
DEBUG: [common/tools.py:862 keyringSupported] Available keyring backends:
DEBUG: [common/tools.py:865 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: 10)
DEBUG: [common/tools.py:865 keyringSupported] keyring.backends.SecretService.Keyring (priority: 5)
DEBUG: [common/tools.py:865 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
DEBUG: [common/tools.py:865 keyringSupported] keyrings.alt.file.PlaintextKeyring (priority: 0.5)
DEBUG: [common/tools.py:865 keyringSupported] keyrings.alt.file.EncryptedKeyring (priority: 0.6)
DEBUG: [common/tools.py:878 keyringSupported] Metaclass keyring.backends.Gnome.Keyring not found: AttributeError("module 'keyring.backends' has no attribute 'Gnome'")
DEBUG: [common/tools.py:880 keyringSupported] Metaclass keyring.backends.kwallet.Keyring not found: AttributeError("module 'keyring.backends.kwallet' has no attribute 'Keyring'")
DEBUG: [common/tools.py:884 keyringSupported] Metaclass keyring.backend.SecretServiceKeyring not found: AttributeError("module 'keyring.backend' has no attribute 'SecretServiceKeyring'")
DEBUG: [common/tools.py:886 keyringSupported] Metaclass keyring.backend.GnomeKeyring not found: AttributeError("module 'keyring.backend' has no attribute 'GnomeKeyring'")
DEBUG: [common/tools.py:888 keyringSupported] Metaclass keyring.backend.KDEKWallet not found: AttributeError("module 'keyring.backend' has no attribute 'KDEKWallet'")
DEBUG: [common/tools.py:899 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>]
DEBUG: [common/tools.py:905 keyringSupported] No appropriate keyring found. 'keyring.backends.chainer' can't be used with BackInTime
DEBUG: [common/mount.py:73 Mount.__init__] pw-cache is not running
DEBUG: [common/mount.py:81 Mount.__init__] Call command: /usr/bin/backintime pw-cache start
INFO: [common/snapshots.py:814 Snapshots.backup] Unlock
DEBUG: [qt/qtsystrayicon.py:141 QtSysTrayIcon.run] end loop
### at this point UI shows job is finished
^C
Traceback (most recent call last):
  File "/usr/share/backintime/qt/app.py", line 1515, in eventFilter
    def eventFilter(self, receiver, event):
KeyboardInterrupt
Aborted
:~$ 

Log (Errors and Changes) shows no errors.

Edit: Got this in my system mail.

:~$ cat /var/mail/groucho
From groucho@devuan Thu Jul 11 16:00:02 2024
Received: from groucho (uid 1000)
    (envelope-from groucho@devuan)
    id dfe2b
    by devuan (DragonFly Mail Agent v0.13);
    Thu, 11 Jul 2024 16:00:02 -0300
From: root (Cron Daemon)
To: groucho
Subject: Cron <groucho@devuan> /usr/bin/nice -n19 /usr/bin/ionice -c2 -n7 /usr/bin/backintime --debug backup-job >/dev/null
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <HOME=/home/groucho>
X-Cron-Env: <LOGNAME=groucho>
Date: Thu, 11 Jul 2024 16:00:02 -0300
Message-Id: <66902bb2.dfe2b.1fc5d49d@devuan>

DEBUG: [common/backintime.py:589 argParse] Arguments: {'debug': True, 'command': 'backup-job', 'func': <function backupJob at 0x7fd750476de0>} | unknownArgs: []
DEBUG: [common/tools.py:2286 BackupJobDaemon.daemonize] first fork pid: 16377
DEBUG: [common/tools.py:2286 BackupJobDaemon.daemonize] first fork pid: 0
DEBUG: [common/tools.py:2295 BackupJobDaemon.daemonize] decouple from parent environment
DEBUG: [common/tools.py:2303 BackupJobDaemon.daemonize] second fork pid: 16378
DEBUG: [common/tools.py:2303 BackupJobDaemon.daemonize] second fork pid: 0
DEBUG: [common/tools.py:2312 BackupJobDaemon.daemonize] redirect standard file descriptors
:~$ 

Best,

PCL

pclinuxer commented 1 week ago

Hello:

Just FYI ... Since my last post (with the edited /usr/share/backintime/qt/qtsystrayicon.py file) I have had a number of system mail notifications which I post below.

Maybe they have some usable data. Never saw these up until today, after editing that file.

Maybe BiT it is just busy debugging? 8^D

From groucho@devuan Thu Jul 11 16:15:01 2024
Received: from groucho (uid 1000)
    (envelope-from groucho@devuan)
    id dfe2b
    by devuan (DragonFly Mail Agent v0.13);
    Thu, 11 Jul 2024 16:15:01 -0300
From: root (Cron Daemon)
To: groucho
Subject: Cron <groucho@devuan> /usr/bin/nice -n19 /usr/bin/ionice -c2 -n7 /usr/bin/backintime --debug backup-job >/dev/null
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <HOME=/home/groucho>
X-Cron-Env: <LOGNAME=groucho>
Date: Thu, 11 Jul 2024 16:15:01 -0300
Message-Id: <66902f35.dfe2b.5bc71e0e@devuan>
Status: R
X-UID: 8

DEBUG: [common/backintime.py:589 argParse] Arguments: {'debug': True, 'command': 'backup-job', 'func': <function backupJob at 0x7fe8b2d62de0>} | unknownArgs: []
DEBUG: [common/tools.py:2286 BackupJobDaemon.daemonize] first fork pid: 17226
DEBUG: [common/tools.py:2286 BackupJobDaemon.daemonize] first fork pid: 0
DEBUG: [common/tools.py:2295 BackupJobDaemon.daemonize] decouple from parent environment
DEBUG: [common/tools.py:2303 BackupJobDaemon.daemonize] second fork pid: 17227
DEBUG: [common/tools.py:2303 BackupJobDaemon.daemonize] second fork pid: 0
DEBUG: [common/tools.py:2312 BackupJobDaemon.daemonize] redirect standard file descriptors

From groucho@devuan Thu Jul 11 18:00:01 2024
Received: from groucho (uid 1000)
    (envelope-from groucho@devuan)
    id e002a
    by devuan (DragonFly Mail Agent v0.13);
    Thu, 11 Jul 2024 18:00:01 -0300
From: root (Cron Daemon)
To: groucho
Subject: Cron <groucho@devuan> /usr/bin/nice -n19 /usr/bin/ionice -c2 -n7 /usr/bin/backintime --debug backup-job >/dev/null
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <HOME=/home/groucho>
X-Cron-Env: <LOGNAME=groucho>
Date: Thu, 11 Jul 2024 18:00:01 -0300
Message-Id: <669047d1.e002a.1ec5c26d@devuan>
Status: R
X-UID: 9

DEBUG: [common/backintime.py:589 argParse] Arguments: {'debug': True, 'command': 'backup-job', 'func': <function backupJob at 0x7fd8664e2de0>} | unknownArgs: []
DEBUG: [common/tools.py:2286 BackupJobDaemon.daemonize] first fork pid: 3891
DEBUG: [common/tools.py:2286 BackupJobDaemon.daemonize] first fork pid: 0
DEBUG: [common/tools.py:2295 BackupJobDaemon.daemonize] decouple from parent environment
DEBUG: [common/tools.py:2303 BackupJobDaemon.daemonize] second fork pid: 3892
DEBUG: [common/tools.py:2303 BackupJobDaemon.daemonize] second fork pid: 0
DEBUG: [common/tools.py:2312 BackupJobDaemon.daemonize] redirect standard file descriptors

From groucho@devuan Thu Jul 11 18:15:01 2024
Received: from groucho (uid 1000)
    (envelope-from groucho@devuan)
    id e002a
    by devuan (DragonFly Mail Agent v0.13);
    Thu, 11 Jul 2024 18:15:01 -0300
From: root (Cron Daemon)
To: groucho
Subject: Cron <groucho@devuan> /usr/bin/nice -n19 /usr/bin/ionice -c2 -n7 /usr/bin/backintime --debug backup-job >/dev/null
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <HOME=/home/groucho>
X-Cron-Env: <LOGNAME=groucho>
Date: Thu, 11 Jul 2024 18:15:01 -0300
Message-Id: <66904b55.e002a.40b507b1@devuan>
Status: R
X-UID: 10

DEBUG: [common/backintime.py:589 argParse] Arguments: {'debug': True, 'command': 'backup-job', 'func': <function backupJob at 0x7f3cd29cede0>} | unknownArgs: []
DEBUG: [common/tools.py:2286 BackupJobDaemon.daemonize] first fork pid: 5174
DEBUG: [common/tools.py:2286 BackupJobDaemon.daemonize] first fork pid: 0
DEBUG: [common/tools.py:2295 BackupJobDaemon.daemonize] decouple from parent environment
DEBUG: [common/tools.py:2303 BackupJobDaemon.daemonize] second fork pid: 5175
DEBUG: [common/tools.py:2303 BackupJobDaemon.daemonize] second fork pid: 0
DEBUG: [common/tools.py:2312 BackupJobDaemon.daemonize] redirect standard file descriptors

From groucho@devuan Thu Jul 11 18:30:01 2024
Received: from groucho (uid 1000)
    (envelope-from groucho@devuan)
    id e002a
    by devuan (DragonFly Mail Agent v0.13);
    Thu, 11 Jul 2024 18:30:01 -0300
From: root (Cron Daemon)
To: groucho
Subject: Cron <groucho@devuan> /usr/bin/nice -n19 /usr/bin/ionice -c2 -n7 /usr/bin/backintime --debug backup-job >/dev/null
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <HOME=/home/groucho>
X-Cron-Env: <LOGNAME=groucho>
Date: Thu, 11 Jul 2024 18:30:01 -0300
Message-Id: <66904ed9.e002a.3f5795c8@devuan>
Status: R
X-UID: 11

DEBUG: [common/backintime.py:589 argParse] Arguments: {'debug': True, 'command': 'backup-job', 'func': <function backupJob at 0x7f11464cade0>} | unknownArgs: []
DEBUG: [common/tools.py:2286 BackupJobDaemon.daemonize] first fork pid: 6293
DEBUG: [common/tools.py:2286 BackupJobDaemon.daemonize] first fork pid: 0
DEBUG: [common/tools.py:2295 BackupJobDaemon.daemonize] decouple from parent environment
DEBUG: [common/tools.py:2303 BackupJobDaemon.daemonize] second fork pid: 6294
DEBUG: [common/tools.py:2303 BackupJobDaemon.daemonize] second fork pid: 0
DEBUG: [common/tools.py:2312 BackupJobDaemon.daemonize] redirect standard file descriptors

I have gone back to the original file content to see if it stops.

Best,

PCL

pclinuxer commented 1 week ago

Hello:

... gone back to the original file content to see if it stops.

No such luck. Rebooted the system and got two more notifications. Seems they come along every 15' which sort of makes sesne as they come from the Cron Daemon.

From groucho@devuan Thu Jul 11 18:45:01 2024
Received: from groucho (uid 1000)
    (envelope-from groucho@devuan)
    id df539
    by devuan (DragonFly Mail Agent v0.13);
    Thu, 11 Jul 2024 18:45:01 -0300
From: root (Cron Daemon)
To: groucho
Subject: Cron <groucho@devuan> /usr/bin/nice -n19 /usr/bin/ionice -c2 -n7 /usr/bin/backintime --debug backup-job >/dev/null
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <HOME=/home/groucho>
X-Cron-Env: <LOGNAME=groucho>
Date: Thu, 11 Jul 2024 18:45:01 -0300
Message-Id: <6690525d.df539.1ebc4127@devuan>
Status: R
X-UID: 12

DEBUG: [common/backintime.py:589 argParse] Arguments: {'debug': True, 'command': 'backup-job', 'func': <function backupJob at 0x7fce79fe6de0>} | unknownArgs: []
DEBUG: [common/tools.py:2286 BackupJobDaemon.daemonize] first fork pid: 2493
DEBUG: [common/tools.py:2286 BackupJobDaemon.daemonize] first fork pid: 0
DEBUG: [common/tools.py:2295 BackupJobDaemon.daemonize] decouple from parent environment
DEBUG: [common/tools.py:2303 BackupJobDaemon.daemonize] second fork pid: 2494
DEBUG: [common/tools.py:2303 BackupJobDaemon.daemonize] second fork pid: 0
DEBUG: [common/tools.py:2312 BackupJobDaemon.daemonize] redirect standard file descriptors

From groucho@devuan Thu Jul 11 19:00:02 2024
Received: from groucho (uid 1000)
    (envelope-from groucho@devuan)
    id df539
    by devuan (DragonFly Mail Agent v0.13);
    Thu, 11 Jul 2024 19:00:02 -0300
From: root (Cron Daemon)
To: groucho
Subject: Cron <groucho@devuan> /usr/bin/nice -n19 /usr/bin/ionice -c2 -n7 /usr/bin/backintime --debug backup-job >/dev/null
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <HOME=/home/groucho>
X-Cron-Env: <LOGNAME=groucho>
Date: Thu, 11 Jul 2024 19:00:02 -0300
Message-Id: <669055e2.df539.40b29ebd@devuan>
Status: R
X-UID: 13

DEBUG: [common/backintime.py:589 argParse] Arguments: {'debug': True, 'command': 'backup-job', 'func': <function backupJob at 0x7fb3c04e2de0>} | unknownArgs: []
DEBUG: [common/tools.py:2286 BackupJobDaemon.daemonize] first fork pid: 3739
DEBUG: [common/tools.py:2286 BackupJobDaemon.daemonize] first fork pid: 0
DEBUG: [common/tools.py:2295 BackupJobDaemon.daemonize] decouple from parent environment
DEBUG: [common/tools.py:2303 BackupJobDaemon.daemonize] second fork pid: 3740
DEBUG: [common/tools.py:2303 BackupJobDaemon.daemonize] second fork pid: 0
DEBUG: [common/tools.py:2312 BackupJobDaemon.daemonize] redirect standard file descriptors

Please advise.

Edit: Solved by starting and stopping BiT manually. I guess that the edited/corrected file was cached (?)

Thanks in advance.

Best,

PCL

buhtz commented 1 week ago

That bug reporting thing makes me sad and angry. I just can encourage you to report to Debian or the MenuLibre upstream project again, no matter that I assuming that another component in the back might cause the problem. Or you discuss this on the python-debian mailing list in more public. I am also aware that the current Debian Project Leader is very open and would be willing to discuss things like this. Provide me the link and I will participate the discussion. I am aware that Debian people are sometimes complicated but behavior like this (close Devuan related tickets) is not Debian policy. Someone might had a bad day or bad experience in the systemd-discussion. This is not how FOSS should work.

But I also would understand if you want to leave it as it is. I have similar experience with Gnome and KDE when it comes to bug reports or feature requests related to usability. They don't care or understand. So I stopped to report things like this in most of the projects.

Just one last hint about MenuLibre: It might be that you have some python packages from PyPi installed via pip ($ pip list) that do shadow (overwrite) your Devuan/Debian packages.

Back to BIT: Your debug output tells me that the qtsystrayicon.py is called. That is good. But I still don't see what happens inside. The problem is that your version of it is a bit behind our latest development version and not so verbose.

The mails might be there because you activated the DEBUG flag in that script. That is OK. I see no error. You can turn off again that DEBUG flag if you want.

I am assuming something happens around the class ApplicationInstance checking the PID file. Because of your update story I also assume this is a special case not happening to all Devuan users. But I am not sure of course. Would you mind trying to replicate the problem in a VM using Devuan? If you want and if you are familiar with Python you could also inject some debug-print statements in snapshots.py::Snapshots.busy() and applicationinstance.py::ApplicationInstance.busy() to get a better picture of what is going on. My current assumption is that the systrayicon quits very quick because Snapshots.busy() returns False. But I don't know why.

pclinuxer commented 1 week ago

Hello:

That bug reporting thing ...

Yes. Very discouraging, to say the least. But such is life in the tropics, as an old friend of my father would say.

... not how FOSS should work.

Of course, but ...

... similar experience ...

Then you know where I stand. With respect to MenuLibre, in all the years I have used Linux, I have never seen/found a (xfce4) menu editor that actually worked.

I will leave it to them to see if they care and can sort it out. It is the one and only thing I miss from Windows (XPSP3): menu editing was a breeze and it always worked. Not to mention the useful snap-to-grid feature.

That said, I thank you for your thoughtful comments. They speak highly of you and your commitment to FOSS.

BackInTime:

... qtsystrayicon.py is called. That is good.

One down.

... still don't see what happens inside.

Well ... This missing systray icon problem did not occurr before the system upgrades, so something happened on the way to Daedalus, so to speak.

... problem is that your version of it is a bit behind ...

I see. Anything I can do to help you find out what is going on? I see we seem to be facing yet another Heisenbug ... 8^°

The version I have installed is the one from the Devuan Daedalus repository (1.3.3-4) while the next available version (1.4.3-1) is available for both Excalibur and Ceres but I have no idea if I can install it in my system without a major screw-up.

Maybe you would be willing to consider asking the Debian maintainer for an upgrade/backport to the Daedalus package?

... mails might be there because ...

Yes. That was the reason. A constant reminder from Cron that I was in debugging mode. Edited the file but ommited restarting BiT manually, which is why Cron kept sending system mails after a reboot. Stopped once I did that and learned something new in the process.

... assuming something happens around the class ApplicationInstance checking the PID file.

No idea, I am just the messenger ie: ignoring the contents of the envelope albeit at my peril. 8^°

... also assume this is a special case not happening to all Devuan users.

Indeed ... But not necessarily so. ie: no idea what a Venn diagram showing an intersect of users of -> Devuan Daedalus / xfce4 + xfce4-panel / BiT / knowledge of the BiT indicator + realising indicator is missing after an upgrade / interest in reporting it as a bug <- would show.

With BiT properly installed/configurated, its operation is both as intended and transparent but if you don't know when something is amiss, you can get eventually find yourself in a problem.

Happened to me, so after getting rid of exim and installing dma (DragonFly Mail Agent) I am notified of system mail through a great application called coolmail so I don't miss anything: it has been a life saver.

... trying to replicate the problem in a VM using Devuan? Yes, of course.

... if you are familiar with Python ...

Not at all familiar with the internals. ie: no idea what the message says, again, at my peril.

... current assumption is that the systrayicon quits very quick because Snapshots.busy() returns False.

Well, that is something to go on. Good going.

... don't know why.

Part of the path.

You chaps found, chased and fixed the previous Heisenbug I reproted so I'm confident that this one can also be found. Fortunately (like the previous one) it is not particularly annoying and more than anything else, does not disrupt BiT regular operation: BiT still works as expected which is what matters.

But the indicator is a very useful feature.

If I had to speculate, I'd say that my money is on some faulty xfce4-panel code screwing up the last upgrade but it is just a gut feeling. the upgrade from xfce4 in Beowulf (4.12.5) to xfce4 in Chimaera (4.16) was a bloody mess, everything was in disarray.

Give me some time to set up a VM and in the meantime please let me know if there are any specifics I need to take care of to test it.

Thank you very much for your input.

Best,

PCL

buhtz commented 1 week ago

The version I have installed is the one from the Devuan Daedalus repository (1.3.3-4) while the next available version (1.4.3-1) is available for both Excalibur and Ceres but I have no idea if I can install it in my system without a major screw-up.

Which version of BIT was it before the upgrade? If it was on Debian 11 (current oldstable) then it would be BIT 1.2.1 which is damn old and way before the current team took over the project.

Maybe you would be willing to consider asking the Debian maintainer for an upgrade/backport to the Daedalus package?

Won't work. The official Debian Maintainer for BIT is a point to discuss. 😄 But the Python team is flexibel so work can be done around him without his confirmation. In short: There are lack of resources and I am happy to have someone at Debian who preparing packages on the regular track.

Give me some time to set up a VM and in the meantime please let me know if there are any specifics I need to take care of to test it.

Great. Thanks for trying that.

pclinuxer commented 6 days ago

Hello:

Which version of BIT was it before the upgrade?

If I recall correctly, it was 1.2.4, the new BiT team was working on that one. Remember the previous Heisenbug?

Won't work. ... Debian Maintainer for BIT ...

OK. I'll see if I can find time to set up a Devuan Daedalus VM this week-end and see what happens.

Thanks for your input.

Best,

PCL

pclinuxer commented 17 hours ago

Hello:

... if I can find time to set up a Devuan Daedalus VM ...

Sorry for the delay. I did find the time but it was inevitable I use it otherwise. But here I am. 8^)

I set up a new VM and installed a stock Devuan Daedalus with the devuan_daedalus_5.0.1_amd64_desktop.iso from one of the mirrors which once finished was up to date.

This 'out of the box' Daedalus installation uses xfe4 4.18 and xfce4-panel 4.18.2-1 by default, I have not touched it. Ordinarily, I would have weeded out a lot unnecessary stuff.

I then installed BackInTime from the Devuan repository which got me backintime-common 1.3.3.-4 and backintime-qt 1.3.3.-4.

I set up BackInTime with the simplest of all routines (full home folder backups) and manually took the first snapshot.

Unless I am mistaken, an indicator should have appeared on the panel as the snapshot process was being carried out but there was none.

In this case, the installed indicators are libayatanaappindicator3-1 and libayatanaappindicator3-7 where as in my box I have some others:

~$ apt list | grep installed | grep indicator
--- snip ---
ayatana-indicator-application/stable,now 22.2.0-1+b1 amd64 [installed,automatic]
ayatana-indicator-common/stable,stable,now 0.9.8-1 all [installed,automatic]

libayatana-appindicator3-1/stable,now 0.5.92-1 amd64 [installed,automatic]
libayatana-indicator3-7/stable,now 0.9.3-1 amd64 [installed,automatic]

xfce4-indicator-plugin/stable,now 2.4.1-1 amd64 [installed]
~$

So that's about it. Let me know if you need more data.

Thanks in advance.

Best,

PCL

buhtz commented 8 hours ago

I am sorry, I am not able to reproduce the problem with Devuan on a VM. It is Devuan GNU/Linux 5 (daedalus) with XFCE.

Peek 2024-07-19 09-53

$ backintime --diagnostics
{
    "backintime": {
        "name": "Back In Time",
        "version": "1.3.3",
        "latest-config-version": 6,
        "local-config-file": "/home/UsernameReplaced/.config/backintime/config",
        "local-config-file-found": true,
        "global-config-file": "/etc/backintime/config",
        "global-config-file-found": false,
        "started-from": "/usr/share/backintime/common",
        "running-as-root": false,
        "user-callback": "/home/UsernameReplaced/.config/backintime/user-callback",
        "keyring-supported": false
    },
    "host-setup": {
        "platform": "Linux-6.1.0-23-amd64-x86_64-with-glibc2.36",
        "system": "Linux #1 SMP PREEMPT_DYNAMIC Debian 6.1.99-1 (2024-07-15)",
        "os-release": {
            "NAME": "Devuan GNU/Linux",
            "ID": "devuan",
            "PRETTY_NAME": "Devuan GNU/Linux 5 (daedalus)",
            "VERSION_ID": "5",
            "VERSION": "5 (daedalus)",
            "VERSION_CODENAME": "daedalus",
            "ID_LIKE": "debian",
            "HOME_URL": "https://www.devuan.org/",
            "SUPPORT_URL": "https://devuan.org/os/community",
            "BUG_REPORT_URL": "https://bugs.devuan.org/"
        },
        "display-system": "x11",
        "locale": "de_DE, UTF-8",
        "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games",
        "RSYNC_OLD_ARGS": "(not set)",
        "RSYNC_PROTECT_ARGS": "(not set)"
    },
    "python-setup": {
        "python": "3.11.2 main May  2 2024 11:59:08 CPython GCC 12.2.0",
        "python-executable": "/usr/bin/python3",
        "python-executable-symlink": true,
        "python-executable-resolved": "/usr/bin/python3.11",
        "sys.path": [
            "/usr/share/backintime/qt/plugins",
            "/usr/share/backintime/common/plugins",
            "/usr/share/backintime/plugins",
            "/usr/share/backintime/common",
            "/usr/lib/python311.zip",
            "/usr/lib/python3.11",
            "/usr/lib/python3.11/lib-dynload",
            "/usr/local/lib/python3.11/dist-packages",
            "/usr/lib/python3/dist-packages"
        ],
        "qt": "PyQt 5.15.9 / Qt 5.15.8"
    },
    "external-programs": {
        "rsync": {
            "program": "rsync",
            "version": "3.2.7",
            "protocol": "31.0",
            "copyright": "(C) 1996-2022 by Andrew Tridgell, Wayne Davison, and others.",
            "url": "https://rsync.samba.org/",
            "capabilities": {
                "file_bits": 64,
                "inum_bits": 64,
                "timestamp_bits": 64,
                "long_int_bits": 64,
                "socketpairs": true,
                "symlinks": true,
                "symtimes": true,
                "hardlinks": true,
                "hardlink_specials": true,
                "hardlink_symlinks": true,
                "IPv6": true,
                "atimes": true,
                "batchfiles": true,
                "inplace": true,
                "append": true,
                "ACLs": true,
                "xattrs": true,
                "secluded_args": "optional",
                "iconv": true,
                "prealloc": true,
                "stop_at": true,
                "crtimes": false
            },
            "optimizations": {
                "SIMD_roll": true,
                "asm_roll": false,
                "openssl_crypto": true,
                "asm_MD5": false
            },
            "checksum_list": [
                "xxh128",
                "xxh3",
                "xxh64",
                "md5",
                "md4",
                "sha1",
                "none"
            ],
            "compress_list": [
                "zstd",
                "lz4",
                "zlibx",
                "zlib",
                "none"
            ],
            "daemon_auth_list": [
                "sha512",
                "sha256",
                "sha1",
                "md5",
                "md4"
            ],
            "license": "GPLv3",
            "caveat": "rsync comes with ABSOLUTELY NO WARRANTY"
        },
        "ssh": "OpenSSH_9.2p1 Debian-2+deb12u3, OpenSSL 3.0.13 30 Jan 2024",
        "sshfs": "(no sshfs)",
        "encfs": "(no encfs)",
        "shell": "/bin/bash",
        "shell-version": "GNU bash, Version 5.2.15(1)-release (x86_64-pc-linux-gnu)"
    }
}

image

These are the items in my task bar. The one with the blue icon is of interest here. This item is able to hide specific applications.

image

pclinuxer commented 4 hours ago

Hello:

Thank you for taking the time to look into this. Much obliged.

Your post has been quite revealing, to say the least.

From what I can recall, none of my previous installations required that I configure a Status Tray Plugin like you have done. ie: I just installed BackInTime and that was it. The icon appeared on the panel when a job was being processed, there was no intervention on my behalf.

Makes a lot of sense that it was so: the notification showing a running process is needed and important to the user.

This was so from the very beginning, after I moved from a previous distribution to Devuan Jesse (2016/17?) and installed BackInTime. From then on, through every update/upgrade it remained the same.

Till now.

Is my memory blurry? I cannot eliminate that possibility as a few years have passed, but I don't think so. At least not yet ... 8^°

Is what happened a consequence of the (very) messy xfce4 upgrade to v4.18? Seeing how the upgrade process developed, I am more than inclined to think so.

That said (blurry memory or not) the panel icon worked as intended through every BiT update in Jesse, ascii and Beowulf. It ceased to work properly after the xfce4 upgrade to Daedalus so ...

I have now configured the Status Tray Plugin and things work as expected.

Once again, thank you very much for taking the time to help me fix this.

Best,

PCL