«script interrotto dopo 2000 ms (ciclo infinito?)» nello scripting di Senzoukria
Ogni script di Senzoukria gira in un worker isolato con un budget di 2 secondi per esecuzione. Uno script che lo supera viene fermato con «script interrotto dopo 2000 ms (ciclo infinito?)»; una sandbox che non è mai partita riporta un messaggio diverso.
Senzoukria · Risoluzione dei problemi · Aggiornato a settembre 2026
In breve
- Timeout
- «script interrotto dopo {ms} ms (ciclo infinito?)»
- Budget
- 2.000 ms per esecuzione
- Sandbox non servita
- «sandbox non disponibile: il protocollo {scheme} non ha servito nulla in {ms} ms (applicazione avviata fuori da Tauri?)»
- Effetto
- Il grafico continua a funzionare; l’esecuzione dello script restituisce un errore
Cosa vedi
La console degli script e la striscia della pipeline mostrano l’esecuzione come fallita con «script interrotto dopo 2000 ms (ciclo infinito?)». Se la sandbox non ha risposto affatto, l’errore è «sandbox non disponibile: il protocollo {scheme} non ha servito nulla in {ms} ms (applicazione avviata fuori da Tauri?)».
Perché succede
Gli script girano in un worker isolato senza rete, senza accesso ai file e senza API del broker. Un’esecuzione che non risponde entro il suo budget viene fermata perché uno script rotto non possa congelare il grafico. Il più delle volte la causa è un ciclo che non finisce mai, o un ciclo su tutte le barre annidato dentro un altro ciclo su tutte le barre. I due guasti restano deliberatamente separati: per due mesi e mezzo, una sandbox che non partiva era stata letta come uno script lento. L’avvio del motore Python è cronometrato a parte e non è contato nel budget di 2 secondi.
Come risolvere
- Cerca i cicli while la cui condizione di uscita può restare falsa, e un contatore che non viene mai aggiornato.
- Sostituisci i cicli annidati su tutte le barre con un solo passaggio che porta dei valori correnti.
- Prova su un intervallo di grafico più corto per vedere se il tempo cresce con il numero di barre.
- Usa l’assistente degli script: può eseguire lo script, leggere l’errore reale e proporre una correzione.
- Per il messaggio sulla sandbox, riavvia l’app; indica che il protocollo della sandbox non ha servito nulla.
Cosa non è
- Non è un crash dell’app: uno script rotto non uccide mai il grafico.
- Non è un errore di sintassi: quelli indicano una riga («Fallito alla riga {line}»).
Quando contattare il supporto
Se dopo questi controlli sei ancora bloccato, scrivi da Menu → Segnala un problema, oppure sul Discord di Senzoukria. Allega uno script minimo che riproduce l’interruzione e indica su quale grafico e su quale intervallo gira.
Pagine correlate
Nella stessa sezione
- Dati locali, non in diretta
- Connetti richiede una password salvata
- Storico crypto incompleto
- Databento richiede una licenza live
- Sistema assente dal gateway
- Caricamento del Replay rifiutato (rp_code 13)
- Questo account accede con Google
- Questa schermata si è interrotta
Questa pagina in altre lingue
Domande frequenti
- Il budget di 2 secondi è per barra o per esecuzione?
- Per esecuzione. La toolchain C++ indica lo stesso limite: 2 s per esecuzione, con le 256 barre più recenti per chiamata.
- Gli script Python hanno lo stesso budget?
- La loro esecuzione segue le stesse regole della sandbox; solo l’avvio del motore Python è cronometrato fuori dal budget di 2 secondi.