Crash in socket_dist_controller
Maintainers usually reply within 3 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- erlang
- Domain
- backend
Research direction
Start with libs/estdlib/src/socket_dist_controller.erl, especially recv_data_loop/1 at line 173 and handle_info/2 at line 161, where the crash report shows {error, closed} reaching an unhandled case. Trace how socket closure is handled and check the related previous crashes mentioned in the issue. Done means the controller handles this failure without crashing; the issue provides no test or reproduction steps.
Written by the indexing model from the issue text.
Description
This might be related to other previous crashes.
See also build-and-test (clang-10, -O3, 25, 1.11.1)
Found while running CI on 6ef74599478c3d785f9ac2e25448516e84ab52dc
CRASH
======
pid: <0.2122.0>
Stacktrace:
[{proc_lib,exit_raise,3,[{file,"/__w/AtomVM/AtomVM/libs/estdlib/src/proc_lib.erl"},{line,286}]}]
cp: #CP<module: 5, label: 93, offset: 0>
x[0]: exit
x[1]: {{case_clause,{error,closed}},[{socket_dist_controller,recv_data_loop,1,[{file,"/__w/AtomVM/AtomVM/libs/estdlib/src/socket_dist_controller.erl"},{line,173}]},{socket_dist_controller,handle_info,2,[{file,"/__w/AtomVM/AtomVM/libs/estdlib/src/socket_dist_controller.erl"},{line,161}]},{gen_server,handle_msg,4,[{file,"/__w/AtomVM/AtomVM/libs/estdlib/src/gen_server.erl"},{line,561}]},{proc_lib,init_p,5,[{file,"/__w/AtomVM/AtomVM/libs/estdlib/src/proc_lib.erl"},{line,272}]},{proc_lib,init_p,5,[{file,"/__w/AtomVM/AtomVM/libs/estdlib/src/proc_lib.erl"},{line,272}]}]}
x[2]: {1,1,48,1,[{5,1404}],exit}
Stack
-----
Mailbox
-------
Monitors
--------
link to <0.2123.0>
monitored by resource type dist_connection ref=6585
monitored by resource type socket_fd ref=6590
**End Of Crash Report**
Segmentation fault (core dumped)
- Dominant language
- Erlang
- Stars
- 2.3k
- Forks
- 171
- Avg merge
- 4d 11h
- Merged PRs (30d)
- 20
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
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.
More from atomvm/AtomVM
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 3 days
-
lwIP sockets: a failed listen or connect leaves the socket lock held, a later close hangs foreverOpen
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 3 days
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
milind-soni/OpenMausBot#5829 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
finos/fluxnova-bpm-platform#387 ·
Maintainers usually reply within 4 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
OHDSI/Data2Evidence#3693 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Project-N-E-K-O/N.E.K.O#3725 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
kubernetes-sigs/headlamp#8408 ·
Maintainers usually reply within 1 day