blitz_api
blitz_api copied to clipboard
[RaspiBlitz v1.12.0] API throwing exceptions
Running the latest dev branch of the API while developing RaspiBlitz v1.12.0 with Bitcoin Core 29 & LND 0.18.5 .. seeing the following exceptions in the logs:
May 16 16:44:16 raspberrypi python[994]: 2025-05-16 16:44:16 | ❌ | service.py:136 | Blockchain Info or Network Info not available: None None
May 16 16:44:16 raspberrypi python[994]: 2025-05-16 16:44:16 | ❌ | service.py:210 | Unable to get blockchain or network data. See the log files for more information
May 16 16:44:18 raspberrypi python[994]: 2025-05-16 16:44:18 | ❌ | service.py:132 | An error has been caught in function 'get_btc_info', process 'MainProcess' (994), thread 'MainThread' (547776595712):
May 16 16:44:18 raspberrypi python[994]: Traceback (most recent call last):
May 16 16:44:18 raspberrypi python[994]: File "<frozen runpy>", line 198, in _run_module_as_main
May 16 16:44:18 raspberrypi python[994]: File "<frozen runpy>", line 88, in _run_code
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/uvicorn/__main__.py", line 4, in <module>
May 16 16:44:18 raspberrypi python[994]: uvicorn.main()
May 16 16:44:18 raspberrypi python[994]: │ └ <Command main>
May 16 16:44:18 raspberrypi python[994]: └ <module 'uvicorn' from '/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/uvicorn/__init__.py'>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/click/core.py", line 1161, in __call__
May 16 16:44:18 raspberrypi python[994]: return self.main(*args, **kwargs)
May 16 16:44:18 raspberrypi python[994]: │ │ │ └ {}
May 16 16:44:18 raspberrypi python[994]: │ │ └ ()
May 16 16:44:18 raspberrypi python[994]: │ └ <function BaseCommand.main at 0x7f88b00a40>
May 16 16:44:18 raspberrypi python[994]: └ <Command main>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/click/core.py", line 1082, in main
May 16 16:44:18 raspberrypi python[994]: rv = self.invoke(ctx)
May 16 16:44:18 raspberrypi python[994]: │ │ └ <click.core.Context object at 0x7f89866f10>
May 16 16:44:18 raspberrypi python[994]: │ └ <function Command.invoke at 0x7f88b01620>
May 16 16:44:18 raspberrypi python[994]: └ <Command main>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/click/core.py", line 1443, in invoke
May 16 16:44:18 raspberrypi python[994]: return ctx.invoke(self.callback, **ctx.params)
May 16 16:44:18 raspberrypi python[994]: │ │ │ │ │ └ {'port': 11111, 'host': '0.0.0.0', 'root_path': '/api', 'app': 'app.main:app', 'uds': None, 'fd': None, 'reload': False, 'rel...
May 16 16:44:18 raspberrypi python[994]: │ │ │ │ └ <click.core.Context object at 0x7f89866f10>
May 16 16:44:18 raspberrypi python[994]: │ │ │ └ <function main at 0x7f88894720>
May 16 16:44:18 raspberrypi python[994]: │ │ └ <Command main>
May 16 16:44:18 raspberrypi python[994]: │ └ <function Context.invoke at 0x7f88adbba0>
May 16 16:44:18 raspberrypi python[994]: └ <click.core.Context object at 0x7f89866f10>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/click/core.py", line 788, in invoke
May 16 16:44:18 raspberrypi python[994]: return __callback(*args, **kwargs)
May 16 16:44:18 raspberrypi python[994]: │ └ {'port': 11111, 'host': '0.0.0.0', 'root_path': '/api', 'app': 'app.main:app', 'uds': None, 'fd': None, 'reload': False, 'rel...
May 16 16:44:18 raspberrypi python[994]: └ ()
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/uvicorn/main.py", line 413, in main
May 16 16:44:18 raspberrypi python[994]: run(
May 16 16:44:18 raspberrypi python[994]: └ <function run at 0x7f88b52e80>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/uvicorn/main.py", line 580, in run
May 16 16:44:18 raspberrypi python[994]: server.run()
May 16 16:44:18 raspberrypi python[994]: │ └ <function Server.run at 0x7f889bc540>
May 16 16:44:18 raspberrypi python[994]: └ <uvicorn.server.Server object at 0x7f88b4cc90>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/uvicorn/server.py", line 66, in run
May 16 16:44:18 raspberrypi python[994]: return asyncio.run(self.serve(sockets=sockets))
May 16 16:44:18 raspberrypi python[994]: │ │ │ │ └ None
May 16 16:44:18 raspberrypi python[994]: │ │ │ └ <function Server.serve at 0x7f889bc5e0>
May 16 16:44:18 raspberrypi python[994]: │ │ └ <uvicorn.server.Server object at 0x7f88b4cc90>
May 16 16:44:18 raspberrypi python[994]: │ └ <function run at 0x7f88fc0cc0>
May 16 16:44:18 raspberrypi python[994]: └ <module 'asyncio' from '/usr/lib/python3.11/asyncio/__init__.py'>
May 16 16:44:18 raspberrypi python[994]: File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run
May 16 16:44:18 raspberrypi python[994]: return runner.run(main)
May 16 16:44:18 raspberrypi python[994]: │ │ └ <coroutine object Server.serve at 0x7f88851120>
May 16 16:44:18 raspberrypi python[994]: │ └ <function Runner.run at 0x7f88da0540>
May 16 16:44:18 raspberrypi python[994]: └ <asyncio.runners.Runner object at 0x7f8889b750>
May 16 16:44:18 raspberrypi python[994]: File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run
May 16 16:44:18 raspberrypi python[994]: return self._loop.run_until_complete(task)
May 16 16:44:18 raspberrypi python[994]: │ │ │ └ <Task pending name='Task-1' coro=<Server.serve() running at /home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/uvicor...
May 16 16:44:18 raspberrypi python[994]: │ │ └ <cyfunction Loop.run_until_complete at 0x7f8886f6b0>
May 16 16:44:18 raspberrypi python[994]: │ └ <uvloop.Loop running=True closed=False debug=False>
May 16 16:44:18 raspberrypi python[994]: └ <asyncio.runners.Runner object at 0x7f8889b750>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/app/bitcoind/service.py", line 204, in _handle_gather_bitcoin_status
May 16 16:44:18 raspberrypi python[994]: info = await get_btc_info()
May 16 16:44:18 raspberrypi python[994]: └ <function get_btc_info at 0x7f85cbe020>
May 16 16:44:18 raspberrypi python[994]: > File "/home/blitzapi/blitz_api/app/bitcoind/service.py", line 132, in get_btc_info
May 16 16:44:18 raspberrypi python[994]: binfo = await get_blockchain_info()
May 16 16:44:18 raspberrypi python[994]: └ <function get_blockchain_info at 0x7f85cbd120>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/app/bitcoind/service.py", line 68, in get_blockchain_info
May 16 16:44:18 raspberrypi python[994]: raise HTTPException(result["status"], detail=result["error"])
May 16 16:44:18 raspberrypi python[994]: │ │ └ {'jsonrpc': '2.0', 'error': {'code': -28, 'message': 'Verifying blocks…'}, 'id': 16}
May 16 16:44:18 raspberrypi python[994]: │ └ {'jsonrpc': '2.0', 'error': {'code': -28, 'message': 'Verifying blocks…'}, 'id': 16}
May 16 16:44:18 raspberrypi python[994]: └ <class 'fastapi.exceptions.HTTPException'>
May 16 16:44:18 raspberrypi python[994]: KeyError: 'status'
May 16 16:44:18 raspberrypi python[994]:
May 16 16:44:18 raspberrypi python[994]: 2025-05-16 16:44:18 | ❌ | service.py:133 | An error has been caught in function 'get_btc_info', process 'MainProcess' (994), thread 'MainThread' (547776595712):
May 16 16:44:18 raspberrypi python[994]: Traceback (most recent call last):
May 16 16:44:18 raspberrypi python[994]: File "<frozen runpy>", line 198, in _run_module_as_main
May 16 16:44:18 raspberrypi python[994]: File "<frozen runpy>", line 88, in _run_code
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/uvicorn/__main__.py", line 4, in <module>
May 16 16:44:18 raspberrypi python[994]: uvicorn.main()
May 16 16:44:18 raspberrypi python[994]: │ └ <Command main>
May 16 16:44:18 raspberrypi python[994]: └ <module 'uvicorn' from '/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/uvicorn/__init__.py'>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/click/core.py", line 1161, in __call__
May 16 16:44:18 raspberrypi python[994]: return self.main(*args, **kwargs)
May 16 16:44:18 raspberrypi python[994]: │ │ │ └ {}
May 16 16:44:18 raspberrypi python[994]: │ │ └ ()
May 16 16:44:18 raspberrypi python[994]: │ └ <function BaseCommand.main at 0x7f88b00a40>
May 16 16:44:18 raspberrypi python[994]: └ <Command main>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/click/core.py", line 1082, in main
May 16 16:44:18 raspberrypi python[994]: rv = self.invoke(ctx)
May 16 16:44:18 raspberrypi python[994]: │ │ └ <click.core.Context object at 0x7f89866f10>
May 16 16:44:18 raspberrypi python[994]: │ └ <function Command.invoke at 0x7f88b01620>
May 16 16:44:18 raspberrypi python[994]: └ <Command main>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/click/core.py", line 1443, in invoke
May 16 16:44:18 raspberrypi python[994]: return ctx.invoke(self.callback, **ctx.params)
May 16 16:44:18 raspberrypi python[994]: │ │ │ │ │ └ {'port': 11111, 'host': '0.0.0.0', 'root_path': '/api', 'app': 'app.main:app', 'uds': None, 'fd': None, 'reload': False, 'rel...
May 16 16:44:18 raspberrypi python[994]: │ │ │ │ └ <click.core.Context object at 0x7f89866f10>
May 16 16:44:18 raspberrypi python[994]: │ │ │ └ <function main at 0x7f88894720>
May 16 16:44:18 raspberrypi python[994]: │ │ └ <Command main>
May 16 16:44:18 raspberrypi python[994]: │ └ <function Context.invoke at 0x7f88adbba0>
May 16 16:44:18 raspberrypi python[994]: └ <click.core.Context object at 0x7f89866f10>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/click/core.py", line 788, in invoke
May 16 16:44:18 raspberrypi python[994]: return __callback(*args, **kwargs)
May 16 16:44:18 raspberrypi python[994]: │ └ {'port': 11111, 'host': '0.0.0.0', 'root_path': '/api', 'app': 'app.main:app', 'uds': None, 'fd': None, 'reload': False, 'rel...
May 16 16:44:18 raspberrypi python[994]: └ ()
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/uvicorn/main.py", line 413, in main
May 16 16:44:18 raspberrypi python[994]: run(
May 16 16:44:18 raspberrypi python[994]: └ <function run at 0x7f88b52e80>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/uvicorn/main.py", line 580, in run
May 16 16:44:18 raspberrypi python[994]: server.run()
May 16 16:44:18 raspberrypi python[994]: │ └ <function Server.run at 0x7f889bc540>
May 16 16:44:18 raspberrypi python[994]: └ <uvicorn.server.Server object at 0x7f88b4cc90>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/uvicorn/server.py", line 66, in run
May 16 16:44:18 raspberrypi python[994]: return asyncio.run(self.serve(sockets=sockets))
May 16 16:44:18 raspberrypi python[994]: │ │ │ │ └ None
May 16 16:44:18 raspberrypi python[994]: │ │ │ └ <function Server.serve at 0x7f889bc5e0>
May 16 16:44:18 raspberrypi python[994]: │ │ └ <uvicorn.server.Server object at 0x7f88b4cc90>
May 16 16:44:18 raspberrypi python[994]: │ └ <function run at 0x7f88fc0cc0>
May 16 16:44:18 raspberrypi python[994]: └ <module 'asyncio' from '/usr/lib/python3.11/asyncio/__init__.py'>
May 16 16:44:18 raspberrypi python[994]: File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run
May 16 16:44:18 raspberrypi python[994]: return runner.run(main)
May 16 16:44:18 raspberrypi python[994]: │ │ └ <coroutine object Server.serve at 0x7f88851120>
May 16 16:44:18 raspberrypi python[994]: │ └ <function Runner.run at 0x7f88da0540>
May 16 16:44:18 raspberrypi python[994]: └ <asyncio.runners.Runner object at 0x7f8889b750>
May 16 16:44:18 raspberrypi python[994]: File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run
May 16 16:44:18 raspberrypi python[994]: return self._loop.run_until_complete(task)
May 16 16:44:18 raspberrypi python[994]: │ │ │ └ <Task pending name='Task-1' coro=<Server.serve() running at /home/blitzapi/blitz_api/venv/lib/python3.11/site-packages/uvicor...
May 16 16:44:18 raspberrypi python[994]: │ │ └ <cyfunction Loop.run_until_complete at 0x7f8886f6b0>
May 16 16:44:18 raspberrypi python[994]: │ └ <uvloop.Loop running=True closed=False debug=False>
May 16 16:44:18 raspberrypi python[994]: └ <asyncio.runners.Runner object at 0x7f8889b750>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/app/bitcoind/service.py", line 204, in _handle_gather_bitcoin_status
May 16 16:44:18 raspberrypi python[994]: info = await get_btc_info()
May 16 16:44:18 raspberrypi python[994]: └ <function get_btc_info at 0x7f85cbe020>
May 16 16:44:18 raspberrypi python[994]: > File "/home/blitzapi/blitz_api/app/bitcoind/service.py", line 133, in get_btc_info
May 16 16:44:18 raspberrypi python[994]: ninfo = await get_network_info()
May 16 16:44:18 raspberrypi python[994]: └ <function get_network_info at 0x7f85cbd8a0>
May 16 16:44:18 raspberrypi python[994]: File "/home/blitzapi/blitz_api/app/bitcoind/service.py", line 103, in get_network_info
May 16 16:44:18 raspberrypi python[994]: raise HTTPException(result["status"], detail=result["error"])
May 16 16:44:18 raspberrypi python[994]: │ │ └ {'jsonrpc': '2.0', 'error': {'code': -28, 'message': 'Verifying blocks…'}, 'id': 17}
May 16 16:44:18 raspberrypi python[994]: │ └ {'jsonrpc': '2.0', 'error': {'code': -28, 'message': 'Verifying blocks…'}, 'id': 17}
May 16 16:44:18 raspberrypi python[994]: └ <class 'fastapi.exceptions.HTTPException'>
May 16 16:44:18 raspberrypi python[994]: KeyError: 'status'
May 16 16:44:18 raspberrypi python[994]:
May 16 16:44:18 raspberrypi python[994]: 2025-05-16 16:44:18 | ❌ | service.py:136 | Blockchain Info or Network Info not available: None None
May 16 16:44:18 raspberrypi python[994]: 2025-05-16 16:44:18 | ❌ | service.py:210 | Unable to get blockchain or network data. See the log files for more information
May 16 16:44:24 raspberrypi python[994]: 2025-05-16 16:44:24 | ℹ️ | lnd_grpc.py:173 | Wallet is locked. Unlock by calling /lightning/unlock-wallet
May 16 17:22:45 raspberrypi python[994]: 2025-05-16 17:22:45 | ✅ | lnd_grpc.py:287 | Initialization complete.
This error popping up while bitcoin core is verifying blocks:
raise HTTPException(result["status"], detail=result["error"])
May 18 17:09:59 raspberrypi python[1046]: │ │ └ {'jsonrpc': '2.0', 'error': {'code': -28, 'message': 'Verifying blocks…'}, 'id': 13}
May 18 17:09:59 raspberrypi python[1046]: │ └ {'jsonrpc': '2.0', 'error': {'code': -28, 'message': 'Verifying blocks…'}, 'id': 13}
May 18 17:09:59 raspberrypi python[1046]: └ <class 'fastapi.exceptions.HTTPException'>
I'll add code to detect this and keep the initialization phase a little longer.