REPL locks up when creating a weave without resuming it #287

Closed
opened 2026-01-20 06:40:15 +00:00 by navicore · 1 comment
navicore commented 2026-01-20 06:40:15 +00:00 (Migrated from github.com)

Description

Running a weave creation in the REPL without immediately resuming it causes the REPL to lock up unrecoverably:

seq> [ counter ] strand.weave
# REPL hangs - Ctrl-C does not work
# Must kill the terminal/tmux pane

Expected Behavior

Either:

  1. The weave should be created and return a handle to the stack without blocking
  2. Or Ctrl-C should be able to interrupt the blocked operation

Actual Behavior

  • REPL becomes completely unresponsive
  • Ctrl-C signal is ignored
  • Only way to recover is to kill the process externally

Root Cause (suspected)

The strand likely blocks on a channel operation waiting for a resume that never comes. The signal handler may not be able to interrupt blocked channel operations.

Environment

  • Discovered while testing weave examples from WEAVES_GUIDE.md
  • Compiled programs work correctly (weaves are designed for that context)

Notes

This is a REPL-specific issue. The weave infrastructure works correctly in compiled programs where the control flow ensures proper resume/cancel patterns.

## Description Running a weave creation in the REPL without immediately resuming it causes the REPL to lock up unrecoverably: ```seq seq> [ counter ] strand.weave # REPL hangs - Ctrl-C does not work # Must kill the terminal/tmux pane ``` ## Expected Behavior Either: 1. The weave should be created and return a handle to the stack without blocking 2. Or Ctrl-C should be able to interrupt the blocked operation ## Actual Behavior - REPL becomes completely unresponsive - Ctrl-C signal is ignored - Only way to recover is to kill the process externally ## Root Cause (suspected) The strand likely blocks on a channel operation waiting for a resume that never comes. The signal handler may not be able to interrupt blocked channel operations. ## Environment - Discovered while testing weave examples from WEAVES_GUIDE.md - Compiled programs work correctly (weaves are designed for that context) ## Notes This is a REPL-specific issue. The weave infrastructure works correctly in compiled programs where the control flow ensures proper resume/cancel patterns.
navicore commented 2026-01-20 22:15:12 +00:00 (Migrated from github.com)
https://github.com/navicore/patch-seq/pull/289
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
navicore/patch-seq#287
No description provided.