KamoCRM

Root non poteva leggere il tempo di un membro, quindi niente mai dormito

FixKlusterServices
Shipped
23 settembre 2026 alle ore 19:23 UTC
Author
Kamo
Commit
06f8b1c

Il primo computer ha riferito il suo tempo di inattività come 13.9, poi 29.2, poi 14.4 secondi su tre minuti mentre nessuno lo toccava. Questa non è una persona — è una segatooth cotta dal sondaggio di trenta secondi intervallo, ed è ciò che sondaggio() fa quando nessun display risponderà: illeggibile conta come ACTIVE e last active è spinto ad ora su ogni passaggio. L'agente corre come root e il display X appartiene al membro, che non è qualcosa X è rilassato circa. xprintidle è stato invocato con DISPLAY e nessun XAUTHORITY, così il display ha rifiutato, è uscito non-zero, e il valore di ritorno era Nessuno. Ogni sondaggio. Per sempre. Quindi il timeout inattivo non potrebbe mai sparare su qualsiasi computer. La prontezza dell'ibernazione era il bug davanti esso; questo era dietro di esso, e avrebbe tenuto ogni macchina sveglio anche una volta la prontezza si avverò. Il cookie viene letto dal processo Xorg che serve il display, tramite `-auth` sulla sua riga di comando. xorgxrdp passa che RELATIVE alla casa della sessione, quindi un percorso nudo viene risolto attraverso il processo proprio /proc/ <pid>/cwd piuttosto che indovinato dal nome utente — il processo già sa, e una casa directory che non è sotto /home avrebbe fatto un errore di indovinare. Illeggibile non è più silenzioso, e questo conta più della correzione: pins un computer sveglio, quindi ora dice quale display rifiutato, che xprintidle stampato, e che XAUTHORITY è stato provato — una volta per visualizzazione e ragione, non una volta per sondaggio. stderr stava andando a DEVNULL, motivo per cui tre separati sessioni di lavoro non l'hanno mai visto. Cinque test, tra cui la risoluzione relativa e il comportamento di log-once.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing