marigold-dev / marigold-dev/deku
Eio_linux crash
Nobody has claimed this yet.
- Dominant language
- OCaml
- Stars
- 82
- Forks
- 17
- PR merge metrics
- No merged PRs in 30d
Description
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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the crash at commit 4bc40c448a591b229c32b5c573a16171c9958be0, starting with the stack trace in lib_eio_linux/eio_linux.ml around lines 1471 and 1315. Focus on the remaining gossip-over-TCP I/O and whether work is being performed from other domains. Done means the reproducer is reduced and suitable for an upstream issue on ocaml-multicore/eio.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ocaml
- Domain
- backend, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100