Holochain Setup - A Test Failure - test local_network_tests::conductors_call_remote::_5 ... FAILED

Hi there, I am new around here and I would like to develop my applications by using Holochain Tech. For that reason, as you can guess I had to install holochain (aka holonix). However, it went wrong for me to install holonix on Ubuntu 20.04 VM when I tried the instructions from official install docs for Linux.

After that failed attempt, I decided to undo everything I did and make a clear install for each package one by one after I cloned the project from GitHub.

Firstly, I installed curl, nix, Rust, rusty (nightly build), Node.js and qt one by one, also by using the holochain-cmd as a reference to do it at most right.

Secondly, I decided to build the holochain and dna_util by using cargo package manager as also mentioned on GitHub.

And finally, I got other necessary packages like hc, holosqape, and hcshell by using app-spec-rust as a reference guide.

After all those works on Ubuntu VM, I decided to run the test command that is

hc-merge-test

to be sure exactly I did everything in order. However, I get only one failure after I ran that test command and all the error message is below:

###HOLOCHAIN_SETUP###
###ADMIN_PORT:42909###
###HOLOCHAIN_SETUP_END###
FATAL PANIC PanicInfo {
    payload: Any,
    message: Some(
        called `Result::unwrap()` on an `Err` value: LmdbStoreError(Compat { error: LmdbError(Other(24)) }),
    ),
    location: Location {
        file: "crates/holochain_lmdb/src/test_utils.rs",
        line: 119,
        col: 81,
    },
}
thread 'local_network_tests::conductors_call_remote::_5' panicked at 'called `Result::unwrap()` on an `Err` value: LmdbStoreError(Compat { error: LmdbError(Other(24)) })', crates/holochain_lmdb/src/test_utils.rs:119:81
stack backtrace:
   0: rust_begin_unwind
             at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/std/src/panicking.rs:483
   1: core::panicking::panic_fmt
             at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/panicking.rs:85
   2: core::option::expect_none_failed
             at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/option.rs:1234
   3: core::result::Result<T,E>::unwrap
             at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/result.rs:973
   4: holochain_lmdb::test_utils::TestEnvironments::new
             at /home/ghosty/holo/holochain/crates/holochain_lmdb/src/test_utils.rs:119
   5: holochain_lmdb::test_utils::test_environments
             at /home/ghosty/holo/holochain/crates/holochain_lmdb/src/test_utils.rs:72
   6: holochain::test_utils::setup_app_with_network::{{closure}}
             at ./src/test_utils.rs:276
   7: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/future/mod.rs:80
   8: holochain::local_network_tests::setup::{{closure}}
             at ./src/local_network_tests.rs:494
   9: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/future/mod.rs:80
  10: holochain::local_network_tests::conductors_call_remote::conductors_call_remote::{{closure}}
             at ./src/local_network_tests.rs:49
  11: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/future/mod.rs:80
  12: tokio::runtime::enter::Enter::block_on::{{closure}}
             at /home/ghosty/holo/holochain/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.24/src/runtime/enter.rs:160
  13: tokio::coop::with_budget::{{closure}}
             at /home/ghosty/holo/holochain/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.24/src/coop.rs:127
  14: std::thread::local::LocalKey<T>::try_with
             at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/std/src/thread/local.rs:272
  15: std::thread::local::LocalKey<T>::with
             at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/std/src/thread/local.rs:248
  16: tokio::coop::with_budget
             at /home/ghosty/holo/holochain/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.24/src/coop.rs:120
  17: tokio::coop::budget
             at /home/ghosty/holo/holochain/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.24/src/coop.rs:96
  18: tokio::runtime::enter::Enter::block_on
             at /home/ghosty/holo/holochain/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.24/src/runtime/enter.rs:160
  19: tokio::runtime::thread_pool::ThreadPool::block_on
             at /home/ghosty/holo/holochain/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.24/src/runtime/thread_pool/mod.rs:82
  20: tokio::runtime::Runtime::block_on::{{closure}}
             at /home/ghosty/holo/holochain/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.24/src/runtime/mod.rs:446
  21: tokio::runtime::context::enter
             at /home/ghosty/holo/holochain/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.24/src/runtime/context.rs:72
  22: tokio::runtime::handle::Handle::enter
             at /home/ghosty/holo/holochain/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.24/src/runtime/handle.rs:76
  23: tokio::runtime::Runtime::block_on
             at /home/ghosty/holo/holochain/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.24/src/runtime/mod.rs:441
  24: holochain::local_network_tests::conductors_call_remote::conductors_call_remote
             at ./src/local_network_tests.rs:86
  25: holochain::local_network_tests::conductors_call_remote::_5
             at ./src/local_network_tests.rs:34
  26: holochain::local_network_tests::conductors_call_remote::_5::{{closure}}
             at ./src/local_network_tests.rs:34
  27: core::ops::function::FnOnce::call_once
             at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/ops/function.rs:227
  28: core::ops::function::FnOnce::call_once
             at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/ops/function.rs:227
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
test local_network_tests::conductors_call_remote::_5 ... FAILED
test local_network_tests::conductors_call_remote::_2 ... ok
test core::workflow::publish_dht_ops_workflow::tests::test_private_entries::_100 ... ok
test core::workflow::sys_validation_workflow::tests::sys_validation_workflow_test ... ok

failures:

failures:
    local_network_tests::conductors_call_remote::_5

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

error: test failed, to rerun pass '-p holochain --lib'

[nix-shell:~/holo/holochain]$ 

Can someone explain to me why did it happen? Is that because I ran it on a VM? Or just a network failure? Or I did some big mistakes when I installed the packages?..

@pauldaoust

Hi @squasar! So if you only want to develop holochain apps you don’t have to download the core repository or all these different tools, a part from nix.

So if you just follow the getting started guide or create nix files for your project you should be all set.

1 Like

I did that too but it didn’t work as I mentioned.

I will try this one. It seems very interesting, thanks.

Hum what was the error from the official guide?

Ping @steveeJ

I installed nix (nix-shell 2.3.10) and then tried this:

$(nix-build https://holochain.love --no-link -A pkgs.holonix)/bin/holonix

However, it produced an error that says the group ‘nixbld’ specified in ‘build-users-group’ doesn’t exist. I share the complete output in below:

ghosty@theta:~$ $(nix-build https://holochain.love --no-link -A pkgs.holonix)/bin/holonix

# Holonix

## Permissions
This scripts uses sudo to allow specifying Holo's Nix binary cache. Specifically:
* Instruct Nix to use the following extra substitutors (binary cache):
  - https://cache.holo.host
* Instruct Nix to use trust these public keys:
  - cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  - cache.holo.host-1:lNXIXtJgS9Iuw4Cu6X0HINLu9sTfcjEntnrgwMQIMcE=
  - cache.holo.host-2:ZJCkX3AUYZ8soxTLfTb60g+F3MkWD7hkH9y8CgqwhDQ=

If you don't want to use "sudo", you can set HN_NOSUDO="true" prior to calling this script.

## Caching
Holonix will be cached locally.
To wipe the cache, remove all symlinks inside /home/ghosty/.holonix and run "nix-collect-garbage".

## Running the cached version directly
Use: nix-shell /home/ghosty/.holonix/shellDrv

Building...
[sudo] password for ghosty: 
Sorry, try again.
[sudo] password for ghosty: 
Errors during build. Status: 1)
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
warning: the group 'nixbld' specified in 'build-users-group' does not exist
these derivations will be built:
  /nix/store/1qv7c8fnq887c0k6d14jpdk9vbhc0r62-hn-release-changelog.drv
error: the group 'nixbld' specified in 'build-users-group' does not exist
/store/9333vz9a8zkvwlmrknpkbz13s187nipc-rust-1.48.0-2020-11-16-7eac88abb.drv
/home/ghosty/.holonix/allrefs
Processing /nix/store/hj9pv5whifwsji243s5d55g1p1iz6yc5-pkg-config-wrapper-0.29.2.drv
/home/ghosty/.holonix/allrefs
/home/ghosty/.holonix/allrefs-doc
/home/ghosty/.holonix/allrefs-man
Processing /nix/store/34r6fz8hsdc34sc2glj8gjj9isdf2hbz-curl-7.72.0.drv
/home/ghosty/.holonix/allrefs
/home/ghosty/.holonix/allrefs-bin
/home/ghosty/.holonix/allrefs-debug
/home/ghosty/.holonix/allrefs-dev
/home/ghosty/.holonix/allrefs-devdoc
/home/ghosty/.holonix/allrefs-man
Processing /nix/store/mv3rpdm5frmnp6gx5zr56scn7dmiywz3-git-2.28.0.drv
/home/ghosty/.holonix/allrefs
/home/ghosty/.holonix/allrefs-doc
Processing /nix/store/x5lbw2x43kgbrb22gpx3npar17v8nj54-nss-cacert-3.56.drv
/home/ghosty/.holonix/allrefs
/home/ghosty/.holonix/allrefs-unbundled
Processing /nix/store/0mkrii7mqq7kyimqzx6q904dh51d83jp-lair-keystore.drv
/home/ghosty/.holonix/allrefs
Processing /nix/store/0snkkva88nmdhlmc58fc9c5rk3q6gs85-hn-rust-manifest-install.drv
/home/ghosty/.holonix/allrefs
Processing /nix/store/121nw7azd8spi4lm7hk868b2s6r2akbs-hc-happ-add-zome.drv
/home/ghosty/.holonix/allrefs
Processing /nix/store/1lavxizi29mp44gsylhbk7mlf4cp3876-hn-rust-manifest-set-ver.drv
/home/ghosty/.holonix/allrefs
Processing /nix/store/1qv7c8fnq887c0k6d14jpdk9vbhc0r62-hn-release-changelog.drv
ghosty@theta:~$ 

I searched a lot about this error on Google but I wasn’t be able to come with a solution. I thought it could be about some misconfigurations about the latest nix version. It was an error that was hard to manipulate or work around for me because even if I added the nixbld, it waits some more values too and I ended up with other OpenSSL based issues when I went further.

I tested updating the Dockerfile we have for ubuntu to refer to ubuntu:focal (20.04) and everything seems fine there so we know it’s possible on your ubuntu version.

Note that the final command in the Dockerfile uses nix-shell directly because it sets up the hydra cache through the script at ci/setup-hydra-cache.sh. With the command you’re using that happens on the command line. Both ways are fine but we’re advocating for the latter because it needs one less change to the filesystem.

If you can, I suggest to start with a fresh VM and go through the getting started guide again, with the additional step of creating the nixbld group. If you can’t start with a fresh VM you could try a new user on your existing ubuntu installation to avoid any configuration issues.

1 Like

I also had this error I fixed it with:

adduser --disabled-password --gecos '' docker
adduser docker sudo
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
addgroup --system nixbld
adduser docker nixbld

from the GitHub link which @steveeJ mentioned.

1 Like

Cool! However, I don’t think it is a good idea what you are doing here. Solving problems by creating bigger ones never saves us :slight_smile: