Hi, I hope this is the right place to post the discussion like this, as I can confirm the test failed reason is not related to vim and it's quite hard for me to track the issue alone. I think some discussion will be helpful to solve the issue.
In the build log[0]: ``` >From test_channel.vim: Found errors in Test_keep_pty_open(): Run 1, 13:51:24 - 13:51:24 in 0.020000 seconds: command line..script /<<PKGBUILDDIR>>/src/vim-gtk3/testdir/runtest.vim[617]..function RunTheTest[57]..Test_keep_pty_open line 6: Expected range 200 - 1000, but got 20 Run 2, 13:51:26 - 13:51:26 in 0.030000 seconds: command line..script /<<PKGBUILDDIR>>/src/vim-gtk3/testdir/runtest.vim[658]..function RunTheTest[57]..Test_keep_pty_open line 6: Expected range 200 - 1000, but got 30 Run 3, 13:51:30 - 13:51:30 in 0.030000 seconds: command line..script /<<PKGBUILDDIR>>/src/vim-gtk3/testdir/runtest.vim[658]..function RunTheTest[57]..Test_keep_pty_open line 6: Expected range 200 - 1000, but got 30 Flaky test failed too often, giving up ``` The test source code (in vim script): ``` func Test_keep_pty_open() CheckUnix let job = job_start(s:python . ' -c "import time;time.sleep(0.2)"', \ {'out_io': 'null', 'err_io': 'null', 'pty': 1}) let elapsed = WaitFor({-> job_status(job) ==# 'dead'}) call assert_inrange(200, 1000, elapsed) call job_stop(job) endfunc ``` The `let job = job_start...` command in Debian Hurd can be represented using the following command: ``` let job = job_start('python3' . ' -c "import time;time.sleep(0.2)"', {'out_io': 'null', 'err_io': 'null', 'pty': 1}) ``` When I run the vim command with running `vim --log vimlog`, I saw the following log: ``` ... 5.790000 : Starting job: python3 -c import time;time.sleep(0.2) 5.800000 on 0: Created channel 5.800000 on 0: using pty /dev/ttyp5 on fd 4 5.800000 : SafeState: Start triggering 5.800000 : raw terminal output: <messy stuff...> 5.800000 : looking for messages on channels 5.800000 on 0: Closing channel because all readable fds are closed 5.800000 on 0: Closing channel 5.800000 : SafeState: back to waiting, triggering SafeStateAgain 5.800000 : closing logfile vimlog 5.810000 : looking for messages on channels 5.810000 on 0: Job ended ... ``` It's still the case with different sleep times. I believe the issue is related to: ``` 5.800000 on 0: Closing channel because all readable fds are closed 5.800000 on 0: Closing channel ``` but I have no idea where to go next. [0]: https://buildd.debian.org/status/fetch.php?pkg=vim&arch=hurd-i386&ver=2%3A9.1.0967-2&stamp=1736521254&raw=0 Best, Zhaoming