endojs / endo

Endo is a distributed secure JavaScript sandbox, based on SES
Apache License 2.0
762 stars 68 forks source link

endo daemon hung when using TCP #2249

Open dckc opened 2 months ago

dckc commented 2 months ago

Describe the bug

@kriskowal and I were experimenting with tcp-netstring.js and such and the daemon hung occasionally.

Steps to reproduce

I'm not sure exactly.

One hypothesis from @kriskowal : Seems to occur after restart, like there’s an EADDRINUSE dying silently somewhere (or in the tcp worker log) And that might be preventing reviveNetworks from progressing

some steps leading up to it:

$ endo store --text 127.0.0.1:8921 --name tcp-netstring-json-captp0-host-port
$ endo make --UNCONFINED ~/endo/packages/daemon/src/networks/tcp-netstring.js --powers AGENT --name tcp
Object [Alleged: TcpNetstringService] {}
$ endo mv tcp NETS.tcp

where endo mv was more like endo eval "E(NETS).write('tcp', tcp')" tcp

Expected behavior

daemon doesn't hang, even when using TCP

Platform environment

endo version:

2024-04-25 14:29 2afacc58d feat(cli): Expand options for storing values (#2237)

linux. node 18.

Additional context

see also related discussion