I added code a little while back that is supposed to catch the connection error exception.  Are you sure you are running the latest code? 

Graham


On Thu, Jan 17, 2019, 8:53 AM <op25@zellners.com wrote:

Trying to report an bug/issue, but

https://github.com/boatbod/op25/issues doesn't work, goes to wrong 
place, and there is no link on the main page of it.

BUG: Program dies due to uncaught exception

Details:

When updating the metadata/"tags" to IceCast, if the connection has 
died for some reason, LAN goes down, what ever... There is an uncaught 
exception which will kill OP25 running.

1547434556.069343 set tgid=53, srcaddr=0
Exception in thread Thread-4:
Traceback (most recent call last):
   File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
     self.run()
   File "/home/pi/op25/op25/gr-op25_repeater/apps/icemeta.py", line 60, in run
     self.send_metadata(self.msg.to_string())
   File "/home/pi/op25/op25/gr-op25_repeater/apps/icemeta.py", line 
77, in send_metadata
     r = requests.get((requestToSend), auth=("source",self.cfg['icecastPass']))
   File "/usr/lib/python2.7/dist-packages/requests/api.py", line 70, in get
     return request('get', url, params=params, **kwargs)
   File "/usr/lib/python2.7/dist-packages/requests/api.py", line 56, in request
     return session.request(method=method, url=url, **kwargs)
   File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 
488, in request
     resp = self.send(prep, **send_kwargs)
   File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 
609, in send
     r = adapter.send(request, **kwargs)
   File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 
487, in send
     raise ConnectionError(e, request=request)
ConnectionError: HTTPConnectionPool(host='audio.myserver.net', 
port=8000): Max retries exceeded with url: 
/admin/metadata?mount=/RedactedFeed&mode=updinfo&song=[idle] (Caused 
by 
NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection 
object at 0x691bc8d0>: Failed to establish a new connection: [Errno 
110] Connection timed out',))


This is not about an issue with the connection, there was, and 
eventually led to the Pi being replaced as faulty or melted down from 
use of OP25 :) ;)

If the max retries is exceeded or any error where the update fails, it 
shouldn't kill OP25 from running...

Glad to add to the issues section of github, but see top part, for 
some reason its not there. (??????)