Summary
Reading and writing to a pipe set up by process can cause scheduler assertion errors
Metadata
- Id: 5bdf619cae5c0d9bd04e1d0854e190d20db555c7
- Trac id: 1486
- Type: defect
- Reporter: sjamaan
- Owner:
- Cc:
- Status: new
- Component: core libraries
- Estimated difficulty: hard
- Resolution:
- Priority: major
- Milestone: 6.0.0
- Version: 4.13.0
- Changetime: 2023-11-06 22:10:38 UTC
- Created: 2018-07-15 13:52:24 UTC
- Keywords:
Description
As pointed out in this|StackOverflow post]:
(use posix)
(let-values (((in out pid) (process "bc")))
(begin
(display "2 + 2\n" out)
(print (read-line in))))
Causes the following crash when evaluated:
thread is registered for I/O on unknown file-descriptor: 4 (expected 3) [] ...more... <syntax> <syntax> <syntax> <syntax> <syntax> <syntax> <syntax> <syntax> <syntax> <syntax> <syntax> <eval> <eval> <eval> <eval> <eval> <--
This bug is not easy to trigger. I happened to get "lucky" and it crashed the first time, but after that I tried again several times and it just worked.