Age | Commit message (Collapse) | Author |
|
Fix deadlock in nix-store when max-connections=1
|
|
Issue 4197 nix build output order
|
|
This fixes a bug I encountered where `nix-store -qR` will deadlock when
the `--include-outputs` flag is passed and `max-connections=1`.
The deadlock occurs because `RemoteStore::queryDerivationOutputs` takes
the only connection from the connection pool and uses it to check the
daemon version. If the version is new enough, it calls
`Store::queryDerivationOutputs`, which eventually calls
`RemoteStore::queryPartialDerivationOutputMap`, where we take another
connection from the connection pool to check the version again. Because
we still haven't released the connection from the caller, this waits for
a connection to be available, causing a deadlock.
This diff solves the issue by using `getProtocol` to check the protocol
version in the caller `RemoteStore::queryDerivationOutputs`, which
immediately frees the connection back to the pool before returning the
protocol version. That way we've already freed the connection by the
time we call `RemoteStore::queryPartialDerivationOutputMap`.
|
|
|
|
|
|
Fix default nix-path
|
|
The default nix-path values for nixpkgs and root channels were
incorrect.
|
|
|
|
Add --json option to nix build to allow machine readable output on
stdout with all built derivations
Fixes #1930
|
|
enable Darwin.arm64 to install x86_64 binary
|
|
Fixes:
$ nix build --store /tmp/nix /home/eelco/Dev/patchelf#hydraJobs.build.x86_64-linux
warning: Git tree '/home/eelco/Dev/patchelf' is dirty
error: --- RestrictedPathError ------------------------------------------------------------------------------------------- nix
access to path '/tmp/nix/nix/store/xmkvfmffk7xfnazykb5kx999aika8an4-source/flake.nix' is forbidden in restricted mode
(use '--show-trace' to show detailed location information)
|
|
Throwing @thefloweringash under the bus if this doesn't work, but it
sounds like Apple Silicon devices can use the x86_64 binary for now.
Fixes #4058
|
|
Fix stack overflow introduced in #4206
|
|
nix develop: Preserve stdin with `-c`
|
|
|
|
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from v11 to v12.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v11...07da2520eebede906fbeefa9dd0a2b635323909d)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
|
|
Co-authored-by: Théophane Hufschmitt <regnat@users.noreply.github.com>
|
|
|
|
Fixes: warning: unknown setting 'extra-sandbox-paths'
|
|
Until now, it was not possible to substitute missing paths from e.g.
`https://cache.nixos.org` on a remote server when building on it using
the new `ssh-ng` protocol.
This is because every store implementation except legacy `ssh://`
ignores the substitution flag passed to `Store::queryValidPaths` while
the `legacy-ssh-store` substitutes the remote store using
`cmdQueryValidPaths` when the remote store is opened with `nix-store
--serve`.
This patch slightly modifies the daemon protocol to allow passing an
integer value suggesting whether to substitute missing paths during
`wopQueryValidPaths`. To implement this on the daemon-side, the
substitution logic from `nix-store --serve` has been moved into a
protected method named `Store::substitutePaths` which gets currently
called from `LocalStore::queryValidPaths` and `Store::queryValidPaths`
if `maybeSubstitute` is `true`.
Fixes #2770
|
|
Fix memory corruption caused by GC-invisible coroutine stacks
|
|
|
|
|
|
|
|
nix-copy-closure: verify it works with drvs
|
|
Creates test coverage for #4210 and 7cf874c17d466d5cffdb0eb6215fcfe8930ed757
|
|
|
|
readDerivation() requires a valid path.
Fixes #4210.
|
|
Everywhere else a $ is used
|
|
Fix RemoteStore pool deadlock in filterSource etc
|
|
|
|
hercules-ci/fix-restricted-store-addToStoreFromDump
Restore RestrictedStore.addToStoreFromDump implementation
|
|
It was accidentally removed in commit ca30abb3fb36440e5a13161c39647189036fc18f
|
|
The default stack size was not based on the normal stack size and
was too small.
|
|
|
|
Crucially this introduces BoehmGCStackAllocator, but it also
adds a bunch of wiring to avoid making libutil depend on bdw-gc.
Part of the solutions for #4178, #4200
|
|
|
|
Nix shell doc
|
|
|
|
Use "run" to avoid confusion with Nix evaluation.
"evaluated" was intended to reference bash eval but it's ambiguous.
|
|
|
|
This removes the extra-substituters and extra-sandbox-paths settings
and instead makes every array setting extensible by setting
"extra-<name> = <value>" in the configuration file or passing
"--<name> <value>" on the command line.
|
|
Alter "wanted:" to "specified:" in hash mismatch output
|
|
Capitalize JSON for consistency
|
|
This makes it even clearer which of the two hashes was specified in the
nix files. Some may think that "wanted" and "got" is obvious, but:
"got" could mean "got in nix file" and "wanted" could mean "want to see in nix file".
|
|
|
|
|
|
No x86_32 static nix jobs for now
|
|
Fixes #4175
|