Coder Social home page Coder Social logo

dettrace / dettrace Goto Github PK

View Code? Open in Web Editor NEW
31.0 13.0 8.0 42.6 MB

A determinizing tracer using Ptrace

License: Other

Makefile 2.38% C++ 76.24% Nix 0.05% Dockerfile 0.08% Shell 0.57% Go 0.01% C 17.72% Roff 1.91% Python 0.61% CMake 0.44%
determinism reproducibility reproducible-builds ptrace

dettrace's Introduction

DetTrace: A Reproducible Container Abstraction

Build Status

Here, we give an overview of the command line interface for Dettrace as well as common Dettrace workflows. We describe the steps necessary to build Dettrace, software dependencies, hardware requirements, and compiler toolchains. Furthermore, we show various example use-cases for Dettrace and using chroot environments.

Quick Start

To quickly run something deterministically, use Docker. Clone this repository and build:

docker build -t dettrace .
docker run -it --rm --privileged dettrace

Or pull and run from DockerHub:

docker run -it --rm --privileged dettrace/dettrace

Once inside the container (in privileged mode with CAP_SYS_ADMIN), you can run under dettrace:

> dettrace  --epoch="1980-01-01,00:00:00" date
Tue Jan  1 00:00:00 UTC 1980

In this simple example, by controlling the container config, we controlled the virtual time exposed through system calls inside the reproducible container.

Description

The latest version of Dettrace can be found on GitHub at https://github.com/dettrace/dettrace.

Hardware dependencies

The Dettrace prototype currently only works for x86-64 Intel CPUs. While not strictly necessary, portability guarantees are strongest when the CPU supports intercepting certain nondeterministic CPU instructions, e.g., CPUID.

Software dependencies

Dettrace works well with kernel versions 4.8 through 5.3 (only minor modifications should be necessary to allow Dettrace to work in newer kernel versions). Kernel version < 4.8 use a slower ptrace implementation (more details in publication) making overall execution of Dettrace slower. Kernel version >= 4.12 are required for OS support for CPUID interception. Currently Dettrace has a few dependencies:

  • libssl: Hashing implementation for bytes from read system call (Useful for debugging nondeterministic bytes read from pipe).
  • libseccomp: Helper library for finer-grained system call filtering using seccomp-bpf.
  • libarchive: Unpackaging archive files used by Dettrace.
  • libelfin: ELF/DWARF parser.
  • libfuse: test-only dependence, used for filesystem tests.

These dependencies are fairly common and should be easy to install from your Linux distro's package manager. For Apt these are libarchive-dev, libssl-dev, and libseccomp-dev, libelfin-dev, and libfuse-dev.

Dettrace relies on various Linux namespaces for isolation and determinism. Some systems disable user namespaces by default. If you encounter a clone failed: operation not permitted error, please enable user namespace access (the exact method may depend on your distro and OS version). Furthermore, Linux does not allow user namespaces for processes whose root is not / (the chroot system call was executed at some point).

Data sets

While Dettrace is designed to enforce reproducibility for arbitrary computation, the prototype implementation is tailored to work with Debian packages and chroot environments. The Debian Apt Package Repository and chroot images available through debootstrap may be of interest. Our prototype was used to build the now old Debian Wheezy packages; recent Debian version may execute system calls not currently implemented in Dettrace.

Installation

Dettrace uses a standard Makefile for compilation. Assuming you have the all the software dependencies (above), and a C++ compiler supporting C++14, running make in the root directory of the repository will generate the Dettrace binary under bin/. Dettrace may also be statically linked using make static assuming all the correct dependencies are present as statically linkable objects. Dettrace may be installed anywhere on the system by moving the bin/ directory along with the root/ directory. This directory structure must be maintained as the Dettrace binary always expects root/ to be located at the directory ../root relative to the location of the Dettrace binary (see reasoning below).

The word chroot is unfortunately overloaded, referring to both the Linux system call which changes the location of the root directory for a process, and for the concept of a directory tree which "looks like" a Linux filesystem, containing all the binaries, libraries, and special files (e.g. /proc, /dev/) necessary for a Linux system to function.

The Debian command debootstrap is an easy way to get such a chroot environment. For more information see: https://wiki.debian.org/chroot. If you're using a different Linux distribution, you should consult the documentation to find the appropriate way to install a chroot. You can install debootstrap from the Apt repository. sudo apt install debootstrap.

One can install a Stretch Debian chroot by running the commands:

> mkdir stretch
> sudo debootstrap stretch stretch/ http://deb.debian.org/debian

Unfortunately, this requires root permissions. Once you have downloaded the chroot, you should have a stretch/ directory which we can ls:

> ls stretch
bin/   dev/  home/  lib64/  mnt/  proc/  run/
boot/  etc/  lib/   media/  opt/  root/  sbin/

As you can see, this looks just like a Linux filesystem tree. Dettrace accepts any such chroot to be used as the starting image. As Dettrace will be using the files in stretch/ we need to ensure the permissions are correct (more information can be found at https://wiki.debian.org/chroot):

> sudo chgrp -R $USER stretch/
> sudo chown -R $USER stretch/

You are now ready to use Dettrace and the chroot (see below).

Experiment workflow

Dettrace is a command line tool which makes it easy to make computation reproducible. You can simply prepend the command you are interested in determinizing with ./path/to/dettrace, but if you want to execute a command containing hyphenated flags, be sure to separate it with --. For example:

> ./bin/dettrace -- ls -ahl
-rw-r--r-- 1 root ... Jan 1 1970 initramfs.cpio
drwxr-xr-x 1 root ... Jan 1 1970 root
-rw-r--r-- 1 root ... Jan 1 1970 shell.nix
drwxr-xr-x 1 root ... Jan 1 1970 src
...

Note the modification dates of all files are now deterministic! Dettrace will determinize the specified program along with any subprocesses that are spawned. Furthermore, Dettrace containerizes the program to guarantee a reproducible starting filesystem. For example /tmp must always start empty, and if we generate a temp file it must be deterministic:

> ./bin/dettrace -- ls /tmp
> ./bin/dettrace -- bash -c 'mktemp; ls /tmp'
/tmp/tmp.GF2eacAJCh
tmp.GF2eacAJCh

Similarly we may create a file and then stat the file with Dettrace:

> touch foo.txt
> ./bin/dettrace stat foo.txt
  File: foo.txt
  Size: 0	 Blocks: 1  IO Block: 512 ...
Device: 1h/1d	Inode: 8   Links: 1
Access: (0644/-rw-r--r--)  Uid: ...
Access: 1970-01-01 00:00:00.000000000 +0000
Modify: 1970-01-01 00:00:00.000000000 +0000
Change: 1970-01-01 00:00:00.000000000 +0000
 Birth: -

Notice the file's metadata is now deterministic!

The current release of dettrace does not build its a custom chroot environment for executing each command. Rather, you can control the base filesystem image using existing container technology like Docker. Running dettrace inside a Docker container will expose the / file system including CWD.

Evaluation and expected result

Any program running under Dettrace is expected to produce deterministic output. So running the date command multiple times will produce the same result.

> ./bin/dettrace date
Sun Aug  8 22:00:00 UTC 1993
> ./bin/dettrace date
Sun Aug  8 22:00:00 UTC 1993

Dettrace comes with dozens of sample nondeterministic programs meant to stress test different sources of nondeterminism found in programs. These programs are designed to be nondeterministic, and have an expected, deterministic, output when running under Dettrace. You may test your installation by running make test to run all our sample programs and integration tests. If docker is installed you may run make test-docker to run the same tests under a Docker environment instead. Docker is the preferred way to run the tests as it handles hard-to-reproduce sources of irreproducibility seen in the wild.

Let's do a reproducible build! For simplicity we will use Dettrace itself as the program to build reproducibly. From the root directory of the Dettrace repository:

./bin/dettrace -- make -C src/

This will build Dettrace deterministically under Dettrace. You can use a program like hashdeep to hash the binary outputs of programs and ensure the results are deterministic across builds.

Experiment customization

Dettrace has several command line options which may be useful. See ./bin/dettrace --help for list of all options.

Contribution Guidelines

As more people work concurrently on DetTrace, and the project becomes more complicated, please follow the following guidelines for contributing to DetTrace.

  1. Every commit from now on should represent a working, testable, version of DetTrace, please squash commits as needed to have every commit represent a logical, working state of DetTrace.
  2. Please create and add an integration test for any change made made to DetTrace if possible. This will avoid future regressions, and ensure your change works.
  3. Pushing to master has been disabled for all of us! Submit a pull request with your changes. We should all do a better job and hold each other accountable for reviews and quick pull request merges to keep things moving along.
  4. Rebase changes to the latest commit in master (head) before submitting a pull request.
  5. Use rebase instead of merge when updating your branch with the latest DetTrace changes.
  6. Keep pull request commit numbers short when possible. It is hard/impossible to follow pull requests consisting of hundreds of commits!

dettrace's People

Contributors

azzamalthagafi avatar bmwiedemann avatar devietti avatar jasonwhite avatar krs85 avatar parfunc2 avatar richard-zang avatar rrnewton avatar ryanglscott avatar wangbj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dettrace's Issues

Command: ls

Currently blocked on getrlimit:

terminate called after throwing an instance of 'std::runtime_error'
  what():  systemCall::handleDetPre: Unimplemented system call: getrlimit
Aborted (core dumped)```

`dettrace --no-container nix-env -i hello` hangs indefinitely

If you haven't already, first install Nix:

$ curl https://nixos.org/nix/install | sh # Follow the directions this gives for putting the executables on your PATH
$ nix --version
nix (Nix) 2.0.2

nix-env is actually a symlink for something deep in the bowels of the /nix directory, so dettrace doesn't work out-of-the-box with it. To work around this, I use the --no-container flag.

However, ./src/dettrace --no-container nix-env -i hello appears to hang indefinitely. Here is the output from ./src/dettrace --debug 5 --no-container nix-env -i hello:

event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mexecve�[0m (#59)
  execve path: �[1;32m/home/ryanglscott/.nix-profile/bin/nix-env�[0m
  Args: �[1;32m "nix-env"  "-i"  "hello" �[0m
  exec
  �[1;34m[13174] Caught execve event!
�[0m  event syscall
  execve value before post-hook: 0
  execve returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m./src/../lib/libdet.so�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 2360751 -> 1
  inode mapgetVirtualValue(2360751) = 1
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mgetcwd�[0m (#79)
  event syscall
  getcwd value before post-hook: 47
  getcwd path: �[1;32m/home/ryanglscott/Documents/Hacking/C/detTrace�[0m
  getcwd returned with value: 47
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31maccess�[0m (#21)
  access path: �[1;32m/etc/ld-nix.so.preload�[0m
  event syscall
  access value before post-hook: -2
  access returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/tls/haswell/x86_64/libnixexpr.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/tls/haswell/libnixexpr.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/tls/x86_64/libnixexpr.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/tls/libnixexpr.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/haswell/x86_64/libnixexpr.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/haswell/libnixexpr.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/x86_64/libnixexpr.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libnixexpr.so�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 281205 -> 2
  inode mapgetVirtualValue(281205) = 2
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libgc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/tls/haswell/x86_64/libgc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/tls/haswell/libgc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/tls/x86_64/libgc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/tls/libgc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/haswell/x86_64/libgc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/haswell/libgc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/x86_64/libgc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/libgc.so.1�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 167298 -> 3
  inode mapgetVirtualValue(167298) = 3
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libnixmain.so�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 281208 -> 4
  inode mapgetVirtualValue(281208) = 4
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libnixstore.so�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 281206 -> 5
  inode mapgetVirtualValue(281206) = 5
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libnixutil.so�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 281204 -> 6
  inode mapgetVirtualValue(281204) = 6
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libnixformat.so�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 281207 -> 7
  inode mapgetVirtualValue(281207) = 7
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/tls/haswell/x86_64/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/tls/haswell/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/tls/x86_64/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/tls/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/haswell/x86_64/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/haswell/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/x86_64/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib�[0m
  event syscall
  stat value before post-hook: 0
  inode map: Added mapping: 956311 -> 8
  inode mapgetVirtualValue(956311) = 8
  stat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/tls/haswell/x86_64/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/tls/haswell/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/tls/x86_64/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/tls/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/haswell/x86_64/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/haswell/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/x86_64/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/4zd34747fz0ggzzasy4icgn3lmy89pra-gcc-7.3.0-lib/lib/libstdc++.so.6�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 1080667 -> 9
  inode mapgetVirtualValue(1080667) = 9
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libm.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/libm.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/libm.so.6�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 956337 -> 10
  inode mapgetVirtualValue(956337) = 10
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libgcc_s.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/libgcc_s.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/libgcc_s.so.1�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 956642 -> 11
  inode mapgetVirtualValue(956642) = 11
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libc.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/dn852vplccs5w0qc3dnlfyma8b7b408d-boehm-gc-7.6.4/lib/libc.so.6�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/libc.so.6�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 956640 -> 12
  inode mapgetVirtualValue(956640) = 12
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/etc/ld.so.cache�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/libdl.so.2�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 956366 -> 13
  inode mapgetVirtualValue(956366) = 13
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/libpthread.so.0�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 956632 -> 14
  inode mapgetVirtualValue(956632) = 14
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libcrypto.so.1.0.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/tls/haswell/x86_64/libcrypto.so.1.0.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/tls/haswell/libcrypto.so.1.0.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/tls/x86_64/libcrypto.so.1.0.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/tls/libcrypto.so.1.0.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/haswell/x86_64/libcrypto.so.1.0.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/haswell/libcrypto.so.1.0.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/x86_64/libcrypto.so.1.0.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/libcrypto.so.1.0.0�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 1080597 -> 15
  inode mapgetVirtualValue(1080597) = 15
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libsqlite3.so.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/tls/haswell/x86_64/libsqlite3.so.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/tls/haswell/libsqlite3.so.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/tls/x86_64/libsqlite3.so.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/tls/libsqlite3.so.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/haswell/x86_64/libsqlite3.so.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/haswell/libsqlite3.so.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/x86_64/libsqlite3.so.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/libsqlite3.so.0�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 1080624 -> 16
  inode mapgetVirtualValue(1080624) = 16
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/tls/haswell/x86_64/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/tls/haswell/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/tls/x86_64/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/tls/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/haswell/x86_64/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/haswell/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/x86_64/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib�[0m
  event syscall
  stat value before post-hook: 0
  inode map: Added mapping: 167320 -> 17
  inode mapgetVirtualValue(167320) = 17
  stat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/tls/haswell/x86_64/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/tls/haswell/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/tls/x86_64/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/tls/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/haswell/x86_64/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/haswell/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/x86_64/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib�[0m
  event syscall
  stat value before post-hook: 0
  inode map: Added mapping: 167314 -> 18
  inode mapgetVirtualValue(167314) = 18
  stat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/tls/haswell/x86_64/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/tls/haswell/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/tls/x86_64/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/tls/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/haswell/x86_64/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/haswell/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/x86_64/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/libbz2.so.1�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 167358 -> 19
  inode mapgetVirtualValue(167358) = 19
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libcurl.so.4�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/libcurl.so.4�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/libcurl.so.4�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 167322 -> 20
  inode mapgetVirtualValue(167322) = 20
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libsodium.so.23�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/libsodium.so.23�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/libsodium.so.23�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/libsodium.so.23�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 167316 -> 21
  inode mapgetVirtualValue(167316) = 21
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/tls/haswell/x86_64/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/tls/haswell/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/tls/x86_64/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/tls/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/haswell/x86_64/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/haswell/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/x86_64/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib�[0m
  event syscall
  stat value before post-hook: 0
  inode map: Added mapping: 947860 -> 22
  inode mapgetVirtualValue(947860) = 22
  stat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/tls/haswell/x86_64/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/tls/haswell/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/tls/x86_64/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/tls/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/haswell/x86_64/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/haswell/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/x86_64/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/libaws-cpp-sdk-s3.so�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 167311 -> 23
  inode mapgetVirtualValue(167311) = 23
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libaws-cpp-sdk-core.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/libaws-cpp-sdk-core.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/libaws-cpp-sdk-core.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/libaws-cpp-sdk-core.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/libaws-cpp-sdk-core.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/libaws-cpp-sdk-core.so�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/jimw8sn0b6i0j5n4hgj59dfpmyaw45jq-aws-sdk-cpp-1.3.22/lib/libaws-cpp-sdk-core.so�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 167312 -> 24
  inode mapgetVirtualValue(167312) = 24
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libseccomp.so.2�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3v6sf9l1fwbb1phq9ccm71096d44k489-sqlite-3.21.0/lib/libseccomp.so.2�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/lcgm7wi50pasp1zl6ch1bihpbv6k7kwi-curl-7.59.0/lib/libseccomp.so.2�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/kgq1fxb7c84r212kmq4p8zcxyi7fv51r-libsodium-1.0.16/lib/libseccomp.so.2�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/mrphq5k83715mqjlk0vjcr3h0j7zs8ix-bzip2-1.0.6.0.1/lib/libseccomp.so.2�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2gxzfkyl05040p97f7lzilv7yx3jj3v7-libseccomp-2.3.3/lib/libseccomp.so.2�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 947865 -> 25
  inode mapgetVirtualValue(947865) = 25
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/liblzma.so.5�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/tls/haswell/x86_64/liblzma.so.5�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/tls/haswell/liblzma.so.5�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/tls/x86_64/liblzma.so.5�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/tls/liblzma.so.5�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/haswell/x86_64/liblzma.so.5�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/haswell/liblzma.so.5�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/x86_64/liblzma.so.5�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/liblzma.so.5�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 159069 -> 26
  inode mapgetVirtualValue(159069) = 26
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libbrotlienc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/libbrotlienc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/libbrotlienc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/tls/haswell/x86_64/libbrotlienc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/tls/haswell/libbrotlienc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/tls/x86_64/libbrotlienc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/tls/libbrotlienc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/haswell/x86_64/libbrotlienc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/haswell/libbrotlienc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/x86_64/libbrotlienc.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/libbrotlienc.so.1�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 281005 -> 27
  inode mapgetVirtualValue(281005) = 27
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/z6avpvg24f6d1br2sr6qlphsq3h4d91v-nix-2.0.2/lib/libbrotlidec.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/chf54cl12ifswf6swh7kxpif477drihi-xz-5.2.3/lib/libbrotlidec.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/libbrotlidec.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/libbrotlidec.so.1�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 281008 -> 28
  inode mapgetVirtualValue(281008) = 28
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/tls/haswell/x86_64/libnghttp2.so.14�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/tls/haswell/libnghttp2.so.14�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/tls/x86_64/libnghttp2.so.14�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/tls/libnghttp2.so.14�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/haswell/x86_64/libnghttp2.so.14�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/haswell/libnghttp2.so.14�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/x86_64/libnghttp2.so.14�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/libnghttp2.so.14�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 1080708 -> 29
  inode mapgetVirtualValue(1080708) = 29
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/tls/haswell/x86_64/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/tls/haswell/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/tls/x86_64/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/tls/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/haswell/x86_64/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/haswell/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/x86_64/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib�[0m
  event syscall
  stat value before post-hook: 0
  inode map: Added mapping: 1080745 -> 30
  inode mapgetVirtualValue(1080745) = 30
  stat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/tls/haswell/x86_64/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/tls/haswell/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/tls/x86_64/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/tls/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/haswell/x86_64/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/haswell/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/x86_64/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib�[0m
  event syscall
  stat value before post-hook: 0
  inode map: Added mapping: 280989 -> 31
  inode mapgetVirtualValue(280989) = 31
  stat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/tls/haswell/x86_64/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/tls/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/tls/haswell/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/tls/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/tls/x86_64/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/tls/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/tls/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/tls�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/haswell/x86_64/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/haswell/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/haswell/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/haswell�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/x86_64/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mstat�[0m (#4)
  stat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/x86_64�[0m
  event syscall
  stat value before post-hook: -2
  stat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/60pcpipqg8h7a0b36kr7wsbhdrzcfdj3-libssh2-1.8.0/lib/libssh2.so.1�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 1080701 -> 32
  inode mapgetVirtualValue(1080701) = 32
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/libssl.so.1.0.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/libssl.so.1.0.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/libssl.so.1.0.0�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/3ag1mbdvkg6jx29dl5wnwypvckkfy3sv-openssl-1.0.2o/lib/libssl.so.1.0.0�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 1080618 -> 33
  inode mapgetVirtualValue(1080618) = 33
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/libgssapi_krb5.so.2�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/libgssapi_krb5.so.2�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 1080761 -> 34
  inode mapgetVirtualValue(1080761) = 34
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/libkrb5.so.3�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/libkrb5.so.3�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 1080763 -> 35
  inode mapgetVirtualValue(1080763) = 35
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/libk5crypto.so.3�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/libk5crypto.so.3�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 1080770 -> 36
  inode mapgetVirtualValue(1080770) = 36
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/libcom_err.so.3�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/libcom_err.so.3�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 1080771 -> 37
  inode mapgetVirtualValue(1080771) = 37
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/7wafhafg49z7ylalw3wnifnclg4a6qpq-nghttp2-1.24.0-lib/lib/libz.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/libz.so.1�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/r43dk927l97n78rff7hnvsq49f3szkg6-zlib-1.2.11/lib/libz.so.1�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 280992 -> 38
  inode mapgetVirtualValue(280992) = 38
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/yhf5pd7n96nq46h20mrb85732q59ipig-brotli-1.0.3-lib/lib/libbrotlicommon.so.1�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 281012 -> 39
  inode mapgetVirtualValue(281012) = 39
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/libkrb5support.so.0�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 1080772 -> 40
  inode mapgetVirtualValue(1080772) = 40
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/c3jq8l99pjzq5zy5v995havfkb5k92sv-libkrb5-1.15.2/lib/libresolv.so.2�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/libresolv.so.2�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 956343 -> 41
  inode mapgetVirtualValue(956343) = 41
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mset_robust_list�[0m (#273)
  event syscall
  set_robust_list value before post-hook: 0
  set_robust_list returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mprlimit64�[0m (#302)
  event syscall
  prlimit64 value before post-hook: 0
  prlimit64 returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfutex�[0m (#202)
  Futex operation: 129.
  event syscall
  futex value before post-hook: 0
  futex returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfutex�[0m (#202)
  Futex operation: 129.
  event syscall
  futex value before post-hook: 0
  futex returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mioctl�[0m (#16)
  event syscall
  ioctl value before post-hook: -25
  fd 2
  Request 21505
  ioctl returned with value: -25
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopen�[0m (#2)
  open path: �[1;32m/sys/devices/system/cpu/online�[0m
  event syscall
  open value before post-hook: 3
  open returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 8192
  event syscall
  read value before post-hook: 4
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  Got less bytes than requested.
  read returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 8188
  event syscall
  read value before post-hook: 0
  �[1;34mProcess 13174 made progress!
�[0m  EOF or read all bytes.
  read returned with value: 4
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mlstat�[0m (#6)
  lstat path: �[1;32m/etc/ssl/certs/ca-certificates.crt�[0m
  event syscall
  lstat value before post-hook: 0
  inode map: Added mapping: 396704 -> 42
  inode mapgetVirtualValue(396704) = 42
  lstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/etc/nix/nix.conf�[0m
  event syscall
  openat value before post-hook: -2
  openat returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfutex�[0m (#202)
  Futex operation: 129.
  event syscall
  futex value before post-hook: 0
  futex returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mconnect�[0m (#42)
  event syscall
  connect value before post-hook: -2
  connect returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mconnect�[0m (#42)
  event syscall
  connect value before post-hook: -2
  connect returned with value: -2
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopen�[0m (#2)
  open path: �[1;32m/etc/nsswitch.conf�[0m
  event syscall
  open value before post-hook: 3
  open returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 394173 -> 43
  inode mapgetVirtualValue(394173) = 43
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 512
  event syscall
  read value before post-hook: 512
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 512
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 512
  event syscall
  read value before post-hook: 43
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  Got less bytes than requested.
  read returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 469
  event syscall
  read value before post-hook: 0
  �[1;34mProcess 13174 made progress!
�[0m  EOF or read all bytes.
  read returned with value: 43
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 512
  event syscall
  read value before post-hook: 0
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/libnss_compat.so.2�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 956635 -> 44
  inode mapgetVirtualValue(956635) = 44
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/libnsl.so.1�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 956347 -> 45
  inode mapgetVirtualValue(956347) = 45
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/libnss_nis.so.2�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 956361 -> 46
  inode mapgetVirtualValue(956361) = 46
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/nix/store/2kcrj1ksd2a14bm5sky182fv2xwfhfap-glibc-2.26-131/lib/libnss_files.so.2�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mread�[0m (#0)
  File descriptor: 3
  Bytes to read 832
  event syscall
  read value before post-hook: 832
  �[1;34mProcess 13174 made progress!
�[0m  First time seeing this read!
  EOF or read all bytes.
  read returned with value: 832
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 956330 -> 47
  inode mapgetVirtualValue(956330) = 47
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/etc/passwd�[0m
  event syscall
  openat value before post-hook: 3
  openat returned with value: 3
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfstat�[0m (#5)
  event syscall
  fstat value before post-hook: 0
  inode map: Added mapping: 394191 -> 48
  inode mapgetVirtualValue(394191) = 48
  fstat returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclose�[0m (#3)
  event syscall
  close value before post-hook: 0
  close returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mfutex�[0m (#202)
  Futex operation: 129.
  event syscall
  futex value before post-hook: 0
  futex returned with value: 0
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mopenat�[0m (#257)
  openat path: �[1;32m/root/.config/nix/nix.conf�[0m
  event syscall
  openat value before post-hook: -13
  openat returned with value: -13
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mioctl�[0m (#16)
  event syscall
  ioctl value before post-hook: -25
  fd 1
  Request 21523
  ioctl returned with value: -25
event seccomp
[Time 0][Pid 13174] Intercepted �[1;31mclone�[0m (#56)
  clone
  �[1;34m[13174] Fork event came before signal!
�[0m  �[1;34mNew process added to scheduler: 13175
�[0m  �[1;34m13175 scheduled as next.
�[0m  �[1;34mAdded process [13175] to states map.
�[0m  �[1;34mWaiting for child to be ready for tracing...
�[0m  �[1;34mChild ready: 13175
�[0m  event seccomp
  [Time 0][Pid 13175] Intercepted �[1;31mset_robust_list�[0m (#273)
  event syscall
  set_robust_list value before post-hook: 0
  set_robust_list returned with value: 0

reading errno from tracer

Signal Delivery

Signals are not properly being delivered to children (except SIGKILL which always bypasses the tracer).

This causes issues when the OS wants to kill a process due to a segfault or SIGABRT.

Command: date

Currently blocked on lseek:

terminate called after throwing an instance of 'std::runtime_error'
  what():  systemCall::handleDetPre: Unimplemented system call: lseek
Aborted (core dumped)

Towards Reproducible Builds

We will use reprotest as our driver and tester. reprotest contains many useful tools. This is what Debian reproducible builds (DBR) uses, so it makes it easier to compare our results (apples to apples). Of particular interest to us:

  • diffscope: Compares two different builds recursively finding the differences between both. Way better that merely hashing files/folders and observing they're different.
  • --variations: allows reprotest to vary many things including: directory order, build path, time, env vars. This makes sure dettrace is robust against environment variations.
  • builds: Knows how to build debian source packages (.dsc) by calling dpkg-.

Reprotest calls the following programs to build a package:

  • dpkg-source: Extract package into build/ directory.
  • dpkg-buildpackage: build binary or source packages from sources.

My current goal will be to make sure both run under dettrace. This is the first step at getting #40 working.

Composing deterministic scheduling with deterministic read/write.

Consider the example of a parent trying to write a large amount of bytes to a pipe (more than the pipe can fit) and a child reading from this pipe.

This would work fine on Linux, but probably nondeterministically.

The current method of deterministic scheduling checks all blocking system calls to see if "it would have blocked".

I think we need to think about figure out how to compose these mechanisms to have the example above work correctly.

Syscall: sleep: make a noop for now

We discussed sleep today. We agreed that any amount of sleep time is semantically fine, including zero. For now I propose that we make sleep a noop.

Register Writing/Reading Logic

There is a tiny potential future bug in the current implementation at: t.regs.rax = t.getSystemCallNumber();:

  if (bytes_read != 0/*EOF*/ && s.totalBytes != s.beforeRetry.rdx/*original bytes requested*/) {
    t.writeArg2(t.arg2() + bytes_read);
    t.writeArg3(t.arg3() - bytes_read);
    t.regs.rax = t.getSystemCallNumber();
    t.writeIp(t.regs.rip - 2);
}

The reason this line works is because we call t.writeIp() below which does ptrace set registers. So there is dependencies between these lines, if someone was to swap these lines around, the write to t.regs.rax woudn't actually change the tracee's state.

As a future optimization we may want to avoid doing multiple ptrace set regs (right now in this implementation we're doing 3, if we want no dependencies between these lines, we would need 4). Instead we might want to create a registers object, which we make all changes and at the end we do a single ptrace set:

regs myRegs {};
myRegs.writeArg2(t.args2() + bytes_read);
//...
myRegs.writeToRax(t.getSystemCallNumber);
myRegs.writeToTracee(); // One actual write to tracee.

Better struct stat determinization

The fields in struct stat are mostly deterministic (except for the inode st_ino), but here's a sketch of a more lifelike determinization scheme should we need it later on.

Set to constant values. Note, I'm not really sure what st_rdev means.

blksize_t st_blksize; /* blocksize for file system I/O */
dev_t     st_rdev;    /* device ID (if special file) */

These values can change over time, but should evolve deterministically, so we can return the real values to the tracee:

mode_t    st_mode;    /* protection */
off_t     st_size;    /* total size, in bytes */
blkcnt_t  st_blocks;  /* number of 512B blocks allocated */
nlink_t   st_nlink;   /* number of hard links */
uid_t     st_uid;     /* user ID of owner */
gid_t     st_gid;     /* group ID of owner */

@gatoWololo st_dev may get virtualized for free by bind mounts, so long as we do the mounts in the same order each time? For inodes, we need to maintain a map in the tracer of virtual=>physical inode numbers.

dev_t     st_dev;     /* ID of device containing file */
ino_t     st_ino;     /* inode number */

DetTrace uses the current logical time for all of atime, mtime, ctime. This is a little strange as the timestamps are always moving forward and this might cause weird behavior in programs that examine timestamps (e.g., make).
A more sophisticated scheme could use the current logical time to set a/m/ctime, as appropriate, for the current system call. For example, read would update atime (but not mtime or ctime). Instead of maintaining a giant map from inode=>(a/m/ctime) for all files, we can use the actual filesystem to store this. The tracee does a read, which sets atime on the actual file (to a nondeterministic value), and then immediately afterward the tracer uses utime to reset atime to the current logical clock value (say, start_of_unix_epoch + current_logical_time). The advantage is that we can allow the tracee to read file timestamps directly because they always hold a deterministic (and sensible) value. Timestamp metadata is also tracked in a natural, distributed way by the filesystem itself. The downside is that we have to add code, to every system call that manipulates timestamps, to clean up after its nondeterminism.
There's no way to manipulate ctime directly. utime and friends only manipulate a/mtime. So the tracer needs to replace it with a constant, or the current logical time, etc.

time_t    st_atime;   /* time of last access */
time_t    st_mtime;   /* time of last modification */
time_t    st_ctime;   /* time of last status change */

Command: bash

So I been having some fun trying to get bash to run under dettrace.

Bash is the first example of a program that I know of that: Spawns a pipe and uses the pipe to communicate between parent and child.

When I type in ls, the parent reads the command and creates a pipe. It attempts to pass the information to the child by writing to the pipe. Of course, we deadlock as force the child to run first.

Syscall: prlimit/prlimit64

// Get/set resouce limits for various system resources, e.g. virtual memory, core size, etc.
int prlimit(pid_t pid, int resource, const struct rlimit *new_limit, struct rlimit *old_limit);

This is a really complicated system calls. We must match against resource, and set reasonable values for each. Ideally we would also have a per process hashtable that "remembers" what the limits set for each field by the user were. A subsequent call to prlimit/prlimit64 would return the correct values: either the value on the hashtable, or a default sensible value. This hashtable should live in the state class.

Command: GNU make (simple)

Here are some proposed tests that keep things simple to start with:

one:
	echo Hi

two:
	V=3

three:
	touch three

four: three
	cp three four

Makefile does call the shell though, and as we know from earlier detflow experiences bash does a ton of stuff. We could potentially set to a simpler shell temporarily if that helps get something working for starters.

EINTR always retries?

Some system calls (e.g. open) get interrupted in the middle by a signal. The safe thing to do is just retry them and ensure determinism rather than bombing the job.

The problem is that in the ptrace model we don't have a simple way to just RETRY a system call. We could move the PC pointer up to replay that part of the computation. But would need to be able to restore the arguments.

It's important to know which system calls MUTATE the memory space of the process that calls them. (And if those mutations are idempotent....)

We are thinking of some system calls that take a pointer argument and populates a piece of heap memory at that address. Sometimes the behavior is conditional (because it might depend on whether something is zero). We need to look out for these.

[Recall: we need a retrying capability for read syscalls anyway (#20)]

Syscall: Ioctl

IOCTL is a total monster.

We let it through for now. Maybe we can determinize a small subset of it's functionality and everything else will be unsupported. I don't expect any build job to try to do crazy stuff with it.

Deterministic `/dev/urandom`

This needed feature still hasn't been implemented!

The general approach is:
In open pre-system exit, point the char* pathname argument to our own deterministic file (containing all zeros or some constant string).

See utimensat function for example of writing to a user's memory.

Chroot enviornment

As we are almost ready to test on real builds:

  • we want to allow user to specify a chroot to build.
  • We also want to switch over to the stronger pivot_root.

Get CI (Jenkins) set up

This will be at the new location http://parfunc-ci.soic.indiana.edu, not the old http://tester-lin.soic.indiana.edu:8080.

  • Bring up Jenkins
  • [~] get tests passing in at least one place
  • Get slack integration on
  • White out jenkins and git icons on slack.
  • Test initially on hive or swarm (or cutter if trouble with those).
  • Add one or more ACG machines.
  • Badge the repo.

At first maybe this will just build the software. As soon as unit tests are ported (#1), it must run those.

Blocking System Calls

Problem

Since we run process' sequentially we have found a program that causes deadlocks: dpkg-source. A poll system call is made by a subprocess, and the program hangs forever.

Solutions:

A Scheme that Doesn't Work

Allow a context switch on any system call that may block. We check current running processes, we allow the next process to run. When this process hits a possibly blocking system call we merely context switch again (after the pre-system call hook).

This incurs a lot of switches between processes. Most of the time a process won't block, so it's silly to switch it out on say, every read. Furthermore it is not obvious when the resource it was blocked on is finally available. Consider a pipe, and our process is trying to read from this pipe. Should we allow other processes to run more, in hopes one them will eventually write to this pipe? How do we know if we have gone "far enough"? It is not clear.

Proposed Scheme

What we really want to know: Is a process going to block or blocked.

RR uses perf, which has the kernel notify the tracer when a thread blocks (this is a possible approach, but seems more complicated).

Most blocking system calls have some flag to change from blocking to immediate. waitid / wait4 has WNOHANG which returns immediately if no process is ready. All system calls that take a file descriptors have a option of O_NONBLOCK. When P1 makes a call that would block, a return error is returned immediately instead. Therefore:

  1. For all blocking system calls we check whether it succeeded or returned a blocking error.
  2. If success, P1 can continue running.
  3. Otherwise, P1 is marked as block in our process queue.
  4. We allow some next process to run P2 (probably it's parent).
  5. P2 continues running until it itself is blocked or finishes.

We can continue running processes until we round robin back around to P1. Which we can again test for blocking by rewinding and rerunning the system call. We must handle poll and waitid. But for this conversation I will focus on system call that cause I/O blocking. Notice regular read/writes from a on disk file (the most common case) don't ever block great article on Blocking/Nonblocking IO. Therefore file descriptors belonging to things like pipes or fifos can ever block. I expect the blocking/unblocking to be synchronous, as only actions by other process on our deterministic process tree can ever block/unblock a resource.

Several system calls cause blocking events. This is a list I found. It may not be exhaustive:

  • accept: accept a connection on a socket
  • close: close a file descriptor
  • creat: create a new file or rewrite an existing one
  • dmi: SGI specific. Used to implement the interface defined in X/Open document Systems Management: Data Storage Managment (XDSM) API
  • fcntl: File and descriptor control. Provides for control over open descriptors.
  • fsync: synchronize a file's in-memory state with that on the physical medium
  • getmsg / getpmsg: get next message off a stream
  • ioctl: Control device. Performs a variety of control functions on devices and streams.
  • lockf: Record locking on files. Allows sections of a file to be locked.
  • mq_open: open/create a message queue
  • msgsnd / msgrcv: message send and message receive
  • msync: synchronize memory with physical storage
  • nanosleep: high resolution sleep
  • open: open for reading and writing
  • pause: suspend process until signal is received
  • poll input / output: multiplexing
  • putmsg / putpmsg: send a message on a stream
  • read / readv / pread: read from a file
  • recv / recvfrom / recvmsg: receive a message from a socket
  • select: synchronous I/O multiplexing
  • semget / semctl / semop: semaphore handling
  • send / sendto / sendmsg: send a message from a socket
  • sginap: times sleep and processor yield function
  • waitid / wait4: Wait for event in process specified by pid
  • write / writev / pwrite: write on a file
    (The original list did not have waitid/wait4 I added them)

We only need to support a subset for our purposes.

Proper handling of modified times.

The previous deterministic relative time scheme worked, but we ran out of file descriptors too easily.

This new scheme fixes that.

We keep a map from inode to virtual modified time: map<inodes, mtimes>. Only files that were created, opened with O_WRONLY, O_RDWR, O_APPEND, O_TRUNC, O_CREAT are added to our map. If the file doesn't exist in our map it is an "old file" that already existed and we merely return a modified time of zero in the post hook to any *stat* function.

Inodes are useful since they're unique and absolute, it is tough dealing with paths as they can be absolute, relative, symlinks, furthermore the *at variant takes a descriptor to an existing directory to use as a prefix to the path file. So paths are a mess. File descriptors are tough too as they change, they're per process, and they can be duped.

The system calls we check for new files are: open, openat, creat. When the user creates a new file or opens a file as modifiable, i.e: O_WRONLY, O_RDWR, O_APPEND, O_TRUNC, O_CREAT. We inject a call to fstat using the just created file descriptor to get the inode. Thus our only overhead is a fstat call for every system call that creates a file descriptor. We add this as a entry to our map with a higher modified time.

Whenever the user asks for the mtime through a call to *stat* we let the call happen, we check the inode which is given to us by the system call and check if it's present in our map.

This is a "good enough" scheme with pretty coarse grain modified time. A more fine grain scheme would also update mtimes per call to write to always have the freshes mtime. I doubt many programs would rely on correct mtimes at this fine granularity.

A more robust approach would also check: fcntl, ?socket?, and for file descriptors.

Env var: PATH

Running GCC #23 we have discovered issues associated with PATH.

Currently I wipe out all env vars to get a more portable state across machines. I believe paths are a source of non portability that we should try to containerize like other things.

It would be nice to come up with a scheme to handle PATH. Specially as it relates to user defined path extensions.

I have to broad suggestions:

  1. We can allow PATH to go through. This is simple but a program that prints it's PATH would be non portable. I'm sure we all have different opinions of whether this is/is-not a type of non-portability.
  2. We could come up with a scheme where use bind mounts + our FS abstraction to mount the dirs the user specified in their path into a specified directory? This way all paths in PATH would be mounted under say /bin/. This is just the one sentence pitch and there are a lot of missing details and elaboration needed.

Non portable time across systems.

As of now our time functions (non VDSO) tick up with each event. So we have the illusion of time progressing. This is nice.

The problem is that different systems make slightly different system calls. Sometime a few more or less. So the time shown for one executable will be different depending on your system...

Thoughts?

clearer distinction between per-process and global state

It seems like everything in the State class is per-process state at the moment. However, some of it should be global (cross-process) instead:

  • inodeMap which maps between virtual and real inodes
  • logical clock, since if each process starts at logical time 0 I think we may create nonsensical file timestamps: parent writes to a file at time 10, spawns a child, and then child writes at time 1.

VDSO Functions - try attacking the vdso page in mem

Several system calls like gettimeofday are not caught by strace or ptrace since they're through VDSO instead of kernel switches.

So currently programs like date cannot be determinized. Mozilla RR takes care of this by monkey patching the relevant code.

It looks like we might be able to catch it if we switch to a seccomp + bpf approach? But I'm skeptical, otherwise RR would have done this... Nope.

A binary instrumentation approach might be our best bet. Thoughts?

Add DEBUG env variable.

User should be able to specify DEBUG through an environment variable additionally to using the --debug flag.

This env var should supersede the --debug.

move as much C++ code as possible into headers

I think a lot of the .cpp files could be folded completely into the headers (e.g., the method definitions in dettraceSystemCalls.cpp could be combined with the declarations in dettraceSystemCalls.hpp), which would reduce redundancy and get all the code related to a particular system call in one place.

Stylistically, I like this better. Are there other opinions or technical reasons this isn't desirable?

program that uses pipes

  • Write a test program with single-producer single-consumer pipes. The consumer should always print out deterministic values.
  • Should also have multi-producer and multi-consumer programs that we flag as invalid.

Meaningful Deterministic Values

I have ran into some issues with the naive deterministic values we have been using. The program patch has been a challenge to run deterministically. It's good though, every time, dettrace becomes a little more robust. Issues:

  1. Calls to chown* syscalls were not woring properly. This was due to stat setting uid and gid to 1. And the container not having proper mappings between fake uids inside and real uids outside. These have both been fixed.
  2. prlimit returning infinity as the amount of available memory, it turns out patch takes those numbers seriously and tries to hog all the memory until a "out of memory" error is thrown by the OS 😮

These issues are super time consuming to track down! Thankfully we have decent logging for all events (could always be better). Which helps a million.

(TOB) The Onion Builder: Building a Test Environment for Reproducible Builds

This issue will serve as a discussion of how we should "layer" and compose the different parts that need to work together. The main parts include:

  • dettrace: The runtime determinism enforcement mechanism.
  • detcontainer: The light filesystem and container abstraction, currently this is coupled with dettrace. dettrace relies on this container for it's assumptions about determinim, e.g. /dev/urandom/ will be deterministic inside this container, pids will be deterministic due to the container user namespaces.
  • reprotest: The driver script used by Debian Reproducible Builds (DBR) for building and testing differences in built packages. reprotest also includes functionality to combine with a "virtual environment", this can be as lightweight as chroot, a docker container, or as heavyweight as a Qemu instance. There is an opportunity to combine this functionality with the dettrace container in interesting ways.
  • richardPackageBuild: The python scripts @richard-zang has been working on to download, parse, and create a database of packages available for us to download. This includes finding the package, downloading it's source code, it's dependencies and running reprotest.
  • dpkg: This is the low level tool that higher level tools like apt call to build packages. Does the actual work of building.

I think the layers should be as follows (from outermost to innermost).

  1. There might be a main script that iterates through all packages (or a subset of the packages we can realistically build) and calls richardPackageBuild.
  2. richardPackageBuild: this is the main driver for downloading source code and build dependencies. It requires sockets, connect, and a bunch of other non-deterministic behavior that dettrace cannot/should not handle.
  3. reprotest: richardPackageBuild calls reprotest. At this point, reprotest will have everything it needs build. It (might?) set up a chroot and build inside it by calling dpkg.
  4. dettrace + detcontainer: Ideally, we would have dettrace running dpkg inside of it. At this point, all files are downloaded and ready to be built. So no network communication is needed, and everything is local to our build directory. The biggest design question is how should detcontainer, dettrace, and reprotests's virtual environment talk. I would like dettrace to be a stand alone tool that doesn't depend on reprotest. Currently detcotainer is part of dettrace we could (and probably will) decouple these two to allow more flexibility to the user (e.g. currently we use the OS we running us as our build environment, we could instead allow the user to specify a chroot used for building), then we might not want to use reprotest's virtual environment at all?
  5. dpkg: will run inside dettrace oblivious to the system call interception, determinizing behavior, and filesystem and namespace containers it is running under.

@richard-zang @devietti Any thoughts would be appreciated. We can also talk about it during our weekly meeting. I just wanted to bring up the issue.

Minor: At higher debug-verbosity, print names of files

It's really handy that strace shows you what files are operated on by the program.

I totally agree that --debug 2 should not print full paths:

[Time 22][Pid 14250] Intercepted open(#2)
  open value before post-interception: 3
  open returned with value: 3

But it would be nice if --debug 3 or --debug 4 would, so that we can see what it's touching.

Alternatively, if we have log messages around whitelist-checks (#13) those would subsume these.

IOCTL TCGETS

@devietti Currently we're not letting this request go through and we return a ENOTTY. If I try to do a printf in a C program. It will be unable to print output to the terminal. I think we should let this go through?

Nondeterminstic Debug Output

The --debug N option is extremely useful for debugging issues in dettrace. However, for longer traces it becomes difficult to "diff" the differences between two runs since the output is nondeterministic (e.g. we print the real pid of the process), this information is not really useful. I will rewrite the logger to be deterministic this will allow EZ-diffs™

Syscall: Read/Write

https://linux.die.net/man/2/read

Both of these system call are nondeterministic based on the amount of bytes they returned.

ssize_t read(int fd, void *buf, size_t count);
ssize_t write(int fd, const void *buf, size_t count);

To determinize: compare return value vs count, if return value is less than count we can roll the ip register back to replay the system call, the buf also has to be moved up by return value bytes.

Edge case: We can loop over this as long as we're making progress and all bytes are read.

Integrate testing for test/samplePrograms

Many of these programs cannot run as unit tests due to their use of fork.

Instead we will run them outside. I'll integrate them as part of the testing script by diffing their output against known output.

deterministic signal delivery

Write program that prints out an incrementing counter, and sends itself a signal. I doubt that this will actually be deterministic (or easily rendered so). Dettrace can suppress the signal delivery, or kill the program, instead.

Signals and Ptrace

Signals are a pain to signal and are pretty error prone.

All ptrace events are sent as signals. So sometimes it's hard to differentiate a signal sent to the tracee from a signal sent to us through ptrace. I get spurious signals that crash the program sometimes.

[hijacking this comment for TODOs so they are not strewn below]

  • test for SIGSEGV that checks that the struct sig_info_t is deterministic
  • similar test for SIGILL
  • similar test for SIGABRT
  • throw an error if a tracee tries to send a signal anything other than SIGABRT via tgkill
  • allow tgkill only for sending SIGABRT to myself
  • figure out a hack for alarm/SIGALRM and implement it
  • throw an error if a tracee tries to set a signal handler for SIGCHLD (Actually, I don't think we can do this because sh installs a custom SIGCHLD handler, probably from somewhere in libc :-/)

Make does not rebuild program after modifications.

Problem

Currently make will not rebuild a program even if it's dependencies have been modified. This happens since we set all file modification dates to zero. Make compares them and decides that equal timestamps means the file does not need to be rebuilt.

Old Approach

We set all timestamps to zero since the old, naive, approach does not work: We used to merely return logicalTime to the user and increase the logical time. This approach has make print a "clock skew" warning, as it:

  1. Gets the current time: n.
  2. Does stat(file) which returns the modificationTime as n + 1.

So it can tell the file was modified in the future.

Furthermore, this approach could lead to errors. It we merely return the a higher number, it may be the case that a code.c file return some time k and then the object file code.o returns k + 1 so make decides that this file does not need to be rebuilt.

Possible Solutions

I can think of two possible solutions

Solution 1

We can merely say "If you want make to work right, you must make clean and rebuilt every time as we don't support modification time stamps.

Personally I have this solution, but if everyone else thinks this is what's best we can move on.

Advantage

It's easy! No more work needs to be done.

Disadvantage

  1. Forever, we will see ugly "clock skew errors".
  2. Programs will not build correctly unless built from scratch.

Solution 2

We do not want a process to be able to observe time, but we want to maintain the invariant of "was file1 modified after file2?". Furthermore we want to have dettrace to be oblivious to the file dependency graph of make (or any arbitrary build system).

While the tracee cannot observe the real timestamps. We can map the real timestamps to virtual times as long as we maintain our ordering of "which file was modified at what time". We have to encode this information as a time_t which is what the kernel and libc use. time_t is a 32 bit unsigned integer.

We should map as follows:

  1. logicalTime the variable holding our "virtual" time starts at UINT_MAX / 2 and increments after any system call that allows the tracee to "observe time". This gives the tracee the illusion of progress.
  2. We will map all modified date timestamps to the interval of [0, UINT_MAX / 2) making sure to always keep the relative ordering of the times.

Consider the following topology:

code1.cpp code2.cpp
    |         |
    v         v
code1.o     code2.o
   \         /
  ./exectuable

The timestamps for these files are as follows:

file: timestamp
code1.cpp: 1400
code2.cpp: 1100
code1.o: 1000
code2.o: 1200
exectuable: 1300

In this example code1.o as wells as exectuable need to be rebuilt. To maintain the ordering we map the timestamps as follows:

Let n = MAX_UINT. So given code1.cpp, the build system will ask for it's timestamp t1. This is the first timestamp we have seen so it automatically gets mapped to n / 2, that is, "halfway between zero and n".

============================
0           t1             n

We map the timestamps halfway to make we always have room to fit one more timestamp between the other two. This way we preserve the relative ordering of time for when the build tool compares timestamps. Files can be queried for their modified time in any random order. So we must always be able to squeeze in more files.

Later, code1.o has it's real timestamp t2 compared by the tracer versus all existing timestamps to determine where to place it:

============================
0     t2      t1          n

This way when make compares t2 to t1, it will be the case that t2 < t1.

Advantage:

Allows us to maintain the modified time relation of files.

Disadvantage:

It is a bit of work to implement. I don't expect it to be too slow. The main disadvantage is that we may "run out" of places to stick new files if all files are queried in a always increasing/decreasing order.

Deterministic Directory Entries

Programs like ls use getdents and getdents64 to fill a buffer with file entries:

int getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count);
int getdents64(unsigned int fd, struct linux_dirent64 *dirp, unsigned int count);

Where fd is a descriptor to a directory, dirp is an array to fill with struct linux_dirent, and count is the size in bytes of dirp.

This system call will fill dirp and return the number of bytes read. Every linux_dirent is of variable size:

struct linux_dirent {
               unsigned long  d_ino;     /* Inode number */
               unsigned long  d_off;     /* Offset to next linux_dirent */
               unsigned short d_reclen;  /* Length of this linux_dirent */
               char           d_name[];  /* Filename (null-terminated) */
                                 /* length is actually (d_reclen - 2 -
                                    offsetof(struct linux_dirent, d_name)) */
               /*
               char           pad;       // Zero padding byte
               char           d_type;    // File type (only since Linux
                                         // 2.6.4); offset is (d_reclen - 1)
               */
           }

We can d_reclen to know when the next entry is.

Reading file order depends on the underlying file system implementation and we need for some the debian reproducible builds.

Making it deterministic

It's actually a bit of a pain to make this deterministic. The high level idea: we plan to read the entries ourselves, sort them, and return them in the same order every time. Sorting is made annoying since the structs are of variable lengths.

Implementation

We use the system call replay system we know to have the tracer make multiple calls to getdents. Multiple calls are needed to make sure we read all the entries (as one might not be enough to read all). Once we have read all entries we fill the tracee's buffer with the first N sorted entries that fit in the buffer.

This can get expensive for directories containing 100s or 1000s of entries. Which shouldn't happen much for our builds.

Go to whitelist mode for files

Right now we don't really know what all we're reading... we need to go back to having a list of allowed files and open up that whitelist intentionally, one step at a time, and with documentation.

We can always have opt out to allow people to do the quick and dirty "allow full file system access".

Command: gcc (simple)

Let's say that "simple" gcc is compiling hello world from a C file to an executable.

System call differences with ACG Server

Surprisingly, there a quite a few differences between running ls on my local machine (Ubuntu 17.10) vs on the ACG Sever (openSUSE Leap 42.3).

We must implement all the system calls that the server requires.

Discussion: Code sharing through abstract interception/manipulation API

Since we have to cover [a large surface area] of syscalls/instructions, it would be great to share code between different interception-mechanism backends (LD_PRELOAD, ptrace, hypervisor). This is something we've discussed a couple times but I don't think we've really gotten down to brass tacks on what the differences and difficulties are. (Though I bet @gatoWololo has a clearer picture he can share w/ us.)

For this discussion, let's define "events" as the things we want to intercept: syscalls and instructions.

Challenges:

  • LD_PRELOAD is libc level, not syscall
  • ptrace lets you inject code before/after syscall, mutate arguments, not substitute arbitrary block of code for every intercepted "event".
  • dune is more flexible

Ok, fine, but it should always be possible to implement a less flexible API with a more flexible one:

  • Implement abstract API for event manipulation. The interface for "before/after" hooks&tweaking should be designed to work with PTrace, but should also be implementable by DetBox/Dune. That is, we would generate dummy wrappers that call the before and after hooks, sandwhiched around desired syscall.

  • LD_PRELOAD would still need ugly little wrappers that translate a libc call to the appropriate syscall(s). But the syscall themselves could be reexported as functions/methods from the same body of safe code as everything else.

Part of what's hard here is surely that the thing that is being substituted is not a function, but a syscall, which behaves rather differently. We get apples and oranges when we try to define a "safe syscall" but by defining a replacement function. Still, are these concepts not closely related enough that we can establish some correspondence?

Optimization Lists

Here I will try to list optimizations that may be useful for a faster system:

  • Use seccomp + BPF + ptrace. This will allow us to ignore many system call events and only intercept the ones we're actually interested in.

  • Use process_vm_writev() and process_vm_readv() for large reads/write from tracees memory.

  • Use LD_PRELOAD. We can use LD_PRELOAD to wrap libc to catch many events, the ones that aren't caught here can be trapped by the more heavy weight ptrace.

Migrate & Add Unit Tests

Unit tests have yet to be migrated from the old repo to the new Repo.

New unit tests also need to be added!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.