Skip to content

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

@buhtz

Description

@buhtz

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.

Participation or contribution is not recommended unless you are familiar with Back In Time and are an active user. This project is not intended for learning basic Python skills or enhancing your GitHub profile.

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugGOOD FIRST ISSUEUsed by 24pullrequests.com to suggest issuesHELP-WANTEDUsed by 24pullrequests.com to suggest issuesLowrelevant, but not urgentNo CodeThe solution to this issue is something else than code or programming.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions