flox icon indicating copy to clipboard operation
flox copied to clipboard

go 1.21.7 (previously installable) no longer available via `flox show go`/`flox install go1.21.7`

Open stealthybox opened this issue 1 year ago • 1 comments

Ran into this during the Thursday meetup.

My previous go env built on Jul 17 has this package ([email protected]) installed. See logs for the Nix store path as well.

Testing on Darwin M1. Env was previously built/installed with whatever was the current release version of Flox on Jul 17. Now on 1.2.2:

❯ flox --version && uname -sm && uname -v
1.2.2
Darwin arm64
Darwin Kernel Version 23.5.0: Tue Mar 26 20:56:58 PDT 2024; root:xnu-10063.120.88.501.3~2/RELEASE_ARM64_T8103

Guessing this might be a catalog bug unless we really changed something in the CLI/SDK. I think I ran into other go package versions while doing this live that were also no longer present.

I would consider this high priority since it breaks reproducibility. Thanks friends ✨

Log File: missing-go1.21.7.log.txt

Log inline:

~/hack/flox/env/go                                                                                                              flox default 01:02:54
❯ flox list -c | head -n13
#
# This is a Flox environment manifest.
# Visit flox.dev/docs/concepts/manifest/
# or see flox-edit(1), manifest.toml(5) for more information.
#
version = 1

# List packages you wish to install in your environment inside
# the `[install]` section.
[install]
go.pkg-path = "go"
go.version = "1.21.7"
# hello.pkg-path = "hello"

~/hack/flox/env/go                                                                                                              flox default 01:02:58
❯ flox list
go: go (1.21.7)

~/hack/flox/env/go                                                                                                              flox default 01:03:00
❯ la /nix/store | grep 'go1\.21\.7'
-r--r--r--    1 root  nixbld   3.0K Dec 31  1969 x26wd8wp1f2vy8pza2572wswq2iw5d3q-go1.21.7.src.tar.gz.drv

~/hack/flox/env/go                                                                                                              flox default 01:03:05
❯ flox show go
go - Go Programming language
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected] (aarch64-linux, x86_64-darwin, x86_64-linux only)

~/hack/flox/env/go                                                                                                              flox default 01:03:11
❯ mkdir subdir

~/hack/flox/env/go                                                                                                              flox default 01:03:23
❯ cd subdir

~/hack/flox/env/go/subdir                                                                                                       flox default 01:03:35
❯ flox init
✨ Created environment 'subdir' (aarch64-darwin)

Next:
  $ flox search <package>    <- Search for a package
  $ flox install <package>   <- Install a package into an environment
  $ flox activate            <- Enter the environment
  $ flox edit                <- Add environment variables and shell hooks


~/hack/flox/env/go/subdir                                                                                                       flox default 01:03:37
❯ flox install [email protected]
❌ ERROR: resolution failed: Resolution constraints are too tight.

~/hack/flox/env/go/subdir                                                                                                   х 1 flox default 01:03:55
❯ flox install -vvvvv [email protected]
2024-08-05T07:04:05.448479Z DEBUG flox: set _FLOX_PKGDB_VERBOSITY=5
2024-08-05T07:04:05.449071Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE
2024-08-05T07:04:05.449070Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE
2024-08-05T07:04:05.450004Z DEBUG flox::config: reading raw config (initialized: false, reload: false)
2024-08-05T07:04:05.450162Z DEBUG flox::config: `$FLOX_CONFIG_DIR` not set, using "/Users/stealthybox/.config/flox/"
2024-08-05T07:04:05.456750Z DEBUG flox::commands: Metrics collection disabled
2024-08-05T07:04:05.460139Z DEBUG flox::utils::init::catalog_client: using production catalog client
2024-08-05T07:04:05.462791Z DEBUG flox::utils::init::metrics: Attempting to read own UUID from file
2024-08-05T07:04:05.463304Z TRACE install: flox_command: subcommand="install"
2024-08-05T07:04:05.463440Z DEBUG install: flox::utils::metrics: No metrics client setup, skipping record
2024-08-05T07:04:05.463444Z DEBUG install: flox::commands::install: installing packages [[email protected]] to Unspecified
2024-08-05T07:04:05.463488Z TRACE hyper::client::pool: checkout waiting for idle connection: ("https", downloads.flox.dev)
2024-08-05T07:04:05.463589Z DEBUG install: flox_rust_sdk::models::environment: looking for .flox: starting_path=/Users/stealthybox/hack/flox/env/go/subdir/.flox
2024-08-05T07:04:05.463693Z DEBUG reqwest::connect: starting new connection: https://downloads.flox.dev/
2024-08-05T07:04:05.464070Z TRACE hyper::client::connect::http: Http::connect; scheme=Some("https"), host=Some("downloads.flox.dev"), port=None
2024-08-05T07:04:05.464270Z DEBUG install: flox_rust_sdk::models::environment: .flox found: path=/Users/stealthybox/hack/flox/env/go/subdir/.flox
2024-08-05T07:04:05.464298Z DEBUG install: flox::commands: detected concrete environment type: path
2024-08-05T07:04:05.464376Z DEBUG hyper::client::connect::dns: resolving host="downloads.flox.dev"
2024-08-05T07:04:05.467416Z DEBUG hyper::client::connect::http: connecting to 18.160.143.110:443
2024-08-05T07:04:05.467581Z TRACE mio::poll: registering event source with poller: token=Token(4847591552), interests=READABLE | WRITABLE
2024-08-05T07:04:05.467738Z DEBUG flox_rust_sdk::models::manifest: attempting to insert packages into manifest
2024-08-05T07:04:05.467897Z DEBUG flox_rust_sdk::models::manifest: package newly installed: id=go, pkg-path=go
⠁ Installing packages to environment 'subdir'...                                                                                                      2024-08-05T07:04:05.468432Z DEBUG flox_rust_sdk::models::environment::core_environment: transaction: making temporary environment in /Users/stealthybox/.cache/flox/process/.tmp4spOJI/.tmpglE2wd
2024-08-05T07:04:05.468650Z DEBUG flox_rust_sdk::models::environment::core_environment: transaction: updating manifest
2024-08-05T07:04:05.468654Z DEBUG flox_rust_sdk::models::environment::core_environment: writing new manifest to /Users/stealthybox/.cache/flox/process/.tmp4spOJI/.tmpglE2wd/manifest.toml
2024-08-05T07:04:05.468805Z DEBUG flox_rust_sdk::models::environment::core_environment: transaction: locking environment
2024-08-05T07:04:05.468850Z DEBUG flox_rust_sdk::models::environment::core_environment: using catalog client to lock
2024-08-05T07:04:05.469413Z DEBUG flox_rust_sdk::providers::catalog: resolving package groups n_groups=1
2024-08-05T07:04:05.469598Z TRACE hyper::client::pool: checkout waiting for idle connection: ("https", api.flox.dev)
2024-08-05T07:04:05.469608Z DEBUG reqwest::connect: starting new connection: https://api.flox.dev/
2024-08-05T07:04:05.469911Z TRACE hyper::client::connect::http: Http::connect; scheme=Some("https"), host=Some("api.flox.dev"), port=None
2024-08-05T07:04:05.469959Z DEBUG hyper::client::connect::dns: resolving host="api.flox.dev"
2024-08-05T07:04:05.471331Z DEBUG hyper::client::connect::http: connecting to 34.224.191.210:443
2024-08-05T07:04:05.471472Z TRACE mio::poll: registering event source with poller: token=Token(4847598208), interests=READABLE | WRITABLE
2024-08-05T07:04:05.477093Z DEBUG hyper::client::connect::http: connected to 18.160.143.110:443
2024-08-05T07:04:05.509504Z TRACE hyper::client::conn: client handshake Http1
2024-08-05T07:04:05.509537Z TRACE hyper::client::client: handshake complete, spawning background dispatcher task
2024-08-05T07:04:05.509718Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy }
2024-08-05T07:04:05.509796Z TRACE hyper::client::pool: checkout dropped for ("https", downloads.flox.dev)
2024-08-05T07:04:05.509825Z TRACE encode_headers: hyper::proto::h1::role: Client::encode method=GET, body=None
2024-08-05T07:04:05.510108Z DEBUG hyper::proto::h1::io: flushed 85 bytes
2024-08-05T07:04:05.510112Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy }
2024-08-05T07:04:05.520585Z TRACE hyper::proto::h1::conn: Conn::read_head
2024-08-05T07:04:05.520619Z TRACE hyper::proto::h1::io: received 700 bytes
2024-08-05T07:04:05.520629Z TRACE parse_headers: hyper::proto::h1::role: Response.parse bytes=700
2024-08-05T07:04:05.520639Z TRACE parse_headers: hyper::proto::h1::role: Response.parse Complete(700)
2024-08-05T07:04:05.520666Z DEBUG hyper::proto::h1::io: parsed 20 headers
2024-08-05T07:04:05.520668Z DEBUG hyper::proto::h1::conn: incoming body is content-length (6 bytes)
2024-08-05T07:04:05.520682Z TRACE hyper::proto::h1::decode: decode; state=Length(6)
2024-08-05T07:04:05.520691Z TRACE hyper::proto::h1::io: received 6 bytes
2024-08-05T07:04:05.520693Z DEBUG hyper::proto::h1::conn: incoming body completed
2024-08-05T07:04:05.520703Z TRACE hyper::proto::h1::conn: maybe_notify; read_from_io blocked
2024-08-05T07:04:05.520708Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle }
2024-08-05T07:04:05.520876Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle }
2024-08-05T07:04:05.520888Z TRACE hyper::client::pool: put; add idle connection for ("https", downloads.flox.dev)
2024-08-05T07:04:05.520893Z DEBUG hyper::client::pool: pooling idle connection for ("https", downloads.flox.dev)
2024-08-05T07:04:05.521272Z TRACE hyper::proto::h1::dispatch: client tx closed
2024-08-05T07:04:05.521276Z TRACE hyper::proto::h1::conn: State::close_read()
2024-08-05T07:04:05.521278Z TRACE hyper::proto::h1::conn: State::close_write()
2024-08-05T07:04:05.521280Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Closed, writing: Closed, keep_alive: Disabled }
2024-08-05T07:04:05.521313Z TRACE hyper::proto::h1::conn: shut down IO complete
2024-08-05T07:04:05.521318Z TRACE mio::poll: deregistering event source from poller
2024-08-05T07:04:05.522152Z DEBUG hyper::client::connect::http: connected to 34.224.191.210:443
⠉ Installing packages to environment 'subdir'...                                                                                                      2024-08-05T07:04:05.630806Z TRACE hyper::client::conn: client handshake Http1
2024-08-05T07:04:05.630846Z TRACE hyper::client::client: handshake complete, spawning background dispatcher task
2024-08-05T07:04:05.630893Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy }
2024-08-05T07:04:05.630917Z TRACE hyper::client::pool: checkout dropped for ("https", api.flox.dev)
2024-08-05T07:04:05.630972Z TRACE encode_headers: hyper::proto::h1::role: Client::encode method=POST, body=Some(Known(647))
2024-08-05T07:04:05.630997Z TRACE hyper::proto::h1::encode: sized write, len = 647
2024-08-05T07:04:05.631004Z TRACE hyper::proto::h1::io: buffer.flatten self.len=168 buf.len=647
2024-08-05T07:04:05.631098Z DEBUG hyper::proto::h1::io: flushed 815 bytes
2024-08-05T07:04:05.631104Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy }
⠒ Installing packages to environment 'subdir'...                                                                                                      2024-08-05T07:04:05.926499Z TRACE hyper::proto::h1::conn: Conn::read_head
2024-08-05T07:04:05.926665Z TRACE hyper::proto::h1::io: received 353 bytes
2024-08-05T07:04:05.926770Z TRACE parse_headers: hyper::proto::h1::role: Response.parse bytes=353
2024-08-05T07:04:05.926810Z TRACE parse_headers: hyper::proto::h1::role: Response.parse Complete(185)
2024-08-05T07:04:05.926846Z DEBUG hyper::proto::h1::io: parsed 6 headers
2024-08-05T07:04:05.927034Z DEBUG hyper::proto::h1::conn: incoming body is content-length (168 bytes)
2024-08-05T07:04:05.927129Z TRACE hyper::proto::h1::decode: decode; state=Length(168)
2024-08-05T07:04:05.927259Z DEBUG hyper::proto::h1::conn: incoming body completed
2024-08-05T07:04:05.927290Z TRACE hyper::proto::h1::conn: maybe_notify; read_from_io blocked
2024-08-05T07:04:05.927311Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle }
2024-08-05T07:04:05.927336Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle }
2024-08-05T07:04:05.927320Z TRACE hyper::client::pool: put; add idle connection for ("https", api.flox.dev)
2024-08-05T07:04:05.927831Z DEBUG hyper::client::pool: pooling idle connection for ("https", api.flox.dev)
2024-08-05T07:04:05.927895Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle }
2024-08-05T07:04:05.927939Z DEBUG flox_rust_sdk::providers::catalog: received resolved package groups n_groups=1
2024-08-05T07:04:05.927964Z DEBUG flox_rust_sdk::models::lockfile: detected unresolved group name="toplevel"
2024-08-05T07:04:05.927973Z DEBUG flox_rust_sdk::models::lockfile: resolution failures detected
2024-08-05T07:04:05.927983Z DEBUG flox_rust_sdk::models::lockfile: collecting failures from unresolved group name="toplevel"
2024-08-05T07:04:05.927994Z DEBUG flox_rust_sdk::models::lockfile: handling unknown resolution message kind="unknown" level="error" msg="Resolution constraints are too tight." msg_type="constraints_too_tight" context="{}"
2024-08-05T07:04:05.928389Z DEBUG flox_rust_sdk::models::lockfile: returning resolution failures n=1
2024-08-05T07:04:05.929155Z TRACE hyper::client::pool: idle interval checking for expired
2024-08-05T07:04:05.929332Z DEBUG install{packages="go"}: flox::commands::install: install error: Core(LockedManifest(ResolutionFailed(ResolutionFailures([UnknownServiceMessage { level: "error", msg: "Resolution constraints are too tight.", context: {} }]))))
2024-08-05T07:04:05.929725Z TRACE install{packages="go"}: flox_command: subcommand="install" failed_packages="go"
2024-08-05T07:04:05.929741Z DEBUG install{packages="go"}: flox::utils::metrics: No metrics client setup, skipping record
2024-08-05T07:04:05.930171Z TRACE hyper::proto::h1::dispatch: client tx closed
2024-08-05T07:04:05.930196Z TRACE hyper::proto::h1::conn: State::close_read()
2024-08-05T07:04:05.930202Z TRACE hyper::proto::h1::conn: State::close_write()
2024-08-05T07:04:05.930208Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Closed, writing: Closed, keep_alive: Disabled }
2024-08-05T07:04:05.930239Z TRACE hyper::client::pool: pool closed, canceling idle interval
2024-08-05T07:04:05.930416Z TRACE hyper::proto::h1::conn: shut down IO complete
2024-08-05T07:04:05.930444Z TRACE mio::poll: deregistering event source from poller
2024-08-05T07:04:05.930840Z TRACE flox::utils::errors: formatting environment_error: Core(LockedManifest(ResolutionFailed(ResolutionFailures([UnknownServiceMessage { level: "error", msg: "Resolution constraints are too tight.", context: {} }]))))
2024-08-05T07:04:05.930865Z TRACE flox::utils::errors: formatting core_error: LockedManifest(ResolutionFailed(ResolutionFailures([UnknownServiceMessage { level: "error", msg: "Resolution constraints are too tight.", context: {} }])))
2024-08-05T07:04:05.930874Z TRACE flox::utils::errors: formatting locked_manifest_error: ResolutionFailed(ResolutionFailures([UnknownServiceMessage { level: "error", msg: "Resolution constraints are too tight.", context: {} }]))
❌ ERROR: resolution failed: Resolution constraints are too tight.
2024-08-05T07:04:05.932156Z DEBUG flox::utils::metrics: No metrics client setup, skipping flush
2024-08-05T07:04:05.932201Z DEBUG sentry: dropping client guard -> disposing client
2024-08-05T07:04:05.932276Z DEBUG sentry: client close; request transport to shut down
2024-08-05T07:04:05.932678Z TRACE hyper_util::client::legacy::pool: checkout waiting for idle connection: ("https", o4506548203094016.ingest.us.sentry.io)
2024-08-05T07:04:05.932784Z DEBUG reqwest::connect: starting new connection: https://o4506548203094016.ingest.us.sentry.io/
2024-08-05T07:04:05.932838Z TRACE hyper_util::client::legacy::connect::http: Http::connect; scheme=Some("https"), host=Some("o4506548203094016.ingest.us.sentry.io"), port=None
2024-08-05T07:04:05.933020Z DEBUG hyper_util::client::legacy::connect::dns: resolving host="o4506548203094016.ingest.us.sentry.io"
2024-08-05T07:04:05.934390Z DEBUG hyper_util::client::legacy::connect::http: connecting to 34.120.195.249:443
2024-08-05T07:04:05.934671Z TRACE mio::poll: registering event source with poller: token=Token(4847591552), interests=READABLE | WRITABLE
2024-08-05T07:04:05.941811Z DEBUG hyper_util::client::legacy::connect::http: connected to 34.120.195.249:443
2024-08-05T07:04:05.965589Z TRACE hyper_util::client::legacy::client: http1 handshake complete, spawning background dispatcher task
2024-08-05T07:04:05.965640Z TRACE hyper_util::client::legacy::pool: checkout dropped for ("https", o4506548203094016.ingest.us.sentry.io)
2024-08-05T07:04:05.985906Z TRACE hyper_util::client::legacy::pool: put; add idle connection for ("https", o4506548203094016.ingest.us.sentry.io)
2024-08-05T07:04:05.985944Z DEBUG hyper_util::client::legacy::pool: pooling idle connection for ("https", o4506548203094016.ingest.us.sentry.io)
2024-08-05T07:04:05.985977Z DEBUG sentry: Get response: `{"id":"3cd8c924856b459b8a31385caffba104"}`
2024-08-05T07:04:05.986042Z TRACE mio::poll: deregistering event source from poller

stealthybox avatar Aug 05 '24 07:08 stealthybox

Potentially an issue with the selection of what is scraped in the catalog service. Tracking the details of that here https://github.com/flox/update-catalog/issues/113

billlevine avatar Aug 05 '24 14:08 billlevine

fix looks good on preview

image

should be fixed by https://github.com/flox/update-catalog/issues/114

ghudgins avatar Aug 14 '24 22:08 ghudgins

Catalog updates for production are complete, version availability should be much more robust now.

billlevine avatar Aug 20 '24 16:08 billlevine