• Bug#1106859: bash: command_not_found_handle break when stdin is invalid

    From Jonathan H N Chin@21:1/5 to All on Fri May 30 17:10:01 2025
    Package: bash
    Version: 5.2.37-2+b2
    Severity: normal


    Install `command-not-found` package so that the bash function `command_not_found_handle` defined in `/etc/bash.bashrc` runs.

    Make a command typo: Can be simplified as: `a`
    The python handler reports:
    ```
    a: command not found
    ```

    Make a command typo. Can be simplified as: `a </`
    The python handler fails with:
    ```
    Fatal Python error: init_sys_streams: <stdin> is a directory, cannot continue Python runtime state: core initialized
    ```


    I do not know if this is a good fix but editing `/etc/bash.bashrc
    so that stdin is redirected from `/dev/null` avoids the failure:

    ```
    function command_not_found_handle {
    # check because c-n-f could've been removed in the meantime
    if [ -x /usr/lib/command-not-found ]; then
    </dev/null /usr/lib/command-not-found -- "$1"
    return $?
    elif [ -x /usr/share/command-not-found/command-not-found ]; then
    /usr/share/command-not-found/command-not-found -- "$1"
    return $?
    else
    printf "%s: command not found\n" "$1" >&2
    return 127
    fi
    }
    ```

    My system does not have `/usr/share/command-not-dound/command-not-found`
    (and I don't know where it comes from) so I do not know if that has the
    same issue and should have a similar fix applied.



    -- System Information:
    Debian Release: 13.0
    APT prefers unstable
    APT policy: (500, 'unstable'), (1, 'experimental')
    Architecture: amd64 (x86_64)

    Kernel: Linux 5.15.0-97-generic (SMP w/1 CPU thread)
    Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_LIVEPATCH Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
    Shell: /bin/sh linked to /usr/bin/dash
    Init: systemd (via /run/systemd/system)
    LSM: AppArmor: enabled

    Versions of packages bash depends on:
    ii base-files 13.8
    ii debianutils 5.22
    ii libc6 2.41-8
    ii libtinfo6 6.5+20250216-2

    Versions of packages bash recommends:
    pn bash-completion <none>

    Versions of packages bash suggests:
    pn bash-doc <none>

    -- no debconf information

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)