Skip to content

OperationalError: disk I/O error #347

Closed as not planned
Closed as not planned

Description

@gisce-ti-sentry

Sentry Issue: GAB-14

OperationalError: disk I/O error
(1 additional frame(s) were not displayed)
...
  File "github_agent_bridge/executor.py", line 667, in _desired_worker_count
    desired = self.queue.executor_worker_count(fallback)
  File "github_agent_bridge/queue.py", line 621, in executor_worker_count
    return self.state.executor_worker_count(default)
  File "github_agent_bridge/persistence/state.py", line 109, in executor_worker_count
    raw = self.get(EXECUTOR_WORKER_COUNT_STATE_KEY, str(default))
  File "github_agent_bridge/persistence/state.py", line 61, in get
    return self._get(con, key, default)
  File "github_agent_bridge/persistence/state.py", line 117, in _get
    row = con.execute("SELECT value FROM state WHERE key=?", (key,)).fetchone()

OperationalError: disk I/O error
(5 additional frame(s) were not displayed)
...
  File "github-agent-bridge", line 6, in <module>
    sys.exit(main())

This issue was automatically created by Sentry via Github Issue

Activity

  1. giscebot commented on Nov 11, 2026

    @giscebot
    Collaborator

    Diagnòstic completat: #347 és un altre símptoma del mateix incident de filesystem exhaurit que #344, no un defecte independent de StateRepository.get() ni del resize de l’executor.

    El journal de producció confirma la seqüència a les 16:12:28–16:12:31 UTC:

    1. fallen tres commits SQLite amb database or disk is full;
    2. dos segons després, la lectura d’executor_worker_count falla amb disk I/O error;
    3. l’excepció surt del bucle principal, el procés acaba amb codi 1 i systemd el reinicia deu segons després.

    Aquest camí ja és fail-closed. Capturar l’error i retornar el valor per defecte amagaria una pèrdua de durabilitat, així que no afegeixo cap patch específic aquí. Les correccions complementàries continuen sent:

    Estat comprovat ara: executor actiu, cap nou database or disk is full ni disk I/O error després de la recuperació, i PRAGMA quick_check retorna ok. El risc operatiu, però, continua obert a #344: /dev/sdb encara marca 100% amb només 2.092.572.672 bytes lliures, i el CI del HEAD actual de #350 encara és a la cua.

    Tanco #347 com a duplicat simptomàtic de #344; no s’ha de considerar resolt l’incident operatiu fins que hi hagi capacitat duradora, deploy dels fixes i una finestra d’observació neta.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions