gateway restart 5번 해도 복구 안 됨3가지 문제가 동시에 발생하는 복합 장애:
sendChatAction failed: Network request for 'sendChatAction' failed!
fetch fallback: enabling sticky IPv4-only dispatcher (codes=ETIMEDOUT,EHOSTUNREACH)
Telegram getUpdates conflict: 409: Conflict: terminated by other getUpdates request
getUpdates 호출하면 게이트웨이 polling과 충돌probeTelegram() (health check)이 별도 TCP 연결 생성Step 1: 모든 getUpdates 세션 강제 종료
# 1. 게이트웨이 완전 정지
openclaw gateway stop
# 2. 남은 프로세스 확인 & 강제 종료
ps aux | grep openclaw | grep -v grep
kill -9 $(pgrep -f "openclaw")
# 3. Telegram 측 getUpdates 연결 초기화 (중요!)
# deleteWebhook + drop_pending_updates로 서버 측 연결 정리
curl -s "https://api.telegram.org/bot<BOT_TOKEN>/deleteWebhook?drop_pending_updates=true"
# 4. 10초 대기 (서버 측 long-poll 연결 타임아웃)
sleep 10
# 5. getUpdates 클린 상태 확인 (빈 배열이면 정상)
curl -s "https://api.telegram.org/bot<BOT_TOKEN>/getUpdates?timeout=1" | python3 -m json.tool
Step 2: IPv4 강제 + 소켓 풀 리셋
# openclaw.json 수정
# ~/.openclaw/openclaw.json 에서 telegram 섹션:
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "<TOKEN>",
"network": {
"autoSelectFamily": false
}
}
}
}
Step 3: fetch.timeout 줄이기 (409 자기강화 루프 방지)
# 이것은 런타임 패치가 필요함. 임시 환경변수로:
export OPENCLAW_TELEGRAM_POLL_TIMEOUT=10
Step 4: 게이트웨이 클린 스타트
# 게이트웨이 재시작
openclaw gateway start
# 로그 확인 — "starting provider" 이후 getUpdates 활동이 있어야 함
openclaw logs --tail 30 --filter telegram
Step 5: 테스트
# 텔레그램으로 테스트 메시지 전송
# 로그에 inbound message 표시되는지 확인
# 30초 내 응답이 와야 정상
# 2026.3.23-2에서 이 버그가 보고됨 → 2026.3.24에서 수정 가능성 확인
openclaw update
# 업데이트 후 Step 1-5 반복
이 에러로 삽질 시: 약 50,000~100,000 토큰 소비 (gateway restart 반복, 설정 변경 시행착오) 이 해결법 참조 시: 약 1,000 토큰