Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] gRPC errors cause unexpected behavior #108

Open
MathNodes opened this issue Oct 16, 2024 · 0 comments
Open

[BUG] gRPC errors cause unexpected behavior #108

MathNodes opened this issue Oct 16, 2024 · 0 comments

Comments

@MathNodes
Copy link
Owner

On 10/10/2024, users experienced random behavior of Meile. The issue was unexpected gRPC errors which caused Subscriptions not to load among other unexpected behavior within the app. Below is the output from some of the errors we witnessed:

1. Loading Subscriptions:

Geting Subscriptions... sent1ar4xg0rwml60ef7v8lp25ush89fqr4hn9396aa
E1011 00:27:57.855953204 2538919 ssl_transport_security.cc:1519]       Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
 Exception in thread Thread-6 (<lambda>):
 Traceback (most recent call last):
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/meile310/lib/python3.10/site-packages/sentinel_sdk/sdk.py", line 26, in __init__
     self.__create_and_verify_channel(grpcaddr, grpcport, ssl=ssl)
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/meile310/lib/python3.10/site-packages/sentinel_sdk/sdk.py", line 58, in __create_and_verify_channel
     tmp_stub(cosmos_reflection_v1beta1_reflection_pb2.ListAllInterfacesRequest())
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/meile310/lib/python3.10/site-packages/grpc/_channel.py", line 1176, in __call__
     return _end_unary_response_blocking(state, call, False, None)
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/meile310/lib/python3.10/site-packages/grpc/_channel.py", line 1005, in _end_unary_response_blocking
     raise _InactiveRpcError(state)  # pytype: disable=not-instantiable
 grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
 	status = StatusCode.UNAVAILABLE
 	details = "failed to connect to all addresses; last error: UNKNOWN: ipv4:148.113.16.39:443: Ssl handshake failed: SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER"
 	debug_error_string = "UNKNOWN:Error received from peer  {grpc_message:"failed to connect to all addresses; last error: UNKNOWN: ipv4:148.113.16.39:443: Ssl handshake failed: SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER", grpc_status:14, created_time:"2024-10-11T00:27:57.856512134-04:00"}"
 >
 
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
   File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
     self.run()
   File "/usr/lib/python3.10/threading.py", line 953, in run
     self._target(*self._args, **self._kwargs)
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/src/ui/screens.py", line 1644, in <lambda>
     t = Thread(target=lambda: self.NodeTree.get_subscriptions(self.address))
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/src/cli/sentinel.py", line 426, in get_subscriptions
     sdk = SDKInstance(grpcaddr, int(grpcport), ssl=True)
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/meile310/lib/python3.10/site-packages/sentinel_sdk/sdk.py", line 28, in __init__
     raise ConnectionError("gRPC endpoint is invalid or not responding")
 ConnectionError: gRPC endpoint is invalid or not responding

2. Subscribing to Node:

 Traceback (most recent call last):
   File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
     self.run()
   File "/usr/lib/python3.10/threading.py", line 953, in run
     self._target(*self._args, **self._kwargs)
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/src/ui/widgets.py", line 1477, in <lambda>
     t = Thread(target=lambda: hwf.subscribe(KEYNAME, sub_node[1], deposit, sub_node[3], sub_node[4]))
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/src/cli/wallet.py", line 447, in subscribe
     balance = self.get_balance(sdk._account.address)
 UnboundLocalError: local variable 'sdk' referenced before assignment
[INFO   ] [Base        ] Leaving application in progress...
 Traceback (most recent call last):
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/meile310/bin/meile-gui", line 33, in <module>
     sys.exit(load_entry_point('meile-gui', 'console_scripts', 'meile-gui')())
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/src/main/meile_gui.py", line 6, in main
     meilethread = Thread(target=Meile.app.run())
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/meile310/lib/python3.10/site-packages/kivy/app.py", line 956, in run
     runTouchApp()
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/meile310/lib/python3.10/site-packages/kivy/base.py", line 574, in runTouchApp
     EventLoop.mainloop()
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/meile310/lib/python3.10/site-packages/kivy/base.py", line 339, in mainloop
     self.idle()
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/meile310/lib/python3.10/site-packages/kivy/base.py", line 379, in idle
     Clock.tick()
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/meile310/lib/python3.10/site-packages/kivy/clock.py", line 733, in tick
     self.post_idle(ts, self.idle())
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/meile310/lib/python3.10/site-packages/kivy/clock.py", line 776, in post_idle
     self._process_events()
   File "kivy/_clock.pyx", line 620, in kivy._clock.CyClockBase._process_events
   File "kivy/_clock.pyx", line 653, in kivy._clock.CyClockBase._process_events
   File "kivy/_clock.pyx", line 649, in kivy._clock.CyClockBase._process_events
   File "kivy/_clock.pyx", line 218, in kivy._clock.ClockEvent.tick
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/meile310/lib/python3.10/site-packages/kivyoav/delayed.py", line 14, in <lambda>
     Clock.schedule_once(lambda dt: _apply(g), timeout=timeout)
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/meile310/lib/python3.10/site-packages/kivyoav/delayed.py", line 13, in _apply
     for timeout in g:
   File "/home/freQniK/eclipse-workspace/Meile-GUI-FIAT/src/ui/widgets.py", line 1486, in subscribe
     if hwf.returncode[0]:
 AttributeError: 'HandleWalletFunctions' object has no attribute 'returncode'

For 1. a temporary fix was made via 7027df0

Other users reported gRPC reporting 404 errors. Strange.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant