aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-11-17CleanupEelco Dolstra
2020-11-17Fix deadlock in IFD through the daemonEelco Dolstra
Fixes #4235.
2020-11-17Make the sql debug statements more usefulregnat
Print the expanded sql query (with the variables bound to their value) rather than the original one in case of error
2020-11-16filterANSIEscapes(): Handle UTF-8 charactersEelco Dolstra
2020-11-16Merge pull request #4262 from jbaum98/masterEelco Dolstra
Fix deadlock in nix-store when max-connections=1
2020-11-16Fix deadlock in nix-store when max-connections=1Jake Waksbaum
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`.
2020-11-13nix-build: Fix #4197 output order regressionRobert Hensing
2020-11-12Fix default nix-pathChristian Höppner
The default nix-path values for nixpkgs and root channels were incorrect.
2020-11-10Fix use of dirty Git/Mercurial inputs with chroot storesEelco Dolstra
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)
2020-11-10Merge pull request #4242 from wizeman/fix-stack-overflowEelco Dolstra
Fix stack overflow introduced in #4206
2020-11-10Merge pull request #4233 from Kha/masterEelco Dolstra
nix develop: Preserve stdin with `-c`
2020-11-10Fix stack overflow introduced in #4206Ricardo M. Correia
2020-11-09nix develop: Preserve stdin with `-c`Sebastian Ullrich
2020-11-09Fix appending to Setting<StringSet>Eelco Dolstra
Fixes: warning: unknown setting 'extra-sandbox-paths'
2020-11-05Merge pull request #4206 from hercules-ci/fix-coroutine-gcEelco Dolstra
Fix memory corruption caused by GC-invisible coroutine stacks
2020-11-03Fix error message 'assertion failed at'Eelco Dolstra
2020-11-03LocalStore: Get rid of recursive_mutexEelco Dolstra
2020-11-03Add FIXMEEelco Dolstra
2020-11-02nix repl: Fix handling of multi-line expressionsEelco Dolstra
2020-11-02Don't use readDerivation() in addValidPath()Eelco Dolstra
readDerivation() requires a valid path. Fixes #4210.
2020-11-02Merge pull request #4207 from hercules-ci/fix-RemoteStore-filterSource-deadlockEelco Dolstra
Fix RemoteStore pool deadlock in filterSource etc
2020-11-02Don't send eval-related settings to the daemonEelco Dolstra
2020-10-31Restore RestrictedStore.addToStoreFromDump implementationRobert Hensing
It was accidentally removed in commit ca30abb3fb36440e5a13161c39647189036fc18f
2020-10-30BoehmGCStackAllocator: increase stack size to 8MBRobert Hensing
The default stack size was not based on the normal stack size and was too small.
2020-10-30Fix RemoteStore pool deadlock in filterSource etcRobert Hensing
2020-10-30Fix memory corruption caused by GC-invisible coroutine stacksRobert Hensing
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
2020-10-30Fix testEelco Dolstra
2020-10-29Fix assertion failure in tab completion for --optionEelco Dolstra
2020-10-29Generalize extra-* settingsEelco Dolstra
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.
2020-10-29Merge pull request #4199 from stefanjaax/replaceWantedBySpecifiedEelco Dolstra
Alter "wanted:" to "specified:" in hash mismatch output
2020-10-29Merge pull request #4198 from mkenigs/capitalize-JSONEelco Dolstra
Capitalize JSON for consistency
2020-10-29Alter "wanted:" to "specified:" in hash mismatch outputstev
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".
2020-10-28Capitalize JSON for consistencyMatthew Kenigsberg
2020-10-28ConsistencyEelco Dolstra
2020-10-27Merge pull request #4056 from tweag/non-ca-depending-on-caEelco Dolstra
Allow non-CA derivations to depend on CA ones
2020-10-27Inline `unkownHashes`regnat
See https://github.com/NixOS/nix/pull/4056#discussion_r493661632
2020-10-27Allow non-CA derivations to depend on CA derivationsregnat
2020-10-26isTrivial(): Support trivial listsEelco Dolstra
2020-10-26BaseSetting<StringMap>::set(): Don't append to previous valueEelco Dolstra
2020-10-26Remove edition fieldEelco Dolstra
2020-10-26Move ExplicitEelco Dolstra
2020-10-26Make the prompt used in development shells configurableEelco Dolstra
2020-10-22Fix clang buildEelco Dolstra
2020-10-22nix develop: Add --redirect flag to redirect dependenciesEelco Dolstra
This is primarily useful if you're hacking simultaneously on a package and one of its dependencies. E.g. if you're hacking on Hydra and Nix, you would start a dev shell for Nix, and then a dev shell for Hydra as follows: $ nix develop \ --redirect .#hydraJobs.build.x86_64-linux.nix ~/Dev/nix/outputs/out \ --redirect .#hydraJobs.build.x86_64-linux.nix.dev ~/Dev/nix/outputs/dev (This assumes hydraJobs.build.x86_64-linux has a passthru.nix attribute. You can also use a store path.) This causes all references in the environment to those store paths to be rewritten to ~/Dev/nix/outputs/{out,dev}. Note: unfortunately, you may need to set LD_LIBRARY_PATH=~/Dev/nix/outputs/out/lib because Nixpkgs' ld-wrapper only adds -rpath entries for -L flags that point to the Nix store.
2020-10-21nix develop: Handle 'declare -ax' in bash outputEelco Dolstra
Fixes 'nix develop nixpkgs#qpdfview'.
2020-10-21Add NIX_CONFIG env var for applying nix.conf overridesChristian Kampka
2020-10-20Make bash non-interactive for nix develop --phaseMatthew Kenigsberg
Fix #3975: Currently if Ctrl-C is pressed during a phase, the interactive subshell is not exited. Removing --rcfile when --phase is present makes bash non-interactive
2020-10-19Merge pull request #4080 from kquick/kwq/flake-int-docEelco Dolstra
Add some internal documentation for flake support objects.
2020-10-18Merge pull request #4143 from obsidiansystems/typed-goal-mapsEelco Dolstra
Properly type the derivation and substitution goal maps
2020-10-18DerivationGoal: only retry if output closure incomplete is only problemRobert Hensing