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

sit: 0.3.0 -> 0.3.2 #40032

Merged
merged 1 commit into from May 7, 2018
Merged

sit: 0.3.0 -> 0.3.2 #40032

merged 1 commit into from May 7, 2018

Conversation

yrashk
Copy link
Contributor

@yrashk yrashk commented May 6, 2018

Motivation for this change

New version released

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-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/)
  • Fits CONTRIBUTING.md.

@xeji
Copy link
Contributor

xeji commented May 7, 2018

@GrahamcOfBorg build sit

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: sit

Partial log (click to expand)

cp: -r not specified; omitting directory 'target/release/examples'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/v72s2h3gs2n5g2aivm9ghlknq4zk0n2h-sit-0.3.2
shrinking /nix/store/v72s2h3gs2n5g2aivm9ghlknq4zk0n2h-sit-0.3.2/bin/sit-web
shrinking /nix/store/v72s2h3gs2n5g2aivm9ghlknq4zk0n2h-sit-0.3.2/bin/sit
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/v72s2h3gs2n5g2aivm9ghlknq4zk0n2h-sit-0.3.2/bin
patching script interpreter paths in /nix/store/v72s2h3gs2n5g2aivm9ghlknq4zk0n2h-sit-0.3.2
checking for references to /build in /nix/store/v72s2h3gs2n5g2aivm9ghlknq4zk0n2h-sit-0.3.2...
/nix/store/v72s2h3gs2n5g2aivm9ghlknq4zk0n2h-sit-0.3.2

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: sit

Partial log (click to expand)



failures:
    repository::tests::new_named_item_dup

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

error: test failed, to rerun pass '--lib'
builder for '/nix/store/54vb2y46sn5r1vap07lbfldnmfavcmza-sit-0.3.2.drv' failed with exit code 101
�[31;1merror:�[0m build of '/nix/store/54vb2y46sn5r1vap07lbfldnmfavcmza-sit-0.3.2.drv' failed

Copy link
Contributor

@xeji xeji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aarch64: see log, the same test fails for current version sit 0.3.0. Please try to fix it (or, if considered safe) disable the failing test case.


meta = with stdenv.lib; {
description = "Serverless Information Tracker";
homepage = http://sit-it.org/;
homepage = https://sit.sh/;
license = with licenses; [ asl20 /* or */ mit ];
maintainers = with maintainers; [ dywedir ];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you like to add yourself as a maintainer since you have been most active on this package recently?

@yrashk
Copy link
Contributor Author

yrashk commented May 7, 2018

I need to find an aarch64 host to fix it.

As for maintainership, sure. I'll add myself.

@xeji
Copy link
Contributor

xeji commented May 7, 2018

Thanks.

I need to find an aarch64 host to fix it.

Short of fixing it, you could also selectively disable the failing test case for aarch64 to get it to build so interested people can give it a try...

I'll merge the update anyway, it's no regression since the current version doesn't build on aarch64 either.

@xeji xeji merged commit ce9c8be into NixOS:master May 7, 2018
@yrashk
Copy link
Contributor Author

yrashk commented May 7, 2018

So, I investigated this issue on an aarch64 host a bit. Here's what I found:

yrashk@scw-bc6ec2:~/dir-exists-aarch64$ cat src/main.rs 
use std::fs::create_dir;

fn main() {
   create_dir("hello").expect("1");
   create_dir("hello").expect("2");
}
yrashk@scw-bc6ec2:~/dir-exists-aarch64$ cargo run --release
   Compiling dir-exists-aarch64 v0.1.0 (file:///home/yrashk/dir-exists-aarch64)
    Finished release [optimized] target(s) in 2.35 secs
     Running `target/release/dir-exists-aarch64`
thread 'main' panicked at '1: Os { code: 17, kind: AlreadyExists, message: "File exists" }', libcore/result.rs:945:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.
yrashk@scw-bc6ec2:~/dir-exists-aarch64$ cargo run 
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running `target/debug/dir-exists-aarch64`
yrashk@scw-bc6ec2:~/dir-exists-aarch64$ 

Bottom line: the "directory exists" error happens in release mode, but doesn't happen in debug. At least this is how it looks like to me.

@yrashk
Copy link
Contributor Author

yrashk commented May 7, 2018

I logged this finding here rust-lang/rust#50516

@xeji
Copy link
Contributor

xeji commented May 7, 2018

Thanks for investigating. It would be great to have sit build on aarch64, but there's no rush. We can always add a patch in nixpkgs to disable the failing test if needed.

@yrashk
Copy link
Contributor Author

yrashk commented May 7, 2018

I already have a patch that works around the problem, without eliminating the test. I will extract it and add to nixpkgs as well, with the intention to kill it upon next release, which will include the patch anyway.

yrashk added a commit to yrashk/nixpkgs that referenced this pull request May 7, 2018
As we found out in NixOS#40032, sit tests won't pass on
aarch64. The problem seems to be related to
`create_dir` not returning an error if the directory
already exists, happening specifically on aarch64+debug
(not aarch64+release)

This update injects a patch for tests that will also
be included in subsequent versions of SIT.
@yrashk yrashk mentioned this pull request May 7, 2018
8 tasks
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

3 participants