Re: Script python se termina cateodata cu "Exception in thread Thread-1 (most likely raised during interpreter shutdown):"

Mihai Osian <[email protected]>
Newsgroups gmane.org.user-groups.rlug.offtopic
Message-ID <[email protected]>
On 01/09/2017 10:22 AM, Paul Lacatus (Personal) wrote:
> LA multi ani pe 2017!
>
> Am o intrebare cu referire la un programel python care ruleaza pe un
> Raspberry pi  .  Programelul este lansat la fiecare minut din Crontab .
> Job-ul lui este sa citeasca date dintr-un device pe MODBUS RTU sa le
> stocheze intr-un fisier si apoi sa le transmita catre un Broker MQTT (
> mosquitto) folosind paho_mqtt .  Din cand in cand , cam 50% din cazuri ,
> se termina cu exceptia "Exception in thread Thread-1 (most likely raised
> during interpreter shutdown):" . Nu pare sa afecteze functionalitatea
> scriptului desi   datele in brokerul MQTT nu par a ajunge chiar toate
> dar inca nu stiu pe cine sa dau vina , Raspberry pi e conectat la
> reteaua GPRS Vodafone cu un stick de date .
>
> Mai intii vreau sa inteleg ce inseamna exceptia respctiva , pentru ca nu
> m-am lamurit pe ce am gasit pe net .
>
> Apoi sa vad cum testez mai in detaliu comunicatia cu MQTT
>
> _______________________________________________

   Habar n-am cu ce se mananca mosquitto, dar probleme gen "exception 
during shutdown" imi suna familiar. As sugera sa verifici daca scriptul 
face cleanup la libraria MQTT inainte sa se termine. E posibil sa  ai un 
race-condition intre threadul principal si ala/alea din bucataria 
interna MQTT. Threadul principal se termina si cheama diverse rutine de 
clean-up (de exemplu distruge shared memory segments, file descriptors, 
whatever), fara sa stie despre sau sa astepte threadul muncitor din 
background. Threadul din background incearca sa acceseze oarice resursa 
care a disparut si crapa. Deci: verifica daca ai inchis toate 
conexiunile si oprit background processing loops, sau daca orice rutina 
de initializare pe care o foloseste scriptul are si o pereche (absenta) 
care ar trebui sa faca cleanup.

Hth,
Mihai
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.