crash parziale del plugin own

20 views
Skip to first unread message

alberto mengoli

unread,
Mar 21, 2017, 4:14:47 AM3/21/17
to Freedomotic - IoT and Smart Spaces Framework
Ciao a tutti,
mentre facevo altri test per confermare la scomparsa di freeze, mi sono imbattuto in una ulteriore possibile causa di mascheramento dell'ottimo fix di Ubaldo, oltre alla possibile perdita di frame del plugin own.
La mia configurazione di test utilizza una copia di freedomotic 5.6.0-153 con plugin openwebnet, ipcamera motion, bot-telegram, mailer, MaryTTS, oltre agli standard in dotazione. A questi ho sostituito il plugin del jfrontend con quello fixato per il bug freeze e il plugin own con la versione ultima (eliminare la possibile perdita di frame nel monitor comandi openwebnet).
Il sistema e' stato lanciato in finestra per rilevare eventuali messaggi di errore di ActivMQ e gira senza sosta da ieri pomeriggio su notebook, che ad una certa ora e' entrato in stand by per il classico risparmio energetico.
Arrivo al punto: mentre ieri sera tutto ha funzionato al meglio, questa mattina sembrava ricomparso freeze (mancato adeguamento dello status delle icone se il framework girava nella tray), con freedomotic in generale funzionante. Ad una analisi piu' fine risultava un blocco del monitor log del plugin own (come da immagine) con ultima data riportata il 20/03/2017 h 22:04:32 che starebbe ad indicare un parziale crash del plugin own e fredomotic funzionante.
Possiamo dire che freeze sia scomparso, ma forse abbiamo un emulatore che lo simula molto bene. Allego immagini; ciao, Alberto


log_fr_rc3_163nofreeze_ownprob.rtf

alberto mengoli

unread,
Mar 21, 2017, 4:34:05 AM3/21/17
to Freedomotic - IoT and Smart Spaces Framework
PS dopo aver resettato il framework, il test che questa mattina aveva fallito, ha funzionato a dovere ed il monitor log del plugin own funziona normalmente; non ho provato facendo stop e riavvio del solo plugin openwebnet; appena posso....

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Freedomotic - IoT and Smart Spaces Framework" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a freedomotic-it+unsubscribe@googlegroups.com.
Per postare in questo gruppo, invia un'email a freedomotic-it@googlegroups.com.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/freedomotic-it/e7b69e28-3d64-4d31-b88b-7d42fabf3382%40googlegroups.com.
Per altre opzioni visita https://groups.google.com/d/optout.

Mauro Cicolella

unread,
Mar 21, 2017, 6:44:03 AM3/21/17
to Freedomotic - IoT and Smart Spaces Framework
Diciamo che la modalità di "risparmio energetico" non è auspicabile per un sistema che dovrebbe funzionare h/24 perchè non appena il pc va in letargo non consente più di monitorare l'ambiente, inviare notifiche ed eseguire comandi.
Ciò non toglie che si debbano investigare questi comportamenti strani.

Mauro

alberto mengoli

unread,
Mar 21, 2017, 4:44:34 PM3/21/17
to Mauro Cicolella, Freedomotic - IoT and Smart Spaces Framework
Ciao, 
concordo; infatti sto cercando di mettere insieme un sistema da tenere sempre acceso per il collaudo sul campo ;) tanto per intenderci, non penso che i problemi siano dei plugin, ma del modo problematico con cui a volte il framework reagisce all'uscita dallo stand by causato da eventi vari. Domanda: sarebbe possibile intercettare l'evento "uscita dallo stand by" e resettare i plugin attivi? Magari ci liberiamo anche di questo bug fantasma simil-freeze! Fattibile? Ciao, Alberto

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Freedomotic - IoT and Smart Spaces Framework" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a freedomotic-it+unsubscribe@googlegroups.com.
Per postare in questo gruppo, invia un'email a freedomotic-it@googlegroups.com.

alberto mengoli

unread,
Mar 23, 2017, 10:54:40 AM3/23/17
to Mauro Cicolella, Freedomotic - IoT and Smart Spaces Framework
Ciao a tutti,
@Mauro e @Ubaldo, scusate la mia insistenza, ma ci tengo ad un vostro parere su questa cosa. Premesso che quello che ha detto Mauro e' sacrosanto, alla fine dei conti, un bug e' un bug e l'unico bug buono e' quello eliminato. Per cui formulando il quesito un po' meno bovinamente:
- 1 l'evento uscita dalla tray e uscita dallo stand by (di qualunque causa) sono assimilabili?
- 2 eventualmente e' possibile impostare un trigger di default che intercetti l'evento e vada ad incidere sulla variabile presumibilmente booleana che regola lo stato di attivita' dei vari plugin solo sugli attivi? Cioe' con variabile impostata a true?
- 3 nei plugin attivi e' possibile resettare il plugin? Cioe' passare da statopluginattivo=true a false e poi di nuovo a true dopo alcuni secondi?
Perche' questo tipo di intervento potrebbe fare benissimo al bot-telegram plugin e al own plugin in caso di uscita da stand by e risolvere radicalmente il problema di questo simil freeze.
Scusate per la lunghezza del post; ciao, Alberto

Per postare in questo gruppo, invia un'email a freedom...@googlegroups.com.

Mauro Cicolella

unread,
Mar 24, 2017, 5:48:23 AM3/24/17
to Freedomotic - IoT and Smart Spaces Framework
@Alberto sinceramente non saprei risponderti nel senso che non ho mai affrontato la questione.
Credo comunque che non sia direttamente gestibile da Java. Ma potrei sbagliarmi.
Facendo una ricerca sul mitico stackoverflow ho trovato una discussione al riguardo, un po' datata e riferita a Linux, ma che in qualche modo conferma quanto dicevo.
Bisognerebbe ricavare le informazioni di stato direttamente dal sistema operativo, quindi con modalità diverse tra Linux, Windows & C. e poi notificarle in qualche modo al programma Java.
Ammesso di trovare la soluzione sarebbe richiesto un intervento dell'utente per la configurazione (e non tutti sono in grado di farlo) e poi bisognerebbe valutare l'impatto sulle performance.
In ultima analisi bisogna capire se il gioco vale la candela o se non sia più semplice dire all'utente che se desidera usare il pc come server domotico (a parte i consumi che non andrebbero sottovalutati) deve disabilitare la modalità di risparmio energetico e l'ibernazione del sistema.

Lascio la replica a chi è più esperto di me.
Mauro

Il giorno martedì 21 marzo 2017 09:14:47 UTC+1, alberto mengoli ha scritto:

alberto mengoli

unread,
Mar 25, 2017, 4:57:45 AM3/25/17
to Mauro Cicolella, Freedomotic - IoT and Smart Spaces Framework
Cao,
@Mauro grazie per il parere, ma forse questo particolare evento potrebbe essere piu' rintracciabile dato che comporta blocco e riavvio della JVM e quindi di tutto l'ambiente emulato; magari provova scavare un po' e vi faccio sapere. Alberto

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Freedomotic - IoT and Smart Spaces Framework" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a freedomotic-it+unsubscribe@googlegroups.com.
Per postare in questo gruppo, invia un'email a freedomotic-it@googlegroups.com.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/freedomotic-it/11be7686-1d27-4df1-8c1c-5e36cc0d4299%40googlegroups.com.

alberto mengoli

unread,
Mar 25, 2017, 9:46:07 PM3/25/17
to Mauro Cicolella, Freedomotic - IoT and Smart Spaces Framework
Ciao,
Secondo questa discussione su stackoverflow http://stackoverflow.com/questions/914666/how-to-capture-system-exit-event esiste il metodo Runtime.addShutdownHook che intecetta l'uscita dalla JVM; se ne esiste uno anche per segnarne l'avvio anzi il riavvio, direi che siamo a cavallo. Ciao, Alberto

Per postare in questo gruppo, invia un'email a freedom...@googlegroups.com.

alberto mengoli

unread,
Mar 26, 2017, 5:14:52 AM3/26/17
to Mauro Cicolella, Freedomotic - IoT and Smart Spaces Framework
Ciao,
A dire il vero forse il suddetto metodo e' sufficiente: basta impostare a true una variabile globale quando la JVM va in shutdown e al riavvio in base al suo valore, resettare plugin attivi e variabile. A.
Reply all
Reply to author
Forward
0 new messages