PeterGrace / py_arris_exporter

A prometheus exporter for Arris SB6183 cablemodems
8 stars 5 forks source link

UnboundLocalError: local variable 'rs' referenced before assignment #3

Closed cypherstream closed 4 years ago

cypherstream commented 4 years ago

I got this to work fine for a few weeks but after a reboot the application will no longer start on Ubuntu LTS 20.04

UnboundLocalError: local variable 'rs' referenced before assignment

user@grafana:~/py_arris_exporter$ py_arris_exporter INFO:main:Starting http server. DEBUG:dogpile.cache.region:No value present for key: 'py_arris_exporter.handler:process|' DEBUG:dogpile.lock:NeedRegenerationException DEBUG:dogpile.lock:no value, waiting for create lock DEBUG:dogpile.lock:value creation lock <dogpile.cache.region.CacheRegion._LockWrapper object at 0x7f50310cbe50> acquired DEBUG:dogpile.cache.region:No value present for key: 'py_arris_exporter.handler:process|' DEBUG:dogpile.lock:Calling creation function for not-yet-present value DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.100.1:80 ERROR:main:exception: HTTPConnectionPool(host='192.168.100.1', port=80): Max retries exceeded with url: /RgConnect.asp (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f5031070f70>: Failed to establish a new connection: [Errno 101] Network is unreachable')) DEBUG:dogpile.lock:Released creation lock

Exception happened during processing of request from ('127.0.0.1', 37106) Traceback (most recent call last): File "/usr/lib/python3.8/socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/usr/lib/python3.8/socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.8/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.8/socketserver.py", line 720, in init self.handle() File "/usr/lib/python3.8/http/server.py", line 427, in handle self.handle_one_request() File "/usr/lib/python3.8/http/server.py", line 415, in handle_one_request method() File "/home/user/py_arris_exporter/py_arris_exporter/server.py", line 12, in do_GET self.respond() File "/home/user/py_arris_exporter/py_arris_exporter/server.py", line 22, in respond data = process() File "", line 2, in process File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 1359, in get_or_create_for_user_func return self.get_or_create( File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 957, in get_or_create with Lock( File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 185, in enter return self._enter() File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 94, in _enter generated = self._enter_create(value, createdtime) File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 178, in _enter_create return self.creator() File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 915, in gen_value created_value = creator( File "/home/user/py_arris_exporter/py_arris_exporter/handler.py", line 22, in process html = re.sub(r'(\r|\n|\t)', '', rs.text) UnboundLocalError: local variable 'rs' referenced before assignment

DEBUG:dogpile.cache.region:No value present for key: 'py_arris_exporter.handler:process|' DEBUG:dogpile.lock:NeedRegenerationException DEBUG:dogpile.lock:no value, waiting for create lock DEBUG:dogpile.lock:value creation lock <dogpile.cache.region.CacheRegion._LockWrapper object at 0x7f50310cbd90> acquired DEBUG:dogpile.cache.region:No value present for key: 'py_arris_exporter.handler:process|' DEBUG:dogpile.lock:Calling creation function for not-yet-present value DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.100.1:80 ERROR:main:exception: HTTPConnectionPool(host='192.168.100.1', port=80): Max retries exceeded with url: /RgConnect.asp (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f5031070610>: Failed to establish a new connection: [Errno 101] Network is unreachable')) DEBUG:dogpile.lock:Released creation lock

Exception happened during processing of request from ('192.168.5.13', 51235) Traceback (most recent call last): File "/usr/lib/python3.8/socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/usr/lib/python3.8/socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.8/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.8/socketserver.py", line 720, in init self.handle() File "/usr/lib/python3.8/http/server.py", line 427, in handle self.handle_one_request() File "/usr/lib/python3.8/http/server.py", line 415, in handle_one_request method() File "/home/user/py_arris_exporter/py_arris_exporter/server.py", line 12, in do_GET self.respond() File "/home/user/py_arris_exporter/py_arris_exporter/server.py", line 22, in respond data = process() File "", line 2, in process File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 1359, in get_or_create_for_user_func return self.get_or_create( File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 957, in get_or_create with Lock( File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 185, in enter return self._enter() File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 94, in _enter generated = self._enter_create(value, createdtime) File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 178, in _enter_create return self.creator() File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 915, in gen_value created_value = creator( File "/home/user/py_arris_exporter/py_arris_exporter/handler.py", line 22, in process html = re.sub(r'(\r|\n|\t)', '', rs.text) UnboundLocalError: local variable 'rs' referenced before assignment

DEBUG:dogpile.cache.region:No value present for key: 'py_arris_exporter.handler:process|' DEBUG:dogpile.lock:NeedRegenerationException DEBUG:dogpile.lock:no value, waiting for create lock DEBUG:dogpile.lock:value creation lock <dogpile.cache.region.CacheRegion._LockWrapper object at 0x7f50310cbd90> acquired DEBUG:dogpile.cache.region:No value present for key: 'py_arris_exporter.handler:process|' DEBUG:dogpile.lock:Calling creation function for not-yet-present value DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.100.1:80 ERROR:main:exception: HTTPConnectionPool(host='192.168.100.1', port=80): Max retries exceeded with url: /RgConnect.asp (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f5030fd1b50>: Failed to establish a new connection: [Errno 101] Network is unreachable')) DEBUG:dogpile.lock:Released creation lock

Exception happened during processing of request from ('192.168.5.13', 51239) Traceback (most recent call last): File "/usr/lib/python3.8/socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/usr/lib/python3.8/socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.8/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.8/socketserver.py", line 720, in init self.handle() File "/usr/lib/python3.8/http/server.py", line 427, in handle self.handle_one_request() File "/usr/lib/python3.8/http/server.py", line 415, in handle_one_request method() File "/home/user/py_arris_exporter/py_arris_exporter/server.py", line 12, in do_GET self.respond() File "/home/user/py_arris_exporter/py_arris_exporter/server.py", line 22, in respond data = process() File "", line 2, in process File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 1359, in get_or_create_for_user_func return self.get_or_create( File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 957, in get_or_create with Lock( File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 185, in enter return self._enter() File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 94, in _enter generated = self._enter_create(value, createdtime) File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 178, in _enter_create return self.creator() File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 915, in gen_value created_value = creator( File "/home/user/py_arris_exporter/py_arris_exporter/handler.py", line 22, in process html = re.sub(r'(\r|\n|\t)', '', rs.text) UnboundLocalError: local variable 'rs' referenced before assignment

DEBUG:dogpile.cache.region:No value present for key: 'py_arris_exporter.handler:process|' DEBUG:dogpile.lock:NeedRegenerationException DEBUG:dogpile.lock:no value, waiting for create lock DEBUG:dogpile.lock:value creation lock <dogpile.cache.region.CacheRegion._LockWrapper object at 0x7f50310cbd90> acquired DEBUG:dogpile.cache.region:No value present for key: 'py_arris_exporter.handler:process|' DEBUG:dogpile.lock:Calling creation function for not-yet-present value DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.100.1:80 ERROR:main:exception: HTTPConnectionPool(host='192.168.100.1', port=80): Max retries exceeded with url: /RgConnect.asp (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f5030fdd760>: Failed to establish a new connection: [Errno 101] Network is unreachable')) DEBUG:dogpile.lock:Released creation lock

Exception happened during processing of request from ('192.168.5.13', 51240) Traceback (most recent call last): File "/usr/lib/python3.8/socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/usr/lib/python3.8/socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.8/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.8/socketserver.py", line 720, in init self.handle() File "/usr/lib/python3.8/http/server.py", line 427, in handle self.handle_one_request() File "/usr/lib/python3.8/http/server.py", line 415, in handle_one_request method() File "/home/user/py_arris_exporter/py_arris_exporter/server.py", line 12, in do_GET self.respond() File "/home/user/py_arris_exporter/py_arris_exporter/server.py", line 22, in respond data = process() File "", line 2, in process File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 1359, in get_or_create_for_user_func return self.get_or_create( File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 957, in get_or_create with Lock( File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 185, in enter return self._enter() File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 94, in _enter generated = self._enter_create(value, createdtime) File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 178, in _enter_create return self.creator() File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 915, in gen_value created_value = creator( File "/home/user/py_arris_exporter/py_arris_exporter/handler.py", line 22, in process html = re.sub(r'(\r|\n|\t)', '', rs.text) UnboundLocalError: local variable 'rs' referenced before assignment

DEBUG:dogpile.cache.region:No value present for key: 'py_arris_exporter.handler:process|' DEBUG:dogpile.lock:NeedRegenerationException DEBUG:dogpile.lock:no value, waiting for create lock DEBUG:dogpile.lock:value creation lock <dogpile.cache.region.CacheRegion._LockWrapper object at 0x7f50310cbd90> acquired DEBUG:dogpile.cache.region:No value present for key: 'py_arris_exporter.handler:process|' DEBUG:dogpile.lock:Calling creation function for not-yet-present value DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.100.1:80 ERROR:main:exception: HTTPConnectionPool(host='192.168.100.1', port=80): Max retries exceeded with url: /RgConnect.asp (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f5030fe6370>: Failed to establish a new connection: [Errno 101] Network is unreachable')) DEBUG:dogpile.lock:Released creation lock

Exception happened during processing of request from ('192.168.5.13', 51251) Traceback (most recent call last): File "/usr/lib/python3.8/socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/usr/lib/python3.8/socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.8/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.8/socketserver.py", line 720, in init self.handle() File "/usr/lib/python3.8/http/server.py", line 427, in handle self.handle_one_request() File "/usr/lib/python3.8/http/server.py", line 415, in handle_one_request method() File "/home/user/py_arris_exporter/py_arris_exporter/server.py", line 12, in do_GET self.respond() File "/home/user/py_arris_exporter/py_arris_exporter/server.py", line 22, in respond data = process() File "", line 2, in process File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 1359, in get_or_create_for_user_func return self.get_or_create( File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 957, in get_or_create with Lock( File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 185, in enter return self._enter() File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 94, in _enter generated = self._enter_create(value, createdtime) File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 178, in _enter_create return self.creator() File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 915, in gen_value created_value = creator( File "/home/user/py_arris_exporter/py_arris_exporter/handler.py", line 22, in process html = re.sub(r'(\r|\n|\t)', '', rs.text) UnboundLocalError: local variable 'rs' referenced before assignment

DEBUG:dogpile.cache.region:No value present for key: 'py_arris_exporter.handler:process|' DEBUG:dogpile.lock:NeedRegenerationException DEBUG:dogpile.lock:no value, waiting for create lock DEBUG:dogpile.lock:value creation lock <dogpile.cache.region.CacheRegion._LockWrapper object at 0x7f50310cbd90> acquired DEBUG:dogpile.cache.region:No value present for key: 'py_arris_exporter.handler:process|' DEBUG:dogpile.lock:Calling creation function for not-yet-present value DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.100.1:80 ERROR:main:exception: HTTPConnectionPool(host='192.168.100.1', port=80): Max retries exceeded with url: /RgConnect.asp (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f5030fd1c40>: Failed to establish a new connection: [Errno 101] Network is unreachable')) DEBUG:dogpile.lock:Released creation lock

Exception happened during processing of request from ('127.0.0.1', 37108) Traceback (most recent call last): File "/usr/lib/python3.8/socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/usr/lib/python3.8/socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.8/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.8/socketserver.py", line 720, in init self.handle() File "/usr/lib/python3.8/http/server.py", line 427, in handle self.handle_one_request() File "/usr/lib/python3.8/http/server.py", line 415, in handle_one_request method() File "/home/user/py_arris_exporter/py_arris_exporter/server.py", line 12, in do_GET self.respond() File "/home/user/py_arris_exporter/py_arris_exporter/server.py", line 22, in respond data = process() File "", line 2, in process File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 1359, in get_or_create_for_user_func return self.get_or_create( File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 957, in get_or_create with Lock( File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 185, in enter return self._enter() File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 94, in _enter generated = self._enter_create(value, createdtime) File "/home/user/.local/lib/python3.8/site-packages/dogpile/lock.py", line 178, in _enter_create return self.creator() File "/home/user/.local/lib/python3.8/site-packages/dogpile/cache/region.py", line 915, in gen_value created_value = creator( File "/home/user/py_arris_exporter/py_arris_exporter/handler.py", line 22, in process html = re.sub(r'(\r|\n|\t)', '', rs.text) UnboundLocalError: local variable 'rs' referenced before assignment

cypherstream commented 4 years ago

So everything was graphing on my local network (192.168.5.0/24)in grafana... Unifi equipment, pfsense, etc... I then wanted to traceroute and i needed to install it with apt-get install, but that failed to contact server. Pinged google and some other sites, nothing. Turns out I didn't have a default gateway after I rebooted the VM!

$ sudo ip route add default via 192.168.5.1 $ traceroute 192.168.100.1 traceroute to 192.168.100.1 (192.168.100.1), 64 hops max 1 192.168.5.1 0.522ms 0.509ms 0.528ms 2 192.168.100.1 1.296ms 0.715ms 0.940ms $ service py_arris_exporter start

Closed. The confusing error message output did not lead me down that path.