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

app-compat: Assertion failed when running node with app-elfloader #859

Closed
razvand opened this issue Apr 21, 2023 · 4 comments
Closed

app-compat: Assertion failed when running node with app-elfloader #859

razvand opened this issue Apr 21, 2023 · 4 comments
Assignees
Labels
kind/bug Something isn't working

Comments

@razvand
Copy link
Contributor

razvand commented Apr 21, 2023

Describe the bug

When using app-elfloader (via the run_app.sh script in run-app-elfloader) to run the node-musl static PIE build, an assertion appears.

Steps to reproduce

You can use the ./do.sh script in the unikraft-upb/scripts repository:

$ ./do.sh setup
$ ./do.sh build
$ ./do.sh run_built node_static_musl

Expected behavior

A Node server should start, waiting for connections.

Which architectures were you using or does this bug affect?

x86_64

Which platforms were you using or does this bug affect?

kvm

Relevant log output

mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, fd:-1, 0) = va:0x1000093000
eventfd2(0x0, 0x80800, ...) = Invalid argument (-22)
close(fd:6) = OK
close(fd:7) = OK
munmap(va:0x1000093000) = OK
getpid() = pid:0
../app-elfloader/build/app-elfloader_kvm-x86_64[0]: ../src/tracing/agent.cc:55:node::tracing::Agent::Agent()writev(0x2, 0x40008f790, ...) = 0x6c
: Assertion `(uv_loop_init(&tracing_loop_)) == (0)' failed.
writev(0x2, 0x40008f870, ...) = 0x3c
rt_sigprocmask(0x0, 0x474497888, ...) = 0x0
tkill(0x0, 0x6, ...) = 0x0
rt_sigprocmask(0x2, 0x40008fa40, ...) = 0x0
rt_sigprocmask(0x0, 0x474497890, ...) = 0x0
rt_sigaction(0x6, 0x40008faf0, ...) = 0x0
tkill(0x0, 0x6, ...) = 0x0
rt_sigprocmask(0x1, 0x40008fae8, ...) = 0x0
@razvand razvand added the kind/bug Something isn't working label Apr 21, 2023
@razvand razvand added this to the v0.13.0 (Atlas) milestone Apr 21, 2023
@flpostolache flpostolache self-assigned this Apr 21, 2023
@flpostolache
Copy link
Contributor

Hello, @razvand. I recreated the problem using the steps above. This specific problem comes from the failure of the eventfd2 syscall. These three PRs #754 #756 #798 added on top of Unikraft solve this issue. For the syscall to succeed only #754 is needed.

@flpostolache
Copy link
Contributor

Update. I wasn't aware of PR #850. Because 9pfs_ioctl is not implemented, the fcntl function will fail and the assert in do_eventfd will stop the execution of the program.

@razvand
Copy link
Contributor Author

razvand commented May 13, 2023

So, @maniatro111, what is the state of it? I moved it for release 0.14 just in case.

@razvand
Copy link
Contributor Author

razvand commented Aug 9, 2023

Solved in #850

@razvand razvand closed this as completed Aug 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
Status: Done!
Development

No branches or pull requests

2 participants