Investigate one-time server termination during collab embed probe #221

Open
opened 2026-09-27 08:32:47 +00:00 by kayg · 2 comments
Owner

The full adversarial run for Forgejo #184 reported collab embeds: SERVER DIED in tests/adversarial/attack2.py. The check followed Note creation and collaboration WebSocket attempts for malformed, Unicode, and nested-quote embed bodies, then found that the server was no longer reachable.

A scoped rerun with ROUND2_SECTIONS=collab completed the embed and socket-cap probes with server alive at end: True and ROUND 2 FINDINGS 0. The restart probe also reported 0 findings. The original run's private server log was removed by runner cleanup, so the process exit cause is unknown. The initial run overlapped other worktree builds and probes on the shared host, but there is no evidence that identifies the cause.

This is an intermittent server-loss finding for investigation. No heading-link code was implicated, and the scoped collaboration probe did not reproduce it.

The full adversarial run for Forgejo #184 reported `collab embeds: SERVER DIED` in `tests/adversarial/attack2.py`. The check followed Note creation and collaboration WebSocket attempts for malformed, Unicode, and nested-quote embed bodies, then found that the server was no longer reachable. A scoped rerun with `ROUND2_SECTIONS=collab` completed the embed and socket-cap probes with `server alive at end: True` and `ROUND 2 FINDINGS 0`. The restart probe also reported `0 findings`. The original run's private server log was removed by runner cleanup, so the process exit cause is unknown. The initial run overlapped other worktree builds and probes on the shared host, but there is no evidence that identifies the cause. This is an intermittent server-loss finding for investigation. No heading-link code was implicated, and the scoped collaboration probe did not reproduce it.
Author
Owner

Follow-up from the #148 adversarial round: attack2.py entered its collab section, then raised TypeError at line 792 because note("Flush target") returned None after a non-201 response. The helper does not record the response status or body, so this does not establish a server termination. The separate restart probe completed with 0 findings. The probe should log failed Note fixture responses and skip dependent checks instead of crashing.

Follow-up from the #148 adversarial round: `attack2.py` entered its `collab` section, then raised `TypeError` at line 792 because `note("Flush target")` returned `None` after a non-201 response. The helper does not record the response status or body, so this does not establish a server termination. The separate restart probe completed with 0 findings. The probe should log failed Note fixture responses and skip dependent checks instead of crashing.
Author
Owner

Post-merge adversarial run at c2ff7b40: POST to the missing-turn AI undo route with a 3 MiB body received 502 from the local proxy, body “local adversarial server is unavailable”. The server was alive at the end. Multiple worktrees were probing/building concurrently; the runner removed its private server log during cleanup, so the cause is unknown. Please include this intermittent backend-unavailable response in a controlled-load replay.

Post-merge adversarial run at c2ff7b40: POST to the missing-turn AI undo route with a 3 MiB body received 502 from the local proxy, body “local adversarial server is unavailable”. The server was alive at the end. Multiple worktrees were probing/building concurrently; the runner removed its private server log during cleanup, so the cause is unknown. Please include this intermittent backend-unavailable response in a controlled-load replay.
Sign in to join this conversation.
No labels
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
kayg/calternal#221
No description provided.