Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Il programma dopo un po' smette di scaricare #883

Open
mollydeep opened this issue Jan 7, 2025 · 63 comments
Open

Il programma dopo un po' smette di scaricare #883

mollydeep opened this issue Jan 7, 2025 · 63 comments
Assignees
Labels
bug Something isn't working

Comments

@mollydeep
Copy link

Ciao.
Scusa ma avrei un problema con il programma. Dopo aver finito di scaricare, se il programma rimane aperto inattivo (senza scaricare), poi se aggiungo altri capitoli, smette di scaricare. Se chiudo e riapro il programma, funziona di nuovo. Ho fatto un video [https://mega.nz/file/vJR0hbxT#fq5B4S8Rt-j1yZ4QIpPF-1TYTQr7p5dpCcRlJDOum_w]. Dai log non si evince nulla (allego il log 1 che è quello di quando non scarica, il 2 è quello dopo aver riavviato il programma).
Qualche idea?
Grazie
jvm_log2.txt
jvm_log1.txt

@mollydeep mollydeep added the bug Something isn't working label Jan 7, 2025
@RedSquirrel87
Copy link
Owner

Per caso hai anche provato a interrompere il download e riprenderlo dalla pulsantiera sulla barra? Non riprende nemmeno in quel caso?

@RedSquirrel87
Copy link
Owner

Ah ok come non detto, ho visto ora il video. Devo controllare bene perché senza avere nulla nel log non saprei proprio da cosa può essere dovuto, devo cercare di replicare il problema

@RedSquirrel87
Copy link
Owner

RedSquirrel87 commented Jan 7, 2025

Mica hai notato se c'è un pattern particolare che porta a questo problema? Tipo aspettare tot secondi, eliminare i download completati, robe così insomma che possono aiutare a replicare sistematicamente il problema

EDIT: ho provato a scaricare 3 capitoli da batoto, lasciato stare per 5 minuti buoni e poi messo in download da Mangadex un altro ed è partito normalmente. Ma questo problema ti è successo solo una volta o più volte? Per capire se è così raro da riprodurre o magari ho capito male io la procedura da seguire per incappare nel problema

@mollydeep
Copy link
Author

mollydeep commented Jan 7, 2025

il problema succede sempre. Ma se lascio il programma aperto senza scaricare per oltre un'ora. Non c'è un pattern. Si verifica sia dopo aver cancellato i file scaricati che senza... Stavo pensando di rifare l'installazione partendo da una pulita. Che dici? Oppure forzare un'altra versione di java.

@RedSquirrel87
Copy link
Owner

Ah quindi si presenta dopo oltre un'ora in cui non scarica nulla? Ecco perché non è facile da riprodurre xD ora ci provo allora a riprodurlo e vedere se mi succede, quindi lasci il download manager attivo ma non scarica effettivamente nulla per oltre un'ora, ho capito bene?
Per la reinstallazione in realtà non credo che risolvi qualcosa, da come me ne parli se succede sempre dopo tutto questo tempo allora potrebbe essere qualcosa relativo magari ad un timeout che usa Java sui thread, forse dopo tot tempo di inattività lo killa automaticamente per liberare risorse. Però sono solo congetture, devo vedere se lo fa anche a me

@mollydeep
Copy link
Author

Una cosa, che magari non c'entra nulla... quando ha aggiornato alla 70.3 mi ha scollegato da Patreon. Ora ho cambiato versione java e mi ha fatto lo stesso scherzo.

@RedSquirrel87
Copy link
Owner

Ma per caso cambi cartella o cancelli il settings.dat? Da qualche versione le preferenze vengono salvate su file e non più nel registro di sistema, quindi non dovrebbe causarti problemi l'aggiornamento se il settings.dat rimane uguale 🤔

@mollydeep
Copy link
Author

mollydeep commented Jan 7, 2025

no. E con gli altri aggiornamenti non era mai successo.

@RedSquirrel87
Copy link
Owner

RedSquirrel87 commented Jan 7, 2025

Ok allora comincio a pensare che in effetti ci possa essere qualcosa che non va con nella tua installazione, la parte dedicata all'account Patreon non la tocco da diverse versioni, quindi non può essere un problema dell'ultima versione soltanto 😅 ma quando dici che ti scollega, significa che all'avvio nel log ti esce proprio scritto che non c'è alcun account Patreon collegato? O l'account risulta ma non te lo riconosce come abbonato? E soprattutto nel log ti da qualche errore quando non ti riconosce più l'account?

@RedSquirrel87
Copy link
Owner

Niente da fare, ho aspettato oltre un'ora col programma aperto e download manager avviato ma provato ad aggiungere nuovi capitoli mi partono tranquillamente :( domani riprovo facendolo stare più a lungo

@mollydeep
Copy link
Author

mollydeep commented Jan 8, 2025

Ok allora comincio a pensare che in effetti ci possa essere qualcosa che non va con nella tua installazione, la parte dedicata all'account Patreon non la tocco da diverse versioni, quindi non può essere un problema dell'ultima versione soltanto 😅 ma quando dici che ti scollega, significa che all'avvio nel log ti esce proprio scritto che non c'è alcun account Patreon collegato? O l'account risulta ma non te lo riconosce come abbonato? E soprattutto nel log ti da qualche errore quando non ti riconosce più l'account?

L'ha fatto solo quando ha aggiornato e quando ho cambiato la versione java. Comunque non è la versione, perchè continua a bloccarsi. Provo a reinstallare. Vediamo se risolvo. Non avendo un debug non capisco...
C'è modo di esportare i preferiti? Mi spiacerebbe perderli...

@RedSquirrel87
Copy link
Owner

Visto che non riesco a riprodurre l'errore qui, facciamo così, questa è una versione aggiornata in cui ti stampa nel log tutto il debug sulla funzione di popolamento del download manager ogni volta che premi il tasto di avvio:
debug.zip
Ho dovuto zipparla perché Github non accetta il formato JAR come allegato, comunque basta che la estrai e metti il file nightly.jar che trovi al suo interno dentro la cartella principale del programma (mi raccomando senza rinominarlo), così facendo avviando il launcher ufficiale lui ti troverà questa nightly e te la lancerà al posto del programma principale.
Provala e quando ti farà il problema clicca un po' di volte sul pulsante di avvio in modo che stampi nel log tutti i dettagli di debug, vediamo se così riusciamo a capire se magari hai qualche parametro che non va.
Per il fatto di Patreon, quando succede ricordati sempre di dare un'occhiata al log per controllare se ti da qualche stack d'errore eventuale oppure se ti dice semplicemente che non c'è alcun account collegato, voglio capire se è un problema di connessione alle API di Patreon oppure non rileva proprio l'eventuale token salvata nelle preferenze.

P.s.: ho notato solo ora che stai usando Linux tu, mica hai installato versioni non ufficiali di Java tipo open-jdk e simili?

@mollydeep
Copy link
Author

mollydeep commented Jan 8, 2025

no, sto usando oracle
java version "22.0.2" 2024-07-16
Java(TM) SE Runtime Environment (build 22.0.2+9-70)
Java HotSpot(TM) 64-Bit Server VM (build 22.0.2+9-70, mixed mode, sharing)
jdk-22.0.2-oracle-x64

@mollydeep
Copy link
Author

All'apertura ha dato lo stesso problema con l'account Patreon e segnala problemi java
jvm_log2.txt

@RedSquirrel87
Copy link
Owner

All'apertura ha dato lo stesso problema con l'account Patreon e segnala problemi java jvm_log2.txt

Sembra che non ti riesca a leggere la data di scadenza della token di Patreon, però da come la riporta nel log a me sembra una normalissima data, non capisco perché non gli piaccia 🤔
Puoi passarmi il tuo file settings.dat? Voglio controllare se viene salvata correttamente al suo interno o magari si corrompe

@RedSquirrel87
Copy link
Owner

Ok ho provato a virtualizzare un Ubuntu e copiando il settings.dat mio che non da errori su Windows invece lì su Linux da effettivamente quell'errore (ho provato con open-jdk io). Quindi è qualcosa di relativo a Linux, ora vedo di fixarlo in qualche modo visto che riesco a riprodurlo questo problema (fra un ora provo anche l'altro problema, che magari pure quello è relativo a Linux soltanto)

@mollydeep
Copy link
Author

Ti ringrazio :)

@RedSquirrel87
Copy link
Owner

Questo problema di Patreon l'ho fixato, in pratica il problema era causato da un carattere non standard per lo spazio tra l'orario e "PM" nel formato della data che la portava a venir mal interpretata su Linux per qualche motivo. Sostituendolo con uno semplice spazio sembra non darmi più errore anche lì, quindi questa almeno è risolta 👍
Per quanto invece riguarda il problema della coda che si interrompe e non avvia più, purtroppo non riesco a riprodurlo nemmeno su Linux io, a questo punto sei l'unico che può debuggare il problema (usando la nightly che ti ho caricato sopra) per vedere se riusciamo a capire dal log se c'è qualcosa che non va

@mollydeep
Copy link
Author

mollydeep commented Jan 8, 2025

Ora non parte neanche lo scarico di nulla. Nè la queue che avevo nè nuovi aggiunti. Fermo completo. intendo già all'apertura.
jvm_log (copia).txt
Solo in quella di debug. All'apertura, quella ufficiale 70.3, funziona

@RedSquirrel87
Copy link
Owner

RedSquirrel87 commented Jan 8, 2025

Aspetta, ma quindi tu provi ad avviare capitoli che ti son rimasti in coda dalla vecchia sessione? Ti ha mai fatto questo problema quando parti senza capitoli in coda caricati da vecchie sessioni?
Per provare senza caricare vecchie sessioni basta che rinomini (o sposti/cancelli) il file jobs.dat, fammi sapere se te lo fa uguale

@RedSquirrel87
Copy link
Owner

Un'altra info: hai attivato per caso nelle impostazione l'opzione esclusiva Patreon per evitare di scaricare capitoli dalle stesse fonti contemporaneamente? Questa per intenderci:
image

@mollydeep
Copy link
Author

mollydeep commented Jan 8, 2025

sì.
Togliendo la spunta funziona. Ora vediamo se lo fa ancora.

@RedSquirrel87
Copy link
Owner

sì. Togliendo la spunta funziona. Ora vediamo se lo fa ancora.

Ottimo, almeno ho un primo indizio su cui operare, grazie per la conferma 👍

@RedSquirrel87
Copy link
Owner

Penso di aver trovato il problema, in alcuni casi specifici quella funzione andava a rimuovere il job da avviare per confrontarlo con un altro in modo da controllare se avevano la stessa fonte, il problema però è che in certi casi l'elemento è unico e quindi non aveva nulla da confrontarlo e usciva dalla funzione senza aggiungerlo nuovamente però alla lista dei download da avviare, quindi rimaneva vuota 😅 ora vedo di riscrivere meglio tutta la funzionalità in modo da gestire questi casi e rilascio un aggiornamento (che includerà anche il fix per Patreon) 👍

@mollydeep
Copy link
Author

Ti ringrazio moltissimo. Sì effettivamente dopo aver tolto il flag, il problema non si è più ripresentato (ho riprovato anche con la 70.3).

@RedSquirrel87
Copy link
Owner

RedSquirrel87 commented Jan 8, 2025

v70.4 rilasciata coi 2 fix, per aggiornare basta che cancelli il file nightly.jar e il launcher tornerà a lanciare la versione normale aggiornandola 👍

@RedSquirrel87
Copy link
Owner

Purtroppo sembra che il fix per Linux non piaccia a Win 11 invece ( #884 ), ho dovuto aggiornare di nuovo per cercare di supportare sia la vecchia versione che la nuova, dammi gentilmente conferma che funziona su Linux quando puoi 👍

@mollydeep
Copy link
Author

Appena torno lo testo.

@mollydeep
Copy link
Author

mollydeep commented Jan 9, 2025

Non ho killato il programma. Però il log te l'ho mandato a programma chiuso.
Ora provo il debug.
Giusto per chiarezza, dopo che non funzionava lo scarico, ho provato a togliere il flag (per vedere se ripartiva) ma niente. Una volta riavviato (sia con flag sia senza) riparte.

@RedSquirrel87
Copy link
Owner

RedSquirrel87 commented Jan 9, 2025

Ora vediamo se con questo debug nuovo riusciamo a tirare fuori il ragno dal buco, visto che sarebbe sicuramente meglio riuscire a identificare e risolvere il problema, ma in extremis proprio male che vada se semplicemente riavviando il programma ti torna a funzionare sempre allora posso aggiungere un pulsante o un comando che chiude il download manager e lo rinizializza da zero, in tal modo potresti ripristinarlo senza dover aver la noia di chiudere e riaprire il programma

@mollydeep
Copy link
Author

È successa una cosa strana. Il cap. che era in queue (che non scaricava) continua a non scaricarmelo. L'ho rimesso in scarico e il secondo lo fa.
jvm_log (copia).txt
Schermata a 2025-01-09 21-35-50

@RedSquirrel87
Copy link
Owner

RedSquirrel87 commented Jan 9, 2025

Ah ma tu intendevi quello che non scaricava? Se è solo quello allora è normale, o meglio, è rimasto buggato lo stato del download di quel capitolo quindi a lui risulta come se fosse già in corso per questo non lo rimette in download correttamente (è il bug che ti dicevo sopra che non dovrebbe mai darlo come "in corso" all'avvio, se succede si è buggato e non si avvierà mai). Quando succede questo sui singoli download basta che lo selezioni, ci clicchi sopra col destro e dal menù a comparsa fai "Reset" e lui andrà a toglierti il buggato e te lo rimette in download automaticamente

@mollydeep
Copy link
Author

Ah ok.

@RedSquirrel87
Copy link
Owner

RedSquirrel87 commented Jan 9, 2025

Ora che me lo hai fatto notare comunque per ovviare a questi casi conviene che metto un controllo su sta cosa al caricamento dei jobs dal dat salvato, qualcosa del tipo che se li dovesse trovare come in "corso" li resetta in automatico. Così anche si buggassero nel salvataggio almeno fixa da solo nel caricamento successivo

@mollydeep
Copy link
Author

mollydeep commented Jan 9, 2025

Bello. Peccato comunque che non funzioni in win 11 perchè era perfetta la versione precedente x linux. Fare due versioni per i due sistemi operativi è troppo incasinato?

@RedSquirrel87
Copy link
Owner

RedSquirrel87 commented Jan 9, 2025

No ma il fatto che non funziona in Win11 era per il bug di Patreon, non questo del download manager (questo qui #884 )

@RedSquirrel87
Copy link
Owner

RedSquirrel87 commented Jan 9, 2025

Su questo bug non c'è differenza tra versione Windows o Linux, usano lo stesso codice entrambi. Probabilmente l'altra volta ti funzionava perché non si era buggato il singolo download salvato su "in corso" così, ma il problema era relativo al precedente bug della funzione esclusiva per gli abbonati (quello corretto nella 70.4 poi, sull'evitare download in contemporanea dalla stessa fonte)

@mollydeep
Copy link
Author

Prima non si bloccava con lo scarico. Non caspisco. La versione 70.4 funzionava sia per patreon che per lo scarico dopo un po' che era aperto.

@RedSquirrel87
Copy link
Owner

RedSquirrel87 commented Jan 9, 2025

Prima non si bloccava con lo scarico. Non caspisco. La versione 70.4 funzionava sia per patreon che per lo scarico dopo un po' che era aperto.

Se ho capito bene, quello che ti dava problemi nella 70.3 era un bug sulla funzione esclusiva Patreon di evitare i download in contemporanea dalla stessa fonte, bug che ho fixato nella 70.4 assieme al bug sul parsing della data nel controllo dell'account Patreon. Questo invece che ti è successo ora è un altro bug diverso, ossia uno dei download (che il programma identifica come job) è rimasto salvato come "In corso", è quello per cui ti chiedevo se avevi killato tu il programma sopra, che è uno stato che non dovrebbe mai rimanere salvato perché alla chiusura, qualora fosse in corso dei download, il programma dovrebbe comunque killarli tutti prima di salvarli nel file .dat, invece a te (nel jobs.dat che mi hai passato) risulta salvato come "in corso" e difatti se lo apro col programma già all'avvio, pur senza avviare il download manager, viene riportato già con lo stato "in corso".
Per farla breve insomma il bug che ti dava problemi nella 70.3 è diverso da quello che ti da problemi ora. Questo ovviamente se il bug che stai riportando con "non scarica" è appunto relativo a quel jobs.dat particolare che mi hai mandato prima

@mollydeep
Copy link
Author

No, aspetta. Il bug che mi da problemi è che dopo un po' che il programma rimane aperto, non scarica più (come nella 70.3) a meno che non riavvii il programma. Questo della coda alla riapertura che non va avanti dev'essere legato a quel bug (questo è nuovo perchè prima,riavviando la coda ripartiva). Praticametne il programma non scarica, bugga la coda e ora, alla riapertura, la coda è buggata.

@RedSquirrel87
Copy link
Owner

RedSquirrel87 commented Jan 9, 2025

Però allora devi essere stato fortunato nella 70.4 a non beccarlo più il problema, perché tra 70.4 e 70.5 io ho cambiato solo la funzione sul parsing della data dell'account Patreon, nulla che abbia a che vedere con la funzione sul download manager che ho fixato nella 70.4, è rimasta identica tra 70.4 e 70.5 quella, quindi non si spiega davvero 🤔
Ma anche ricontrollando il log se vedi quello che ti dava problemi nella 70.3 riportava che il job era null, mentre nell'ultimo log debuggato che mi hai mandato non risulta più alcun job null (che era il bug che ho fixato appunto)

@mollydeep
Copy link
Author

ce l'hai ancora la 70.4? Se sì, me la passi? Domani potrei riprovare a vedere se era un caso

@RedSquirrel87
Copy link
Owner

Puoi riscaricarla da qui: a5c6d39
Ma devi avviarla tramite terminale perché se l'avvii dal launcher ufficiale poi te la aggiorna automaticamente all'avvio.
Per lanciarla da terminale basta che ti sposti nella cartella del programma e dai questo comando:
java -jar latest.jar

@mollydeep
Copy link
Author

sì, sì, era chiaro :)

@mollydeep
Copy link
Author

Ma con questo ultimo debug mantengo non flaggato l'impostazione l'opzione esclusiva Patreon per evitare di scaricare capitoli dalle stesse fonti contemporaneamente? O devo flaggarla?

@RedSquirrel87
Copy link
Owner

Ma con questo ultimo debug mantengo non flaggato l'impostazione l'opzione esclusiva Patreon per evitare di scaricare capitoli dalle stesse fonti contemporaneamente? O devo flaggarla?

Puoi flaggarla senza problemi se vuoi, almeno quella adesso dovrebbe essere stata fixata

@RedSquirrel87
Copy link
Owner

RedSquirrel87 commented Jan 9, 2025

Prova anche a ripartire da una lista pulita, nel senso rinomina il jobs.dat in modo che non lo trovi all'avvio e vedi se così continua a darti il problema, perché su di quello invece c'è un bug sicuro

@mollydeep
Copy link
Author

Ok. Grazie

@RedSquirrel87
Copy link
Owner

Io intanto vedo di farti un'altra nightly dove fixo appunto questo bug sulla lista jobs e vedo di inserirti un comando per resettare il download manager, così poi controlliamo se riesce effettivamente a risolverti il bug senza richiederti il riavvio completo del programma quando succede

@mollydeep
Copy link
Author

Grazie mille.

@RedSquirrel87
Copy link
Owner

Eccola: debug.zip
Ho messo un controllo al caricamento dei jobs che se ne trova qualcuno salvato come "in corso" lo riporta invece correttamente come killato ora. Ricordate che è normale che i killati non partano automaticamente, dovete resettarli con l'apposito comando se volete riavviarli.
Dopodiché ho aggiunto una funzione per reinizializzare il download manager, basta che tieni premuto CTRL sulla tastiera mentre mentre premi il tasto di avvio del download manager, ti salverà i jobs in lista e te li ricaricherà dopo la reinizializzazione (in pratica simulando esattamente come fa alla chiusura e riapertura del programma), se il problema ti persiste prova ad utilizzarla per vedere se ti torna a funzionare senza dover riavviare tutto il programma.
Ovviamente inutile dire sempre di controllare il log dopo eventuali errori, così abbiamo un po' di dati tecnici su cosa sia accaduto e come 👍

@mollydeep
Copy link
Author

Stranamente ora funziona. Dico stranamente perchè si è bloccato solo una volta (e ho usato il CTRL) e ha funzionato. Continuo a testare.
jvm_log.txt

@RedSquirrel87
Copy link
Owner

Ottimo, una cosa importante è comunque che il reset forzato funziona quindi per risbloccare la situazione, almeno quello xD ora dò un'occhiata al log e vedo cosa riporta prima del reset forzato

@mollydeep
Copy link
Author

Grazie

@RedSquirrel87
Copy link
Owner

Ho dato un'occhiata e in effetti c'è una incongruenza, nello specifico un job viene trovato ma non viene avviato:
image
Ora devo capire cosa potrebbe causare questa cosa a livello di codice e soprattutto perché accada dato che non succede sempre

@RedSquirrel87
Copy link
Owner

Ho rilasciato la v70.6 dove ho modificato leggermente la funzione, non ho trovato evidenti problematiche ma comunque ho aggiunto un catch extra che potrebbe aiutare. Ho anche aggiunto una opzione in Extra -> Sistema -> Modalità debug per attivare appunto una modalità debug che stampi nel log quei parametri che prima erano solo nelle versioni nightly, ho pensato che in futuro può tornare sempre utile piuttosto che stare a ricreare versioni apposite ogni volta

@mollydeep
Copy link
Author

Scusa ma sono dovuta partire per lavoro d'urgenza e non potrò testare almeno per una settimana. Al mio ritorno continuo e ti faccio sapere. Grazie mille per il tuo splendido lavoro.

@RedSquirrel87
Copy link
Owner

Ma figurati, non devi mica scusarti ci mancherebbe 👍 grazie a te piuttosto per il supporto che dai al progetto 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants