Skip to content

[Bug]: Using Atuin breaks the init script of devbox #3501

@assyrus-favolo

Description

@assyrus-favolo

What did you expect to happen?

I'm using devbox.
When I do devbox shell I don't expect to get any errors.

What happened?

A Bash error is triggered:

bash: 1779791173260108 - : syntax error: operand expected (error token is "- ")
Full output
devbox shell
Starting a devbox shell...
++ echo 'Welcome to devbox!'
+ cd /home/user/Documents/Develop/Personal/mago-playground
+ type refresh
+ export 'DEVBOX_REFRESH_ALIAS_71e8983acb6687c093faf35575fdc9baa8fdea90d0e66c406140946a8091d89f=eval "$(devbox shellenv --preserve-path-stack -c "/home/user/Documents/Develop/Personal/mago-playground")" && hash -r'
+ DEVBOX_REFRESH_ALIAS_71e8983acb6687c093faf35575fdc9baa8fdea90d0e66c406140946a8091d89f='eval "$(devbox shellenv --preserve-path-stack -c "/home/user/Documents/Develop/Personal/mago-playground")" && hash -r'
+ alias 'refresh=eval "$(devbox shellenv --preserve-path-stack -c "/home/user/Documents/Develop/Personal/mago-playground")" && hash -r'
+++ trap -p DEBUG
++ __bp_trap_string=
++ trap - DEBUG
++ __bp_install
++ [[ __bp_trap_string="$(trap -p DEBUG)"
trap - DEBUG
__bp_install == *\_\_\b\p\_\p\r\e\c\m\d\_\i\n\v\o\k\e\_\c\m\d* ]]
++ trap '__bp_preexec_invoke_exec "$_"' DEBUG
+++ __bp_preexec_invoke_exec DEBUG
+++ __bp_last_argument_prev_command=DEBUG
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ eval 'local trap_argv=()'
++++ __bp_preexec_invoke_exec DEBUG
++++ __bp_last_argument_prev_command=DEBUG
++++ ((  __bp_inside_preexec > 0  ))
++++ local __bp_inside_preexec=1
++++ [[ ! -t 1 ]]
++++ [[ -n '' ]]
++++ [[ -n '' ]]
++++ [[ -z '' ]]
++++ return
+++ trap_argv=()
+++ local trap_argv
+++ __bp_preexec_invoke_exec 'local trap_argv=()'
+++ __bp_last_argument_prev_command='local trap_argv=()'
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ local prior_trap=
+++ __bp_preexec_invoke_exec prior_trap=
+++ __bp_last_argument_prev_command=prior_trap=
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ unset __bp_trap_string
+++ __bp_preexec_invoke_exec __bp_trap_string
+++ __bp_last_argument_prev_command=__bp_trap_string
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ [[ -n '' ]]
+++ __bp_preexec_invoke_exec __bp_trap_string
+++ __bp_last_argument_prev_command=__bp_trap_string
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ __bp_adjust_histcontrol
++ local histcontrol
++ histcontrol=
++ histcontrol=
++ [[ '' == *\i\g\n\o\r\e\b\o\t\h* ]]
++ export HISTCONTROL=
++ HISTCONTROL=
+++ __bp_preexec_invoke_exec __bp_adjust_histcontrol
+++ __bp_last_argument_prev_command=__bp_adjust_histcontrol
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ [[ -n '' ]]
+++ __bp_preexec_invoke_exec __bp_adjust_histcontrol
+++ __bp_last_argument_prev_command=__bp_adjust_histcontrol
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ local existing_prompt_command
+++ __bp_preexec_invoke_exec existing_prompt_command
+++ __bp_last_argument_prev_command=existing_prompt_command
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ existing_prompt_command='__bp_trap_string="$(trap -p DEBUG)"
trap - DEBUG
__bp_install'
+++ __bp_preexec_invoke_exec ''
+++ __bp_last_argument_prev_command=
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ existing_prompt_command=:
+++ __bp_preexec_invoke_exec ''
+++ __bp_last_argument_prev_command=
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ existing_prompt_command=:
+++ __bp_preexec_invoke_exec ''
+++ __bp_last_argument_prev_command=
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ existing_prompt_command=:
+++ __bp_preexec_invoke_exec ''
+++ __bp_last_argument_prev_command=
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ __bp_sanitize_string existing_prompt_command :
++ local var=existing_prompt_command text=: sanitized
++ __bp_trim_whitespace sanitized :
++ local var=sanitized text=:
++ text=:
++ text=:
++ printf -v sanitized %s :
++ sanitized=:
++ sanitized=:
++ __bp_trim_whitespace sanitized :
++ local var=sanitized text=:
++ text=:
++ text=:
++ printf -v sanitized %s :
++ printf -v existing_prompt_command %s :
+++ __bp_preexec_invoke_exec :
+++ __bp_last_argument_prev_command=:
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ [[ : == \: ]]
+++ __bp_preexec_invoke_exec :
+++ __bp_last_argument_prev_command=:
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ existing_prompt_command=
+++ __bp_preexec_invoke_exec ''
+++ __bp_last_argument_prev_command=
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ PROMPT_COMMAND=__bp_precmd_invoke_cmd
+++ __bp_preexec_invoke_exec ''
+++ __bp_last_argument_prev_command=
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ PROMPT_COMMAND+=
+++ __bp_preexec_invoke_exec ''
+++ __bp_last_argument_prev_command=
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ ((  BASH_VERSINFO[0] > 5 || (BASH_VERSINFO[0] == 5 && BASH_VERSINFO[1] >= 1)  ))
+++ __bp_preexec_invoke_exec ''
+++ __bp_last_argument_prev_command=
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ PROMPT_COMMAND+=('__bp_interactive_mode')
+++ __bp_preexec_invoke_exec ''
+++ __bp_last_argument_prev_command=
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ precmd_functions+=(precmd)
+++ __bp_preexec_invoke_exec ''
+++ __bp_last_argument_prev_command=
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ preexec_functions+=(preexec)
+++ __bp_preexec_invoke_exec ''
+++ __bp_last_argument_prev_command=
+++ ((  __bp_inside_preexec > 0  ))
+++ local __bp_inside_preexec=1
+++ [[ ! -t 1 ]]
+++ [[ -n '' ]]
+++ [[ -n '' ]]
+++ [[ -z '' ]]
+++ return
++ __bp_precmd_invoke_cmd
++ __bp_last_ret_value=0
++ BP_PIPESTATUS=("${PIPESTATUS[@]}")
++ ((  __bp_inside_precmd > 0  ))
++ local __bp_inside_precmd=1
++ local precmd_function
++ for precmd_function in "${precmd_functions[@]}"
++ type -t __atuin_precmd
++ __bp_set_ret_value 0 ''
++ return 0
++ __atuin_precmd
++ local EXIT=0 __atuin_precmd_time=1779791418,920733
++ [[ ! -n 019e63d5d5b07493a697529b888df6b6 ]]
++ [[ 019e63d5d5b07493a697529b888df6b6 == __bash_preexec_failure__ ]]
++ local duration=
++ [[ -n '' ]]
++ (( BASH_VERSINFO[0] >= 5 ))
bash: 1779791418920733 - : syntax error: operand expected (error token is "- ")

Atuin doctor output

Atuin Doctor
Checking for diagnostics

[Shell] If you are using Bash, Atuin requires that either bash-preexec or ble.sh (>= 0.4) be installed. An older ble.sh may not be detected. so ignore this if you have ble.sh >= 0.4 set up! Read more here: https://docs.atuin.sh/guide/installation/#bash

Please include the output below with any bug reports or issues

{
  "atuin": {
    "version": "18.15.2",
    "commit": "NO_GIT",
    "sync": null,
    "sqlite_version": "3.46.0"
  },
  "shell": {
    "name": "bash",
    "default": "bash",
    "plugins": [
      "atuin"
    ],
    "preexec": "none"
  },
  "system": {
    "os": "Ubuntu",
    "arch": "x86_64",
    "version": "24.04",
    "disks": [
      {
        "name": "/dev/mapper/ubuntu--vg-ubuntu--lv",
        "filesystem": "ext4"
      },
      {
        "name": "/dev/nvme0n1p2",
        "filesystem": "ext4"
      },
      {
        "name": "/dev/nvme0n1p1",
        "filesystem": "vfat"
      }
    ]
  }
}

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions