mise icon indicating copy to clipboard operation
mise copied to clipboard

`mise install` failes with v2024.5.26 and 27 but works with .24

Open sarg3nt opened this issue 8 months ago • 6 comments

Describe the bug When running mise install to install apps via a config file during a build of a Docker container, mise versions v2024.5.26 and v2024.5.27 fail with the following errors.

0.290 2024-05-31 20:29:03 Installing mise
0.419   not a dynamic executable
0.427 mise: installing mise...
######################################################################## 100.0%
1.179   not a dynamic executable
1.378 mise: installed successfully to /home/vscode/.local/bin/mise
1.378 mise: run the following to activate mise in your shell:
1.378 echo "eval \"\$(/home/vscode/.local/bin/mise activate zsh)\"" >> "/home/vscode/.zshrc"
1.378
1.378 mise: this must be run in order to use mise in the terminal
1.378 mise: run `mise doctor` to verify this is setup correctly
1.381 2024.5.27 linux-x64 (0e0db86 2024-05-31)
1.439 [DEBUG] ARGS: mise doctor
1.439 version: 2024.5.27 linux-x64 (0e0db86 2024-05-31)
1.439 activated: no
1.439 shims_on_path: yes
1.439
1.439 build_info:
1.439   Target: x86_64-unknown-linux-gnu
1.439   Features: DEFAULT, NATIVE_TLS, OPENSSL
1.439   Built: Fri, 31 May 2024 02:04:43 +0000
1.439   Rust Version: rustc 1.78.0 (9b00956e5 2024-04-29)
1.439   Profile: release
1.439
1.439 shell:
1.439   (unknown)
1.439
1.439 dirs:
1.439   data: ~/.local/share/mise
1.439   config: ~/.config/mise
1.439   cache: ~/.cache/mise
1.439   state: ~/.local/state/mise
1.439   shims: ~/.local/share/mise/shims
1.441 [DEBUG] Config {
1.441     Config Files: [
1.441         "~/.config/mise/config.toml",
1.441     ],
1.441 }
1.441
1.441 config_files:
1.441   ~/.config/mise/config.toml
1.441
1.441 backends:
1.441   cargo
1.441   core
1.441   go
1.441   npm
1.441   pipx
1.441   ubi
1.441
1.441 plugins:
1.441   bun     (core)
1.441   deno    (core)
1.441   erlang  (core)
1.441   go      (core)
1.441   java    (core)
1.441   node    (core)
1.441   python  (core)
1.441   ruby    (core)
1.442 [DEBUG] ToolRequestSet.build(54.201µs): ToolRequestSet: bat@latest dive@latest fzf@latest gitui@latest go@latest goreleaser@latest helm@latest k9s@latest krew@latest kubebench@latest [email protected] kubectx@latest lsd@latest micro@latest [email protected] packer@latest starship@latest tealdeer@latest trivy@latest [email protected] yq@latest
1.442
1.448 [DEBUG] GET http://mise-versions.jdx.dev/go
1.448 [DEBUG] starting new connection: http://mise-versions.jdx.dev/
1.448 [DEBUG] proxy(http://wall.ad.selinc.com:8080) intercepts 'http://mise-versions.jdx.dev/'
1.495 [DEBUG] GET http://mise-versions.jdx.dev/go 200 OK
1.497 [DEBUG] Toolset (56.197207ms): bat@latest, dive@latest, fzf@latest, gitui@latest, go@latest, goreleaser@latest, helm@latest, k9s@latest, krew@latest, kubebench@latest, [email protected], kubectx@latest, lsd@latest, micro@latest, [email protected], packer@latest, starship@latest, tealdeer@latest, trivy@latest, [email protected], yq@latest
1.501
1.501 toolset:
1.501   bat@latest         (missing)
1.501   dive@latest        (missing)
1.501   fzf@latest         (missing)
1.501   gitui@latest       (missing)
1.501   [email protected]          (missing)
1.501   goreleaser@latest  (missing)
1.501   helm@latest        (missing)
1.501   k9s@latest         (missing)
1.501   krew@latest        (missing)
1.501   kubebench@latest   (missing)
1.501   [email protected]       (missing)
1.501   kubectx@latest     (missing)
1.501   lsd@latest         (missing)
1.501   micro@latest       (missing)
1.501   [email protected]       (missing)
1.501   packer@latest      (missing)
1.501   starship@latest    (missing)
1.501   tealdeer@latest    (missing)
1.501   trivy@latest       (missing)
1.501   [email protected]      (missing)
1.501   yq@latest          (missing)
1.501
1.501 env_vars:
1.501   MISE_VERSION=v2024.5.27
1.501   MISE_VERBOSE=1
1.502
1.502 settings:
1.502   activate_aggressive = false
1.502   all_compile = false
1.502   always_keep_download = false
1.502   always_keep_install = false
1.502   asdf_compat = false
1.502   cargo_binstall = true
1.502   color = true
1.502   disable_default_shorthands = false
1.502   disable_tools = []
1.502   experimental = false
1.502   go_default_packages_file = "~/.default-go-packages"
1.502   go_download_mirror = "https://dl.google.com/go"
1.502   go_repo = "https://github.com/golang/go"
1.502   go_set_gopath = false
1.502   go_set_goroot = true
1.502   go_skip_checksum = false
1.502   jobs = 4
1.502   legacy_version_file = true
1.502   legacy_version_file_disable_tools = []
1.502   node_compile = false
1.502   not_found_auto_install = true
1.502   paranoid = false
1.502   plugin_autoupdate_last_check_duration = "7d"
1.502   python_default_packages_file = "/home/vscode/.default-python-packages"
1.502   python_pyenv_repo = "https://github.com/pyenv/pyenv.git"
1.502   raw = false
1.502   trusted_config_paths = []
1.502   quiet = false
1.502   verbose = true
1.502   yes = false
1.502   ci = false
1.502   debug = false
1.502   trace = false
1.502   log_level = "debug"
1.502   python_venv_auto_create = false
1.502
1.502   [status]
1.502   missing_tools = "if_other_versions_installed"
1.502   show_env = false
1.502   show_tools = false
1.502
1.502 No warnings found
1.502 No problems found
1.505 2024-05-31 20:29:05 Installing tools with mise
1.510 [DEBUG] ARGS: mise trust /home/vscode/.config/mise/config.toml
1.510 [INFO] mise trusted /home/vscode/.config/mise/config.toml
1.515 [DEBUG] ARGS: mise install
1.516 [DEBUG] Config {
1.516     Config Files: [
1.516         "~/.config/mise/config.toml",
1.516     ],
1.516 }
1.516 [DEBUG] ToolRequestSet.build(38.801µs): ToolRequestSet: bat@latest dive@latest fzf@latest gitui@latest go@latest goreleaser@latest helm@latest k9s@latest krew@latest kubebench@latest [email protected] kubectx@latest lsd@latest micro@latest [email protected] packer@latest starship@latest tealdeer@latest trivy@latest [email protected] yq@latest
1.516
1.516 [DEBUG] install_versions: bat@latest dive@latest fzf@latest gitui@latest go@latest goreleaser@latest helm@latest k9s@latest krew@latest kubebench@latest [email protected] kubectx@latest lsd@latest micro@latest [email protected] packer@latest starship@latest tealdeer@latest trivy@latest [email protected] yq@latest
1.516 [WARN] ⚠️ yq is a community-developed plugin
1.517 [WARN] url: https://github.com/sudermanjr/asdf-yq
1.519 [DEBUG] install vault "https://github.com/asdf-community/asdf-hashicorp"
1.519 cloning https://github.com/asdf-community/asdf-hashicorp
1.519 [DEBUG] cloning https://github.com/asdf-community/asdf-hashicorp to /home/vscode/.local/share/mise/plugins/vault
1.519 [DEBUG] mkdirp: "/home/vscode/.local/share/mise/plugins"
1.880 [DEBUG] current sha for "/home/vscode/.local/share/mise/plugins/vault": f1602b6
1.880 mise plugin:vault ✓ https://github.com/asdf-community/asdf-hashicorp#f1602b6
1.880 [WARN] ⚠️ trivy is a community-developed plugin
1.880 [WARN] url: https://github.com/zufardhiyaulhaq/asdf-trivy
1.880 [DEBUG] install tealdeer "https://github.com/sarg3nt/asdf-tealdeer"
1.880 cloning https://github.com/sarg3nt/asdf-tealdeer
1.880 [DEBUG] cloning https://github.com/sarg3nt/asdf-tealdeer to /home/vscode/.local/share/mise/plugins/tealdeer
2.203 [DEBUG] current sha for "/home/vscode/.local/share/mise/plugins/tealdeer": 7a93c7d
2.203 mise plugin:tealdeer ✓ https://github.com/sarg3nt/asdf-tealdeer#7a93c7d
2.203 [WARN] ⚠️ starship is a community-developed plugin
2.203 [WARN] url: https://github.com/gr1m0h/asdf-starship
2.203 [DEBUG] install packer "https://github.com/asdf-community/asdf-hashicorp"
2.203 cloning https://github.com/asdf-community/asdf-hashicorp
2.203 [DEBUG] cloning https://github.com/asdf-community/asdf-hashicorp to /home/vscode/.local/share/mise/plugins/packer
2.548 [DEBUG] current sha for "/home/vscode/.local/share/mise/plugins/packer": f1602b6
2.548 mise plugin:packer ✓ https://github.com/asdf-community/asdf-hashicorp#f1602b6
2.548 [WARN] ⚠️ opentofu is a community-developed plugin
2.548 [WARN] url: https://github.com/virtualroot/asdf-opentofu
2.548 [DEBUG] install micro "https://github.com/sarg3nt/asdf-micro"
2.548 cloning https://github.com/sarg3nt/asdf-micro
2.548 [DEBUG] cloning https://github.com/sarg3nt/asdf-micro to /home/vscode/.local/share/mise/plugins/micro
2.857 [DEBUG] current sha for "/home/vscode/.local/share/mise/plugins/micro": 7c2d3dd
2.857 mise plugin:micro ✓ https://github.com/sarg3nt/asdf-micro#7c2d3dd
2.857 [DEBUG] install lsd "https://github.com/mise-plugins/asdf-lsd"
2.857 cloning https://github.com/mise-plugins/asdf-lsd
2.857 [DEBUG] cloning https://github.com/mise-plugins/asdf-lsd to /home/vscode/.local/share/mise/plugins/lsd
3.206 [DEBUG] current sha for "/home/vscode/.local/share/mise/plugins/lsd": c3858be
3.206 mise plugin:lsd ✓ https://github.com/mise-plugins/asdf-lsd#c3858be
3.206 [WARN] ⚠️ kubectx is a community-developed plugin
3.206 [WARN] url: https://gitlab.com/wt0f/asdf-kubectx
3.206 [WARN] ⚠️ kubectl is a community-developed plugin
3.206 [WARN] url: https://github.com/asdf-community/asdf-kubectl
3.206 [DEBUG] install kubebench "https://github.com/sarg3nt/asdf-kube-bench"
3.206 cloning https://github.com/sarg3nt/asdf-kube-bench
3.206 [DEBUG] cloning https://github.com/sarg3nt/asdf-kube-bench to /home/vscode/.local/share/mise/plugins/kubebench
3.528 [DEBUG] current sha for "/home/vscode/.local/share/mise/plugins/kubebench": 1a7dce2
3.528 mise plugin:kubebench ✓ https://github.com/sarg3nt/asdf-kube-bench#1a7dce2
3.528 [WARN] ⚠️ krew is a community-developed plugin
3.528 [WARN] url: https://github.com/bjw-s/asdf-krew
3.528 [WARN] ⚠️ k9s is a community-developed plugin
3.528 [WARN] url: https://github.com/looztra/asdf-k9s
3.528 [WARN] ⚠️ helm is a community-developed plugin
3.528 [WARN] url: https://github.com/Antiarchitect/asdf-helm
3.528 [WARN] ⚠️ goreleaser is a community-developed plugin
3.528 [WARN] url: https://github.com/kforsthoevel/asdf-goreleaser
3.528 [WARN] ⚠️ gitui is a community-developed plugin
3.528 [WARN] url: https://github.com/looztra/asdf-gitui
3.528 [WARN] ⚠️ fzf is a community-developed plugin
3.528 [WARN] url: https://github.com/kompiro/asdf-fzf
3.528 [WARN] ⚠️ dive is a community-developed plugin
3.528 [WARN] url: https://github.com/looztra/asdf-dive
3.528 [WARN] ⚠️ bat is a community-developed plugin
3.528 [WARN] url: https://gitlab.com/wt0f/asdf-bat
3.537 Error:
3.537    0: bat is not installed
3.537
3.537 Location:
3.537    src/forge/mod.rs:344
3.537
3.537 Version:
3.537    2024.5.27 linux-x64 (0e0db86 2024-05-31)
3.537
3.537   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3.537                                 ⋮ 2 frames hidden ⋮
3.538    3: mise::forge::Forge::install_version::h457ae39afc9757c5
3.538       at <unknown source file>:<unknown line>
3.538    4: std::sys_common::backtrace::__rust_begin_short_backtrace::hcb3d57ddc8d6fb46
3.538       at <unknown source file>:<unknown line>
3.538    5: core::ops::function::FnOnce::call_once{{vtable.shim}}::ha02f8bde1983b550
3.538       at <unknown source file>:<unknown line>
3.538    6: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h19b9e642d37e7272
3.538       at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/alloc/src/boxed.rs:2020
3.538    7: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h97265befc434d3ae
3.538       at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/alloc/src/boxed.rs:2020
3.538    8: std::sys::pal::unix::thread::Thread::new::thread_start::h420dad5cf01a9f35
3.538       at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/sys/pal/unix/thread.rs:108
3.538    9: start_thread<unknown>
3.538       at <unknown source file>:<unknown line>
3.538   10: __GI___clone<unknown>
3.538       at <unknown source file>:<unknown line>
3.538
3.538 Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
3.538 Run with RUST_BACKTRACE=full to include source snippets.

mise version v2024.5.24 works as expected.
Removing apps from the install list does not solve anything as it then changes to a different app that will not install.

To Reproduce

The mise config.yaml

[tools]
#python = '3.12-dev'
bat = "latest"
#cmctl = "1.14.5" # Broken: https://github.com/asdf-community/asdf-cmctl/issues/10
dive = "latest"
fzf = "latest"
gitui = "latest"
golang = 'latest'
goreleaser = 'latest'
helm = "latest"
k9s = "latest"
krew = "latest"
kubebench = "latest"
kubectl = "1.27"
kubectx = "latest"
lsd = "latest"
micro = "latest"
opentofu = "1.7"
packer = "latest"
#popeye = "latest"  ### Broken: https://github.com/nlamirault/asdf-popeye/issues/6
starship = "latest"
tealdeer = "latest"
trivy = "latest"
vault = "1.14.10"   # Must stick to this version as Hashicorp is not building newer versions that are not enterprise.
yq = "latest"

[plugins]
# specify a custom repo url
# note this will only be used if the plugin does not already exist
bat = "https://gitlab.com/wt0f/asdf-bat"
#cmctl = "https://github.com/asdf-community/asdf-cmctl"
dive = "https://github.com/looztra/asdf-dive"
fzf = "https://github.com/kompiro/asdf-fzf"
gitui = "https://github.com/looztra/asdf-gitui"
goreleaser = "https://github.com/kforsthoevel/asdf-goreleaser"
helm = "https://github.com/Antiarchitect/asdf-helm"
k9s = "https://github.com/looztra/asdf-k9s"
krew = "https://github.com/bjw-s/asdf-krew"
kubebench = "https://github.com/sarg3nt/asdf-kube-bench"
kubectl = 'https://github.com/asdf-community/asdf-kubectl'
kubectx = "https://gitlab.com/wt0f/asdf-kubectx"
kubeseal = "https://github.com/stefansedich/asdf-kubeseal"
lsd = "https://github.com/mise-plugins/asdf-lsd"
micro = "https://github.com/sarg3nt/asdf-micro"
opentofu = "https://github.com/virtualroot/asdf-opentofu"
packer = "https://github.com/asdf-community/asdf-hashicorp"
#popeye = "https://github.com/nlamirault/asdf-popeye"
starship = "https://github.com/gr1m0h/asdf-starship"
tealdeer = "https://github.com/sarg3nt/asdf-tealdeer"
trivy = "https://github.com/zufardhiyaulhaq/asdf-trivy"
vault = "https://github.com/asdf-community/asdf-hashicorp"
yq = "https://github.com/sudermanjr/asdf-yq"

NOTE: python = '3.12-dev' is commented out so I can simplify the build for testing, it does not contribute to failure or success.

In a script ran by the Dockerfile I have this.

#!/bin/bash
# Copyright (c) 2024 Schweitzer Engineering Laboratories, Inc.
# SEL Confidential
set -euo pipefail
IFS=$'\n\t'

# cSpell:ignore devel libuuid gdbm libnsl

main() {
  source "/usr/bin/lib/sh/log.sh"

  ############ Install mise
  log "30-install-mise.sh" "blue"

  # From https://github.com/pyenv/pyenv/wiki#suggested-build-environment
  log "Installing requirements for building Python via mise" "green"
  #sudo dnf -y update
  #sudo dnf install -y make gcc patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel libffi-devel xz-devel libuuid-devel libnsl2

  log "Installing mise" "green"
  curl -sL https://mise.run | sh
  export PATH="$HOME/.local/share/mise/shims:$HOME/.local/bin/:$PATH"
  mise version

  log "Installing tools with mise" "green"
  mise trust "$HOME/.config/mise/config.toml"
  mise install

  #log "Removing python build requirements." "green"
  #sudo dnf remove -y make gcc patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel libffi-devel xz-devel libuuid-devel libnsl2
  #sudo dnf autoremove -y
  #sudo dnf clean all

  log "Deleting files from /tmp" "green"
  sudo rm -rf /tmp/*
}

# Run main
if ! (return 0 2>/dev/null); then
  (main "$@")
fi

NOTE: Commented out code for testing to speed things up.

Expected behavior Newer versions should install, or if there are breaking changes with the config file then this should not be a patch release and the changes should be mentioned both in docs and in the Releases notes for that version, I suspect this is a bug though..

mise doctor output

1.439 [DEBUG] ARGS: mise doctor
1.439 version: 2024.5.27 linux-x64 (0e0db86 2024-05-31)
1.439 activated: no
1.439 shims_on_path: yes
1.439
1.439 build_info:
1.439   Target: x86_64-unknown-linux-gnu
1.439   Features: DEFAULT, NATIVE_TLS, OPENSSL
1.439   Built: Fri, 31 May 2024 02:04:43 +0000
1.439   Rust Version: rustc 1.78.0 (9b00956e5 2024-04-29)
1.439   Profile: release
1.439
1.439 shell:
1.439   (unknown)
1.439
1.439 dirs:
1.439   data: ~/.local/share/mise
1.439   config: ~/.config/mise
1.439   cache: ~/.cache/mise
1.439   state: ~/.local/state/mise
1.439   shims: ~/.local/share/mise/shims
1.441 [DEBUG] Config {
1.441     Config Files: [
1.441         "~/.config/mise/config.toml",
1.441     ],
1.441 }
1.441
1.441 config_files:
1.441   ~/.config/mise/config.toml
1.441
1.441 backends:
1.441   cargo
1.441   core
1.441   go
1.441   npm
1.441   pipx
1.441   ubi
1.441
1.441 plugins:
1.441   bun     (core)
1.441   deno    (core)
1.441   erlang  (core)
1.441   go      (core)
1.441   java    (core)
1.441   node    (core)
1.441   python  (core)
1.441   ruby    (core)

Additional context This is code that has been working for some time and broke with new releases of mise. ARG MISE_VERSION="v2024.5.24" works ARG MISE_VERSION="v2024.5.25" mise does not install ARG MISE_VERSION="v2024.5.26" Throws above errors ARG MISE_VERSION="v2024.5.27" Throws above errors

NOTE: Above are ARGs in a Dockerfile and are functionally identical to an ENV. I am confirming that the correct version of mise is being installed in debug output.

sarg3nt avatar May 31 '24 20:05 sarg3nt