marigold-dev / deku

MIT License
80 stars 16 forks source link

Eio_linux crash #970

Open d4hines opened 1 year ago

d4hines commented 1 year ago

I'm consistently getting a crash like this in Deku:

0: _build/install/default/bin/deku-node: internal error, uncaught exception:
0:                                       Stdlib.Effect.Continuation_already_resumed
0:                                       Raised by primitive operation at Eio_linux.run.(fun) in file "lib_eio_linux/eio_linux.ml", line 1471, characters 4-629
0:                                       Called from Eio_linux.with_uring in file "lib_eio_linux/eio_linux.ml", line 1315, characters 10-18
0:                                       Re-raised at Eio_linux.with_uring in file "lib_eio_linux/eio_linux.ml", line 1323, characters 6-41
0:                                       Called from Cmdliner_term.app.(fun) in file "cmdliner_term.ml", line 24, characters 19-24
0:                                       Called from Cmdliner_eval.run_parser in file "cmdliner_eval.ml", line 34, characters 37-44

@EduardoRFS hypothesizes it's related to doing Eio stuff from other domains.

I can reproduce quite consistently on this commit: 4bc40c448a591b229c32b5c573a16171c9958be0. It has some changes, primarily removing things in an attempt to isolate the issue: no Tezos interop, no block storage, and no chain.json dump. At that point the only IO that should happen is gossip over TCP.

We should try to shrink the reproducer and post an issue on: https://github.com/ocaml-multicore/eio. In the meantime I'll track in this issue.

d4hines commented 1 year ago

I have a (weak, mostly unfounded) hypothesis this might be related to https://github.com/ocaml-multicore/eio/issues/370