ruvnet/ruflo · error
[GUPP] Session timeout detected - possible crash
Error message
[GUPP] Session timeout detected - possible crash
What it means
Crash heuristic in GuppAdapter.checkForCrash(): the GUPP session's lastActiveAt is older than sessionTimeout, so the adapter infers the remote process crashed or hung. Recovery metadata is updated and a reconnect/recovery cycle follows.
Source
Thrown at v3/plugins/gastown-bridge/src/gupp/adapter.ts:539
private stopCrashDetection(): void {
if (this.crashCheckTimer) {
clearInterval(this.crashCheckTimer);
this.crashCheckTimer = null;
}
}
private async checkForCrash(): Promise<void> {
if (!this.state.session?.active) {
return;
}
const now = Date.now();
const lastActive = this.state.session.lastActiveAt.getTime();
const elapsed = now - lastActive;
if (elapsed > this.config.sessionTimeout) {
// Session appears to have crashed
console.warn('[GUPP] Session timeout detected - possible crash');
// Update recovery metadata
this.state = {
...this.state,
recovery: {
...this.state.recovery,
lastCrash: new Date(),
crashCount: (this.state.recovery?.crashCount ?? 0) + 1,
autoRecoverEnabled: this.state.recovery?.autoRecoverEnabled ?? true,
},
updatedAt: new Date(),
};
await this.persistState(this.state);
}
// Touch session to indicate we're still alive
this.state = touchSession(this.state);View on GitHub (pinned to fa13ee4ad6)
Solutions
- Check the gupp session process for crashes or hangs; inspect its logs around the timeout.
- Increase the session timeout if legitimate operations exceed it.
- Ensure heartbeat/keepalive from the session is functioning so idle-but-alive sessions are not flagged.
Defensive patterns
Strategy: retry
When it happens
Trigger: GUPP session produces no activity past the session timeout window; interpreted as a possible crashed or wedged remote process, prompting cleanup/reconnect logic.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18).
Data as JSON: /api/errors/3fcfc88b612a6f38.
Report an issue: GitHub.