witnet-rust icon indicating copy to clipboard operation
witnet-rust copied to clipboard

Node crash at start ( Windows )

Open goncegong opened this issue 5 years ago • 7 comments

Hello I`m trying to run node on WIndows 10 and Docker. When i start node with "docker run --name witnet_node -p 21337 witnet/witnet-rust" command, node crashed and get into restart loop with following messege:

"[IP_DETECTOR] Using configuration from '/.witnet/config/witnet.toml'

[IP_DETECTOR] Reading 'public_addr' from config file

./runner.sh: line 57: 239 Illegal instruction RUST_LOG=witnet=$LOG_LEVEL /tmp/witnet-raw -c /.witnet/config/witnet.toml "$@""

How to fix this? Thank you

goncegong avatar Oct 15 '20 14:10 goncegong

Hi, illegal instruction usually means that you are running a binary compiled for a different architecture. In the logs you should see a line like:

"Downloading 'witnet-x86_64-pc-windows-msvc.tar.gz'. It may take a few seconds..."

This means that the binary only supports 64-bit windows, are you running 32-bit or 64-bit windows?

tmpolaczyk avatar Oct 15 '20 15:10 tmpolaczyk

I am running 64-bit Windows : Win10 Pro Version 2004 OS Build 19041.572

goncegong avatar Oct 15 '20 16:10 goncegong

May I ask on which piece of hardware are you running it? Looks like some incompatible architecture, or lack of access to some low level system API. I've seen some similar errors on Raspberry Pis, and the solution was adding --privileged right after docker run.

aesedepece avatar Oct 15 '20 16:10 aesedepece

Its desktop with Phenom II 955, 8GB ram and 120gb ssd.

I tried with : "docker run --privileged --name witnet_node -p 21337 witnet/witnet-rust" but with no luck.

goncegong avatar Oct 15 '20 16:10 goncegong

Since you are using a slightly old CPU, it is possible that the compiled witnet binary uses some instructions that are not supported by your CPU, for example AVX or AES extensions. I don't know how to force the compiler to not use this instructions, but if you can compile witnet on your machine it should work, because it will detect that it is not supported and not use that.

tmpolaczyk avatar Oct 16 '20 12:10 tmpolaczyk

Thx for reply.

I also tried with Rust but i get this msg :

" Compiling libloading v0.5.2 error: failed to run custom build command for openssl-sys v0.9.53

Caused by: process didn't exit successfully: C:\witnet\target\debug\build\openssl-sys-dbffd2ba89aea488\build-script-main (exit code: 101) --- stdout cargo:rustc-cfg=const_fn cargo:rerun-if-env-changed=X86_64_PC_WINDOWS_MSVC_OPENSSL_LIB_DIR X86_64_PC_WINDOWS_MSVC_OPENSSL_LIB_DIR unset cargo:rerun-if-env-changed=OPENSSL_LIB_DIR OPENSSL_LIB_DIR unset cargo:rerun-if-env-changed=X86_64_PC_WINDOWS_MSVC_OPENSSL_INCLUDE_DIR X86_64_PC_WINDOWS_MSVC_OPENSSL_INCLUDE_DIR unset cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR OPENSSL_INCLUDE_DIR unset cargo:rerun-if-env-changed=X86_64_PC_WINDOWS_MSVC_OPENSSL_DIR X86_64_PC_WINDOWS_MSVC_OPENSSL_DIR unset cargo:rerun-if-env-changed=OPENSSL_DIR OPENSSL_DIR unset note: vcpkg did not find openssl as libcrypto and libssl: Could not find Vcpkg tree: No vcpkg.user.targets found. Set the VCPKG_ROOT environment variable or run 'vcpkg integrate install' note: vcpkg did not find openssl as ssleay32 and libeay32: Could not find Vcpkg tree: No vcpkg.user.targets found. Set the VCPKG_ROOT environment variable or run 'vcpkg integrate install'

--- stderr thread 'main' panicked at '

Could not find directory of OpenSSL installation, and this -sys crate cannot proceed without this knowledge. If OpenSSL is installed and this crate had trouble finding it, you can set the OPENSSL_DIR environment variable for the compilation process.

Make sure you also have the development packages of openssl installed. For example, libssl-dev on Ubuntu or openssl-devel on Fedora.

If you're in a situation where you think the directory should be found automatically, please open a bug at https://github.com/sfackler/rust-openssl and include information about your system as well as this message.

$HOST = x86_64-pc-windows-msvc $TARGET = x86_64-pc-windows-msvc openssl-sys = 0.9.53

It looks like you're compiling for MSVC but we couldn't detect an OpenSSL installation. If there isn't one installed then you can try the rust-openssl README for more information about how to download precompiled binaries of OpenSSL:

https://github.com/sfackler/rust-openssl#windows

', C:\Users\gavra.cargo\registry\src\github.com-1ecc6299db9ec823\openssl-sys-0.9.53\build\find_normal.rs:150:5 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace warning: build failed, waiting for other jobs to finish... error: build failed

Maybe you`r right mr. tmpolaczyk, maybe i cant run this due to old cpu, maybe my windows cause problems, i dont know.

I`m not tech guy, so any compiling, programing etc is beyond my skills. I cant run node so i will quit. Thx anyway and good luck with your great project. Cheers!

goncegong avatar Oct 17 '20 08:10 goncegong

It looks like an issue with the rocksdb wrapper we are using

https://github.com/rust-rocksdb/rust-rocksdb/issues/363

tmpolaczyk avatar Oct 28 '20 13:10 tmpolaczyk