lix/src
Eelco Dolstra 724b7f4fb6 Don't log from inside the logger
This deadlocks ProgressBar, e.g.

  # nix run --impure --no-substitute --store '/tmp/nix2?store=/foo' --expr 'derivation { builder = /nix/store/zi90rxslsm4mlr46l2xws1rm94g7pk8p-busybox-1.31.1-x86_64-unknown-linux-musl/bin/busybox; }'

leads to

  Thread 1 (Thread 0x7ffff6126e80 (LWP 12250)):
  #0  0x00007ffff7215d62 in __lll_lock_wait () from /nix/store/9df65igwjmf2wbw0gbrrgair6piqjgmi-glibc-2.31/lib/libpthread.so.0
  #1  0x00007ffff720e721 in pthread_mutex_lock () from /nix/store/9df65igwjmf2wbw0gbrrgair6piqjgmi-glibc-2.31/lib/libpthread.so.0
  #2  0x00007ffff7ad17fa in __gthread_mutex_lock (__mutex=0x6c5448) at /nix/store/h31cy7jm6g7cfqbhc5pm4rf9c53i3qfb-gcc-9.3.0/include/c++/9.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749
  #3  std::mutex::lock (this=0x6c5448) at /nix/store/h31cy7jm6g7cfqbhc5pm4rf9c53i3qfb-gcc-9.3.0/include/c++/9.3.0/bits/std_mutex.h:100
  #4  std::unique_lock<std::mutex>::lock (this=0x7fffffff09a8, this=0x7fffffff09a8) at /nix/store/h31cy7jm6g7cfqbhc5pm4rf9c53i3qfb-gcc-9.3.0/include/c++/9.3.0/bits/unique_lock.h:141
  #5  std::unique_lock<std::mutex>::unique_lock (__m=..., this=0x7fffffff09a8) at /nix/store/h31cy7jm6g7cfqbhc5pm4rf9c53i3qfb-gcc-9.3.0/include/c++/9.3.0/bits/unique_lock.h:71
  #6  nix::Sync<nix::ProgressBar::State, std::mutex>::Lock::Lock (s=0x6c5448, this=0x7fffffff09a0) at src/libutil/sync.hh:45
  #7  nix::Sync<nix::ProgressBar::State, std::mutex>::lock (this=0x6c5448) at src/libutil/sync.hh:85
  #8  nix::ProgressBar::logEI (this=0x6c5440, ei=...) at src/libmain/progress-bar.cc:131
  #9  0x00007ffff7608cfd in nix::Logger::logEI (ei=..., lvl=nix::lvlError, this=0x6c5440) at src/libutil/logging.hh:88
  #10 nix::getCodeLines (errPos=...) at src/libutil/error.cc:66
  #11 0x00007ffff76073f2 in nix::showErrorInfo (out=..., einfo=..., showTrace=<optimized out>) at /nix/store/h31cy7jm6g7cfqbhc5pm4rf9c53i3qfb-gcc-9.3.0/include/c++/9.3.0/optional:897
  #12 0x00007ffff7ad19e7 in nix::ProgressBar::logEI (this=0x6c5440, ei=...) at src/libmain/progress-bar.cc:134
  #13 0x00007ffff7ab9d10 in nix::Logger::logEI (ei=..., lvl=nix::lvlError, this=0x6c5440) at src/libutil/logging.hh:88
  #14 nix::handleExceptions(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::function<void ()>) (programName="/home/eelco/Dev/nix/outputs/out/bin/nix", fun=...) at src/libmain/shared.cc:328
  #15 0x000000000046226b in main (argc=<optimized out>, argv=<optimized out>) at /nix/store/h31cy7jm6g7cfqbhc5pm4rf9c53i3qfb-gcc-9.3.0/include/c++/9.3.0/ext/new_allocator.h:80
2020-12-22 11:15:29 +01:00
..
build-remote Lower verbosity for 'Failed to find a machine' message 2020-12-01 13:43:36 +01:00
cpptoml Revert the enum struct change 2020-06-18 22:11:26 +00:00
libexpr Merge pull request #4355 from Infinisil/private-value-type 2020-12-21 12:38:47 +01:00
libfetchers fetchMercurial: set HGPLAIN when invoking hg 2020-11-23 16:12:33 +00:00
libmain Ask for confirmation before allowing flake Nix configuration settings 2020-11-26 12:37:23 +01:00
libstore Overhaul store subclassing 2020-12-20 15:47:14 +00:00
libutil Don't log from inside the logger 2020-12-22 11:15:29 +01:00
nix Replace Value type setters with mk* functions 2020-12-18 21:48:22 +01:00
nix-build nix-build: Fix #4197 output order regression 2020-11-13 17:49:27 +01:00
nix-channel Remove static variable name clashes 2020-10-06 13:49:20 +02:00
nix-collect-garbage Remove static variable name clashes 2020-10-06 13:49:20 +02:00
nix-copy-closure Remove static variable name clashes 2020-10-06 13:49:20 +02:00
nix-daemon Remove static variable name clashes 2020-10-06 13:49:20 +02:00
nix-env Rename Value::normalType() -> Value::type() 2020-12-17 14:45:45 +01:00
nix-instantiate Split out local-fs-store.hh 2020-10-09 20:18:08 +00:00
nix-prefetch-url Remove static variable name clashes 2020-10-06 13:49:20 +02:00
nix-store Allow substituting paths when building remotely using ssh-ng:// 2020-11-05 20:12:37 +01:00
resolve-system-dependencies lstat() cleanup 2020-09-23 19:17:28 +02:00