PhilippGackstatter / wow

A WebAssembly container runtime for the Apache OpenWhisk serverless platform
21 stars 6 forks source link

An error occured when i execute ‘./gradlew core:standalone:bootRun’ #1

Open kynnn opened 1 year ago

kynnn commented 1 year ago

Execution failed for task ':core:standalone:bootRun'.

Process 'command '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.el7_9.x86_64/bin/java'' finished with non-zero exit value 1 Caused by: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.el7_9.x86_64/bin/java'' finished with non-zero exit value 1 looking forward to your help,thank you!

PhilippGackstatter commented 1 year ago

Hello!

I assume you want to run OpenWhisk and it is failing?

Please make sure to run the code from https://github.com/PhilippGackstatter/openwhisk.git on the invoker-wasm branch.

I just tried it and that code still runs for me using:

git clone https://github.com/PhilippGackstatter/openwhisk.git
cd openwhisk
git checkout invoker-wasm
./gradlew core:standalone:bootRun

My java version for reference:

> java -version
openjdk version "11.0.16" 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

If you did those steps and its still failing, please provide an overview of what commands you're executing and in what envrionment, and I'm happy to help.

kynnn commented 1 year ago

Hi,thank you for your reply! I re-executed the same command as you and still got this error wowerror

Here are my environment :

>java -version
openjdk version "1.8.0_345"
OpenJDK Runtime Environment (build 1.8.0_345-b01)
OpenJDK 64-Bit Server VM (build 25.345-b01, mixed mode)
docker -v
Docker version 18.03.1-ce, build 9ee9f40
node -v
v14.18.2

And all the above operations take place in the centos7 virtual machine

PhilippGackstatter commented 1 year ago

It looks like your docker daemon isn't running based on the error message below the OpenWhisk logo.

Try executing docker run hello-world to see if your docker setup is working.

kynnn commented 1 year ago

@PhilippGackstatter I really appreciate your help, I have successfully run this project, I previously thought that a wasm based platform would not need to start docker. I would also like to ask a question about which part of this project or openwhisk's container calling strategy is implemented, I am recently interested in the research and optimization of these strategies.

PhilippGackstatter commented 1 year ago

I have successfully run this project,

That's great to hear, happy to help!

I previously thought that a wasm based platform would not need to start docker.

I can see why the presence of Docker is confusing here, however docker is merely used for its convenience to execute the WebAssembly runtime, there is no inherent dependency on docker.

which part of this project or openwhisk's container calling strategy is implemented

The calling strategy is implemented in OpenWhisk. You can see the changes I've made to OpenWhisk here: https://github.com/PhilippGackstatter/openwhisk/compare/master...invoker-wasm

Specifically, the strategy is implemented in the WasmContainerFactory.

We then override the ContainerFactoryProvider:

setSysProp("whisk.spi.ContainerFactoryProvider", "org.apache.openwhisk.core.containerpool.wasm.WasmContainerFactoryProvider")

so OpenWhisk will use that factory to run what we call "Wasm containers":