Closed
Description
t.go:99: 2024-10-14 06:55:12.440 [debu] agent.reconnecting-pty: unable to read pty output; screen might have exited remote=[fd7a:115c:a1e0:43b9:a80a:af47:9fae:9a73]:17200 local=[fd7a:115c:a1e0:4645:a307:63ea:957f:8e40]:2 message_id=f64f9dc6-27e5-45ff-8d5c-c4c3ac6ee8f9 connection_id=e7d169d7-4367-44b6-b506-a17cd2f2db77 error=EOF
run_test.go:46: Runner logs:
Opening reconnecting PTY connection to agent via coderd...
ID: f64f9dc6-27e5-45ff-8d5c-c4c3ac6ee8f9
Width: 80
Height: 24
Command: "echo 'hello world'; sleep 1"
Output:
p3;4l1hhello world
screen 4.09.00 (GNU) 30-Jan-22 ��
1l
[screen is terminating]
run_test.go:52:
Error Trace: /home/runner/work/coder/coder/scaletest/reconnectingpty/run_test.go:52
Error: "Opening reconnecting PTY connection to agent via coderd...\n\tID: f64f9dc6-27e5-45ff-8d5c-c4c3ac6ee8f9\n\tWidth: 80\n\tHeight: 24\n\tCommand: \"echo 'hello world'; sleep 1\"\n\nOutput:\n\t\x1b[!p\x1b[?3;4l\x1b[4l\x1b>\x1b[4l\x1b[?1h\x1b=\x1b[0m\x1b(B\x1b[1;24r\x1b[H\x1b[2J\x1b[H\x1b[2Jhello world\r\x1b[23B\x1b[7mscreen 4.09.00 (GNU) 30-Jan-22\x1b[27m \b\b\r \x1b[1;12H\n\t\x1b[?1l\x1b>\x1b[24;1H\n\t[screen is terminating]\n" does not contain "hello world\n"
Test: Test_Runner/OK
https://github.com/coder/coder/actions/runs/11322160456/job/31483045664
The problem appears to be that the output is via a PTY, but we don't properly parse the terminal command sequences, just pretend it's plaintext. So, sometimes a command sequence is in the middle of the string we are looking for.