Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nix-du: 0.1.2 -> 0.2.0 #42395

Merged
merged 1 commit into from Jul 7, 2018
Merged

nix-du: 0.1.2 -> 0.2.0 #42395

merged 1 commit into from Jul 7, 2018

Conversation

symphorien
Copy link
Member

Motivation for this change

update (optimised store support)

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after): negligible
  • Fits CONTRIBUTING.md.

@dtzWill
Copy link
Member

dtzWill commented Jun 23, 2018

@GrahamcOfBorg build nix-du

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: nix-du

Partial log (click to expand)

/nix/store/d30wadhgv8rpfn33kh58w6b1q5r1sqwi-boost-1.67_0/lib/libboost_thread.dylib: fixing dylib
/nix/store/d30wadhgv8rpfn33kh58w6b1q5r1sqwi-boost-1.67_0/lib/libboost_timer.dylib: fixing dylib
/nix/store/d30wadhgv8rpfn33kh58w6b1q5r1sqwi-boost-1.67_0/lib/libboost_type_erasure.dylib: fixing dylib
/nix/store/d30wadhgv8rpfn33kh58w6b1q5r1sqwi-boost-1.67_0/lib/libboost_unit_test_framework.dylib: fixing dylib
/nix/store/d30wadhgv8rpfn33kh58w6b1q5r1sqwi-boost-1.67_0/lib/libboost_wave.dylib: fixing dylib
/nix/store/d30wadhgv8rpfn33kh58w6b1q5r1sqwi-boost-1.67_0/lib/libboost_wserialization.dylib: fixing dylib
strip is /nix/store/7ddbq63v97nk8gkbf7gcsfmby37h6gbl-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/42hn1ipdn2bwdnxxrds98d9xxlwza9qg-boost-1.67_0-dev
cannot build derivation '/nix/store/259cf669mrzjq3cf02c2fd3nrfk8089f-nix-du-0.2.0.drv': 4 dependencies couldn't be built
�[31;1merror:�[0m build of '/nix/store/259cf669mrzjq3cf02c2fd3nrfk8089f-nix-du-0.2.0.drv' failed

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: nix-du

Partial log (click to expand)

cannot build derivation '/nix/store/wi9gj9pzplgz585a1rf5hymh2f5l7f2q-rust_serde_derive-1.0.18.drv': 6 dependencies couldn't be built
cannot build derivation '/nix/store/xi1k8f35b6v87il22bxgwfwxj9gm4wva-rust_crates-io-0.11.0.drv': 30 dependencies couldn't be built
cannot build derivation '/nix/store/wk4z250mlg5mk2nxhafy9m4p43yp25xi-rust_docopt-0.8.1.drv': 19 dependencies couldn't be built
cannot build derivation '/nix/store/3jj7a3avfks29gq7a0wzvakmlg96c1lw-rust_git2-curl-0.7.0.drv': 20 dependencies couldn't be built
cannot build derivation '/nix/store/4bliqpbx6gdfyb61q4a9kh9a6fs3vngh-rust_ignore-0.2.2.drv': 18 dependencies couldn't be built
cannot build derivation '/nix/store/91hnn1dp1nrqycmn32mja7sdcfks8wkl-rust_cargo-0.22.0.drv': 78 dependencies couldn't be built
cannot build derivation '/nix/store/nrk1i9ziig24vz049l61x65hj3pgb3yp-rust_cargo-vendor-0.1.13.drv': 79 dependencies couldn't be built
cannot build derivation '/nix/store/ny8ypahk5jj78j99fajjbqdgkc9a8wzr-nix-du-0.2.0-vendor.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/5k7w0518kccjgdlbsbx2jl8qghwrpmhm-nix-du-0.2.0.drv': 3 dependencies couldn't be built
error: build of '/nix/store/5k7w0518kccjgdlbsbx2jl8qghwrpmhm-nix-du-0.2.0.drv' failed

@dtzWill
Copy link
Member

dtzWill commented Jun 23, 2018

Dunno what's going on with those failures, but this is what I'm seeing when building locally (x86_64-linux):

copying path '/nix/store/5cakzz14ww8kbbhqxbvzqrv99las17yv-nix-2.0.4-man' from 'https://cache.nixos.org'...
copying path '/nix/store/0xw9aw4pw4155zhfjbj9mvw2mrc8jbra-gts-0.7.6' from 'https://cache.nixos.org'...
copying path '/nix/store/fnn7v818nmr5zkf84v34hfzs54g9p2s6-aws-sdk-cpp-1.4.65' from 'https://cache.nixos.org'...
copying path '/nix/store/2wlm5w2i1mn4pzy8jbmdxkg8p5n3ryd2-ilmbase-2.2.1' from 'https://cache.nixos.org'...
copying path '/nix/store/x3kncck5k0ww6z3wrgm8hn34yxddcw39-libXt-1.1.5' from 'https://cache.nixos.org'...
copying path '/nix/store/ybhwghsz309cc5gyb6jsxd2g9h8qwdjb-lcms-1.19' from 'https://cache.nixos.org'...
copying path '/nix/store/gmj4vwi918kilk8167r7xcrv58v28y1f-libXpm-3.5.12' from 'https://cache.nixos.org'...
copying path '/nix/store/rrvz3r2vf3amx6xii3j31zarfbk6mv9y-lcms2-2.9' from 'https://cache.nixos.org'...
copying path '/nix/store/vy56wx4df6033s4q7r997b3bchqj6wpc-libmng-2.0.3' from 'https://cache.nixos.org'...
copying path '/nix/store/w209nb4vs870wm6rwwkyv6ixh7akyi53-openexr-2.2.1' from 'https://cache.nixos.org'...
copying path '/nix/store/i1vaqcv9q0x2f4pv4s0j8pi1pli320hy-libXmu-1.1.2' from 'https://cache.nixos.org'...
copying path '/nix/store/fpy4c3a8v7vr06q8imh1rjvgav577asa-libXaw-1.0.13' from 'https://cache.nixos.org'...
copying path '/nix/store/cc5d0bfpbw5rj9k5qm2gk4gq6k647fs4-nix-2.0.4' from 'https://cache.nixos.org'...
copying path '/nix/store/aqsamaqbnlawvpfcqdm2nzpmp57jisiy-libdevil-1.7.8' from 'https://cache.nixos.org'...
copying path '/nix/store/y2ym9z409p70r8m56alv80mli7qd2bq8-nix-2.0.4-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/gymz1d9ka5a9ykw14q5yay0f1ch3nr7h-graphviz-2.40.1' from 'https://cache.nixos.org'...
unpacking sources
unpacking source archive /nix/store/yg22n08gdbz4w19b0094cii6mn7fxn55-source
source root is source
unpacking source archive /nix/store/vxsz2ph13b1lawnxlz223rzc81h388h0-nix-du-0.2.0-vendor
patching sources
configuring
building
Running cargo build --release
   Compiling num-traits v0.2.4
   Compiling num-integer v0.1.38
   Compiling siphasher v0.2.2
   Compiling libc v0.2.41
   Compiling rustc-serialize v0.3.24
   Compiling num-iter v0.1.37
   Compiling unicode-width v0.1.5
   Compiling cc v1.0.17
   Compiling same-file v1.0.2
   Compiling strsim v0.7.0
   Compiling vec_map v0.8.1
   Compiling approx v0.1.1
   Compiling fixedbitset v0.1.9
   Compiling ordermap v0.3.5
   Compiling bitflags v1.0.3
   Compiling ansi_term v0.11.0
   Compiling human-size v0.3.0
   Compiling humansize v1.1.0
   Compiling walkdir v2.1.4
   Compiling phf_shared v0.7.22
   Compiling phf v0.7.22
   Compiling petgraph v0.4.12
   Compiling rand v0.4.2
   Compiling term_size v0.3.1
   Compiling atty v0.2.10
   Compiling memchr v2.0.1
   Compiling textwrap v0.9.0
   Compiling clap v2.31.2
   Compiling phf_generator v0.7.22
   Compiling phf_codegen v0.7.22
   Compiling palette v0.2.1
   Compiling nix-du v0.2.0 (file:///build/source)
   Compiling num-bigint v0.1.44
   Compiling num-complex v0.1.43
   Compiling num-rational v0.1.42
   Compiling num v0.1.42
    Finished release [optimized] target(s) in 27.2 secs
running tests
Running cargo test
   Compiling num-traits v0.2.4
   Compiling siphasher v0.2.2
   Compiling libc v0.2.41
   Compiling num-integer v0.1.38
   Compiling rustc-serialize v0.3.24
   Compiling num-iter v0.1.37
   Compiling void v1.0.2
   Compiling unicode-width v0.1.5
   Compiling regex v0.2.11
   Compiling lazy_static v1.0.0
   Compiling cc v1.0.17
   Compiling ucd-util v0.1.1
   Compiling ordermap v0.3.5
   Compiling vec_map v0.8.1
   Compiling bitflags v1.0.3
   Compiling approx v0.1.1
   Compiling same-file v1.0.2
   Compiling utf8-ranges v1.0.0
   Compiling strsim v0.7.0
   Compiling fixedbitset v0.1.9
   Compiling ansi_term v0.11.0
   Compiling humansize v1.1.0
   Compiling human-size v0.3.0
   Compiling cli_test_dir v0.1.5
   Compiling unreachable v1.0.0
   Compiling thread_local v0.3.5
   Compiling walkdir v2.1.4
   Compiling regex-syntax v0.5.6
   Compiling phf_shared v0.7.22
   Compiling phf v0.7.22
   Compiling petgraph v0.4.12
   Compiling rand v0.4.2
   Compiling memchr v2.0.1
   Compiling term_size v0.3.1
   Compiling atty v0.2.10
   Compiling textwrap v0.9.0
   Compiling aho-corasick v0.6.4
   Compiling nix-du v0.2.0 (file:///build/source)
   Compiling clap v2.31.2
   Compiling phf_generator v0.7.22
   Compiling phf_codegen v0.7.22
   Compiling palette v0.2.1
   Compiling num-bigint v0.1.44
   Compiling num-complex v0.1.43
   Compiling num-rational v0.1.42
   Compiling num v0.1.42
    Finished dev [unoptimized + debuginfo] target(s) in 19.81 secs
     Running target/debug/deps/nix_du-6705c945baeed1ba

running 6 tests
test bindings::bindgen_test_layout_path_t ... ok
test reduction::tests::check_merge_transient_roots ... ok
test reduction::tests::check_condense ... ok
test reduction::tests::check_keep_reachable ... ok
test reduction::tests::invariants ... ok
test reduction::tests::check_keep ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

     Running target/debug/deps/common-f45e9288ffc5c650

running 11 tests
test k2_1 ... ok
test autodetect_un_optimised ... ok
test autodetect_optimised ... ok
error: reading from file: No such process
test filter_size_non_root ... FAILED
test simple ... ok
test filter_size_root_kept ... ok
test filter_number_root_kept ... ok
test filter_size_root_not_kept ... ok
test filter_number_root_not_kept ... ok
test filter_number_non_root ... ok
test optimise ... ok

failures:

---- filter_size_non_root stdout ----
        Derivation: with import /build/source/tests/nix/template.nix;
    rec {
     a = mkNode "a" [d]; b = mkNode "b" [d]; c = mkNode "c" [e]; d = mkNode "d" [e]; e = mkNode "e" [f]; f = mkNode "f" [];
}
Building a
/build/source/target/debug/integration-tests/filter_size_non_root/0/nixstore/store/7h9zs0i2wdja37qkj8nh6jdqx1xacxy7-a
+---/build/source/target/debug/integration-tests/filter_size_non_root/0/nixstore/store/6k5mr7g5dpwyjxi8l024qh1q6kifj20r-d
    +---/build/source/target/debug/integration-tests/filter_size_non_root/0/nixstore/store/13a3nwqbwhypvdj5zmfvmzign8fsym28-e
        +---/build/source/target/debug/integration-tests/filter_size_non_root/0/nixstore/store/gchxn83kfv457ynz9id75zmdq5arq0iz-f

/build/source/target/debug/integration-tests/filter_size_non_root/0/roots/a -> /build/source/target/debug/integration-tests/filter_size_non_root/0/nixstore/store/7h9zs0i2wdja37qkj8nh6jdqx1xacxy7-a

Building b
/build/source/target/debug/integration-tests/filter_size_non_root/0/nixstore/store/ccq35k84jq73s4l93s2vrh00n8wvmfld-b
+---/build/source/target/debug/integration-tests/filter_size_non_root/0/nixstore/store/6k5mr7g5dpwyjxi8l024qh1q6kifj20r-d
    +---/build/source/target/debug/integration-tests/filter_size_non_root/0/nixstore/store/13a3nwqbwhypvdj5zmfvmzign8fsym28-e
        +---/build/source/target/debug/integration-tests/filter_size_non_root/0/nixstore/store/gchxn83kfv457ynz9id75zmdq5arq0iz-f

thread 'filter_size_non_root' panicked at 'expected command to succeed, got ExitStatus(ExitStatus(256))', /build/nix-du-0.2.0-vendor/cli_test_dir/src/lib.rs:484:13
note: Run with `RUST_BACKTRACE=1` for a backtrace.


failures:
    filter_size_non_root

test result: FAILED. 10 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out

error: test failed, to rerun pass '--test common'
builder for '/nix/store/n84slyxlc18npss4magbmcxz7m3gvl3k-nix-du-0.2.0.drv' failed with exit code 101

@dtzWill
Copy link
Member

dtzWill commented Jun 23, 2018

FWIW I get the same error when building from the nix-du repo directly: $ nix build -f https://github.com/symphorien/nix-du/archive/master.tar.gz (from my command history 😁). That doesn't mean much if the repo doesn't pin nixpkgs revision used, but thought I'd mention anyway.

@GrahamcOfBorg
Copy link

Failure on x86_64-linux (full log)

Attempted: nix-du

Partial log (click to expand)


trying https://github.com/symphorien/nix-du/archive/v0.2.0.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   125    0   125    0     0    335      0 --:--:-- --:--:-- --:--:--   334
100 46568    0 46568    0     0  51456      0 --:--:-- --:--:-- --:--:-- 51456
unpacking source archive /build/v0.2.0.tar.gz
cannot build derivation '/nix/store/rzj2rgfb8dky92b6in3hcm9hqzm2231c-nix-du-0.2.0-vendor.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/p2cn0gi90znr3dgjg7wqh39613lxc5sb-nix-du-0.2.0.drv': 3 dependencies couldn't be built
error: build of '/nix/store/p2cn0gi90znr3dgjg7wqh39613lxc5sb-nix-du-0.2.0.drv' failed

@symphorien
Copy link
Member Author

symphorien commented Jun 23, 2018

The error is the following:

error: reading from file: No such process

I fixed it in NixOS/nix#2223 and NixOS/nix#2234
I had only encountered it when building on travis, so I thought this would be fine. Apparently I was wrong...
I see two ways out: overriding nix with the patches of this PR just for nix-du like this https://github.com/symphorien/nix-du/blob/4d59d8105a7526c25c4b1ce383741384674c5f8b/test.nix#L2-L16, or advancing nixUnstable to current master and building nix-du with this nix. What do you think ?

@symphorien
Copy link
Member Author

Or just doCheck=false ?

@infinisil
Copy link
Member

I think disabling tests would be the best for now (if the package works otherwise).

@symphorien
Copy link
Member Author

I set doCheck=false. I have set up travis on my repo so I am pretty confident nix-du is functional.

@infinisil infinisil merged commit e73783a into NixOS:master Jul 7, 2018
@symphorien symphorien deleted the nix-du-0-2-0 branch March 21, 2020 18:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants