Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ProcessLookupError with rare combination of start/stop/pause buttons on a slow system #1604

Open
buhtz opened this issue Jan 8, 2024 · 0 comments
Labels
Bug GOOD FIRST ISSUE Used by 24pullrequests.com to suggest issues HELP-WANTED Used by 24pullrequests.com to suggest issues Low relevant, but not urgent

Comments

@buhtz
Copy link
Member

buhtz commented Jan 8, 2024

Introduction

Welcome to the project, if you pick up this Issue because of the
"GOOD FIRST USE" label. You will be mentored through the process if you
want. First the Issue is explained. At the end you will find some
guidance for first contributors. Please do not hesitate to ask questions.
Your solution don't need to be perfect.

Description of the problem

While manual testing the qt6 migration and clicking wild around in the GUI I discovered an Issue.

It seems to happen only in a rare (unusual) combination of the buttons to start, pause and stop a snapshot. My hypothesis is that I can trigger the problem because I am (as the user) are to fast and my system (a RaspberryPi4) is to slow. I assume this is not critical and not urgent.

That is the relevant error message.

DEBUG: [common/pluginmanager.py:249 PluginManager.load] Probing plugin systrayiconplugin.py
Traceback (most recent call last):
  File "/usr/share/backintime/qt/app.py", line 469, in <lambda>
    lambda: os.kill(self.snapshots.pid(), signal.SIGSTOP), None,
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ProcessLookupError: [Errno 3] Kein passender Prozess gefunden
Aborted

Steps to reproduce

Reproduce it with the following steps:

  1. Press take snapshot button.
  2. Press the stop button some seconds later. On my Pi4 2-3 seconds. You will observe in the terminal window behind that there are still some log lines produced.
  3. Press take snapshot button again.
  4. Press pause button quit quickly. The GUI crash with a ProcessLookupError but in the terminal window you do see that there is still activity in the background.

This screencast illustrate how to reproduce it.
Peek 2024-01-08 14-53

Diagnostic output

{
    "backintime": {
        "name": "Back In Time",
        "version": "1.4.2-dev",
        "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": true
    },
    "host-setup": {
        "platform": "Linux-6.1.0-13-arm64-aarch64-with-glibc2.36",
        "system": "Linux #1 SMP Debian 6.1.55-1 (2023-09-29)",
        "OS": {
            "/etc/os-release": "Debian GNU/Linux 12 (bookworm)",
            "/etc/debian_version": "12.4\n"
        },
        "display-system": "x11",
        "locale": "de_DE, UTF-8",
        "PATH": "/home/UsernameReplaced/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/UsernameReplaced/.local/bin:/home/UsernameReplaced/.local/bin",
        "RSYNC_OLD_ARGS": "(not set)",
        "RSYNC_PROTECT_ARGS": "(not set)"
    },
    "python-setup": {
        "python": "3.11.2 main Mar 13 2023 12:18:29 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/share/backintime/qt",
            "/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",
            "/usr/lib/python3.11/dist-packages"
        ],
        "qt": {
            "Version": "PyQt 6.4.2 / Qt 6.4.2",
            "Theme": "Tango",
            "Theme Search Paths": [
                "/usr/local/share/icons",
                "/usr/share/icons",
                ":/icons"
            ],
            "Fallback Theme": "",
            "Fallback Search Paths": []
        }
    },
    "external-programs": {
        "rsync": {
            "version": "3.2.7",
            "protocol": "31.0",
            "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": false,
                "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"
            ]
        },
        "ssh": "OpenSSH_9.2p1 Debian-2+deb12u1, OpenSSL 3.0.11 19 Sep 2023",
        "sshfs": "3.7.3",
        "encfs": "(no encfs)",
        "shell": "/bin/bash",
        "shell-version": "GNU bash, version 5.2.15(1)-release (aarch64-unknown-linux-gnu)"
    }
}

Your next steps

  1. If this is your first contribution in this project please introduce
    your self and tell us about your skills, wishes and plans. Also let us
    know how you found the issue and the project.
  2. Read the existing contributors documentation.
  3. We can develop the next steps in the further discussion. Don't hesitate to ask.

What need to be done?

Try to reproduce the problem and investigate it. Describe the reason why this happens. After discussing a solution this could also be implemented by a contributor.

@buhtz buhtz added Bug Low relevant, but not urgent GOOD FIRST ISSUE Used by 24pullrequests.com to suggest issues HELP-WANTED Used by 24pullrequests.com to suggest issues labels Jan 8, 2024
@buhtz buhtz added this to the 2rd release from now milestone Jan 8, 2024
@buhtz buhtz changed the title ProcessLookupError when rare combination of stop and pause buttons ProcessLookupError with rare combination of start/stop/pause buttons on a slow system Jan 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug GOOD FIRST ISSUE Used by 24pullrequests.com to suggest issues HELP-WANTED Used by 24pullrequests.com to suggest issues Low relevant, but not urgent
Projects
None yet
Development

No branches or pull requests

1 participant