jart / blink

tiniest x86-64-linux emulator
ISC License
6.88k stars 217 forks source link

eventfd support for Node.js #87

Open kdrag0n opened 1 year ago

kdrag0n commented 1 year ago

Host: arm64 Linux

node.js output:

/usr/bin/node[1]: ../../src/tracing/agent.cc:55:node::tracing::Agent::Agent(): Assertion `(uv_loop_init(&tracing_loop_)) == (0)' failed.

blink.log also shows that capget is missing:

I2023-03-15T04:52:53.467307:blink/syscall.c:5720:1 missing syscall 0x07d
I2023-03-15T04:52:53.468140:blink/syscall.c:5720:1 missing syscall 0x07d
I2023-03-15T04:52:53.468193:blink/syscall.c:5720:1 missing syscall 0x07d
I2023-03-15T04:52:53.468204:blink/syscall.c:5720:1 missing syscall 0x07d
I2023-03-15T04:52:53.468219:blink/syscall.c:5720:1 missing syscall 0x07d
I2023-03-15T04:52:53.468257:blink/syscall.c:5720:1 missing syscall 0x07d
I2023-03-15T04:52:53.469053:blink/syscall.c:5720:1 missing syscall 0x07d
I2023-03-15T04:52:53.470751:blink/syscall.c:5720:1 missing syscall 0x07d
I2023-03-15T04:52:53.470766:blink/syscall.c:5720:1 missing syscall 0x07d
I2023-03-15T04:52:53.489923:blink/syscall.c:5720:1 missing syscall 0x122

Reference: https://github.com/jart/blink/issues/73#issuecomment-1456824638

trungnt2910 commented 1 year ago

With a new VFS layer managing file descriptors in blink since #76, this and #73 is actually possible.

For this feature though we need to find a clear way to let blink processes share memory with each other.

trungnt2910 commented 1 year ago

You might want to upvote/review #92 as this is somewhat related.

kdrag0n commented 1 year ago

To be honest, I'm only interested in Linux support. Of course I understand that cross-platform support is important to Blink in general, but for my use case I'd be inclined to run a private fork with Linux-only syscall stubs.

I think having a server will be important for cross-platform support in the long term though.