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

ALAS Infinite Looping on Performance Test (macOS 15.1.1/Bluestacks Air) #4496

Open
4 tasks done
hexione opened this issue Jan 7, 2025 · 1 comment
Open
4 tasks done
Labels
bug / 缺陷 Something isn't working fixed awaiting feedback / 已修复等待反馈 Issue fixed but need user feedback as hard to reproduce

Comments

@hexione
Copy link

hexione commented Jan 7, 2025

Before you asking

  • I have searched the existing issues
  • I spend at least 5 minutes for thinking and preparing
  • I checked Frequently Asked Questions (FAQ) in Wiki page
  • I am using the latest version of Alas

Describe the bug

When running Performance Test, ALAS says atx-agent has something wrong, and attempts to auto recover. It then attemps to "Forward: local:tcp:55097 -> remote:tcp:7912" 10 times before aborting.

To Reproduce

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

No response

Relevant log output

│ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/urllib3/ │
         │ connectionpool.py:537 in _make_request                        │
         │                                                               │
         │    535 │   │   # Receive the response from the server         │
         │    536 │   │   try:                                           │
         │ ❱  537 │   │   │   response = conn.getresponse()              │
         │    538 │   │   except (BaseSSLError, OSError) as e:           │
         │    539 │   │   │   self._raise_timeout(err=e, url=url, timeou │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │                   body = None                             │ │
         │ │                chunked = False                            │ │
         │ │                   conn = <urllib3.connection.HTTPConnect… │ │
         │ │                          object at 0x7fd51089d510>        │ │
         │ │         decode_content = False                            │ │
         │ │ enforce_content_length = True                             │ │
         │ │                headers = {'User-Agent':                   │ │
         │ │                          'python-requests/2.31.0',        │ │
         │ │                          'Accept-Encoding': 'gzip,        │ │
         │ │                          deflate', 'Accept': '*/*',       │ │
         │ │                          'Connection': 'keep-alive'}      │ │
         │ │                 method = 'GET'                            │ │
         │ │        preload_content = False                            │ │
         │ │           read_timeout = None                             │ │
         │ │          response_conn = <urllib3.connection.HTTPConnect… │ │
         │ │                          object at 0x7fd51089d510>        │ │
         │ │                retries = Retry(total=0, connect=None,     │ │
         │ │                          read=False, redirect=None,       │ │
         │ │                          status=None)                     │ │
         │ │                   self = <urllib3.connectionpool.HTTPCon… │ │
         │ │                          object at 0x7fd510965710>        │ │
         │ │                timeout = Timeout(connect=None, read=None, │ │
         │ │                          total=None)                      │ │
         │ │            timeout_obj = Timeout(connect=None, read=None, │ │
         │ │                          total=None)                      │ │
         │ │                    url = '/version'                       │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/urllib3/ │
         │ connection.py:461 in getresponse                              │
         │                                                               │
         │   459 │   │                                                   │
         │   460 │   │   # Get the response from http.client.HTTPConnect │
         │ ❱ 461 │   │   httplib_response = super().getresponse()        │
         │   462 │   │                                                   │
         │   463 │   │   try:                                            │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │    __class__ = <class                                     │ │
         │ │                'urllib3.connection.HTTPConnection'>       │ │
         │ │ HTTPResponse = <class 'urllib3.response.HTTPResponse'>    │ │
         │ │ resp_options = _ResponseOptions(request_method='GET',     │ │
         │ │                request_url='/version',                    │ │
         │ │                preload_content=False,                     │ │
         │ │                decode_content=False,                      │ │
         │ │                enforce_content_length=True)               │ │
         │ │         self = <urllib3.connection.HTTPConnection object  │ │
         │ │                at 0x7fd51089d510>                         │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/http/client.py:1344 in │
         │ getresponse                                                   │
         │                                                               │
         │   1342 │   │   try:                                           │
         │   1343 │   │   │   try:                                       │
         │ ❱ 1344 │   │   │   │   response.begin()                       │
         │   1345 │   │   │   except ConnectionError:                    │
         │   1346 │   │   │   │   self.close()                           │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │ response = <http.client.HTTPResponse object at            │ │
         │ │            0x7fd51089d390>                                │ │
         │ │     self = <urllib3.connection.HTTPConnection object at   │ │
         │ │            0x7fd51089d510>                                │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/http/client.py:306 in  │
         │ begin                                                         │
         │                                                               │
         │    304 │   │   # read until we get a non-100 response         │
         │    305 │   │   while True:                                    │
         │ ❱  306 │   │   │   version, status, reason = self._read_statu │
         │    307 │   │   │   if status != CONTINUE:                     │
         │    308 │   │   │   │   break                                  │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │ self = <http.client.HTTPResponse object at                │ │
         │ │        0x7fd51089d390>                                    │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/http/client.py:275 in  │
         │ _read_status                                                  │
         │                                                               │
         │    273 │   │   │   # Presumably, the server closed the connec │
         │    274 │   │   │   # sending a valid response.                │
         │ ❱  275 │   │   │   raise RemoteDisconnected("Remote end close │
         │    276 │   │   │   │   │   │   │   │   │    " response")      │
         │    277 │   │   try:                                           │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │ line = ''                                                 │ │
         │ │ self = <http.client.HTTPResponse object at                │ │
         │ │        0x7fd51089d390>                                    │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         ╰───────────────────────────────────────────────────────────────╯
         RemoteDisconnected: Remote end closed connection without response
                                                                          
         During handling of the above exception, another exception        
         occurred:                                                        
                                                                          
         ╭────────────── Traceback (most recent call last) ──────────────╮
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/requests │
         │ /adapters.py:497 in send                                      │
         │                                                               │
         │   495 │   │   │   │   retries=self.max_retries,               │
         │   496 │   │   │   │   timeout=timeout,                        │
         │ ❱ 497 │   │   │   │   chunked=chunked,                        │
         │   498 │   │   │   )                                           │
         │   499                                                         │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │    cert = None                                            │ │
         │ │ chunked = False                                           │ │
         │ │    conn = <urllib3.connectionpool.HTTPConnectionPool      │ │
         │ │           object at 0x7fd510965710>                       │ │
         │ │ proxies = OrderedDict()                                   │ │
         │ │ request = <PreparedRequest [GET]>                         │ │
         │ │    self = <requests.adapters.HTTPAdapter object at        │ │
         │ │           0x7fd510965990>                                 │ │
         │ │  stream = False                                           │ │
         │ │ timeout = Timeout(connect=None, read=None, total=None)    │ │
         │ │     url = '/version'                                      │ │
         │ │  verify = True                                            │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/urllib3/ │
         │ connectionpool.py:846 in urlopen                              │
         │                                                               │
         │    844 │   │   │                                              │
         │    845 │   │   │   retries = retries.increment(               │
         │ ❱  846 │   │   │   │   method, url, error=new_e, _pool=self,  │
         │    847 │   │   │   )                                          │
         │    848 │   │   │   retries.sleep()                            │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │     assert_same_host = False                              │ │
         │ │                 body = None                               │ │
         │ │             body_pos = None                               │ │
         │ │              chunked = False                              │ │
         │ │           clean_exit = False                              │ │
         │ │                 conn = None                               │ │
         │ │       decode_content = False                              │ │
         │ │   destination_scheme = None                               │ │
         │ │                  err = None                               │ │
         │ │              headers = {'User-Agent':                     │ │
         │ │                        'python-requests/2.31.0',          │ │
         │ │                        'Accept-Encoding': 'gzip,          │ │
         │ │                        deflate', 'Accept': '*/*',         │ │
         │ │                        'Connection': 'keep-alive'}        │ │
         │ │ http_tunnel_required = False                              │ │
         │ │               method = 'GET'                              │ │
         │ │                new_e = ProtocolError('Connection          │ │
         │ │                        aborted.',                         │ │
         │ │                        RemoteDisconnected('Remote end     │ │
         │ │                        closed connection without          │ │
         │ │                        response'))                        │ │
         │ │           parsed_url = Url(scheme=None, auth=None,        │ │
         │ │                        host=None, port=None,              │ │
         │ │                        path='/version', query=None,       │ │
         │ │                        fragment=None)                     │ │
         │ │         pool_timeout = None                               │ │
         │ │      preload_content = False                              │ │
         │ │             redirect = False                              │ │
         │ │         release_conn = False                              │ │
         │ │    release_this_conn = True                               │ │
         │ │        response_conn = <urllib3.connection.HTTPConnection │ │
         │ │                        object at 0x7fd51089d510>          │ │
         │ │          response_kw = {}                                 │ │
         │ │              retries = Retry(total=0, connect=None,       │ │
         │ │                        read=False, redirect=None,         │ │
         │ │                        status=None)                       │ │
         │ │                 self = <urllib3.connectionpool.HTTPConne… │ │
         │ │                        object at 0x7fd510965710>          │ │
         │ │              timeout = Timeout(connect=None, read=None,   │ │
         │ │                        total=None)                        │ │
         │ │          timeout_obj = Timeout(connect=None, read=None,   │ │
         │ │                        total=None)                        │ │
         │ │                  url = '/version'                         │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/urllib3/ │
         │ util/retry.py:470 in increment                                │
         │                                                               │
         │   468 │   │   │   # Read retry?                               │
         │   469 │   │   │   if read is False or method is None or not s │
         │ ❱ 470 │   │   │   │   raise reraise(type(error), error, _stac │
         │   471 │   │   │   elif read is not None:                      │
         │   472 │   │   │   │   read -= 1                               │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │             _pool = <urllib3.connectionpool.HTTPConnecti… │ │
         │ │                     object at 0x7fd510965710>             │ │
         │ │       _stacktrace = <traceback object at 0x7fd5301d0fa0>  │ │
         │ │             cause = 'unknown'                             │ │
         │ │           connect = None                                  │ │
         │ │             error = ProtocolError('Connection aborted.',  │ │
         │ │                     RemoteDisconnected('Remote end closed │ │
         │ │                     connection without response'))        │ │
         │ │            method = 'GET'                                 │ │
         │ │             other = None                                  │ │
         │ │              read = False                                 │ │
         │ │          redirect = None                                  │ │
         │ │ redirect_location = None                                  │ │
         │ │          response = None                                  │ │
         │ │              self = Retry(total=0, connect=None,          │ │
         │ │                     read=False, redirect=None,            │ │
         │ │                     status=None)                          │ │
         │ │            status = None                                  │ │
         │ │      status_count = None                                  │ │
         │ │             total = -1                                    │ │
         │ │               url = '/version'                            │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/urllib3/ │
         │ util/util.py:38 in reraise                                    │
         │                                                               │
         │   36 │   try:                                                 │
         │   37 │   │   if value.__traceback__ is not tb:                │
         │ ❱ 38 │   │   │   raise value.with_traceback(tb)               │
         │   39 │   │   raise value                                      │
         │   40 │   finally:                                             │
         │                                                               │
         │ ╭────────────────────── locals ──────────────────────╮        │
         │ │    tb = None                                       │        │
         │ │    tp = <class 'urllib3.exceptions.ProtocolError'> │        │
         │ │ value = None                                       │        │
         │ ╰────────────────────────────────────────────────────╯        │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/urllib3/ │
         │ connectionpool.py:803 in urlopen                              │
         │                                                               │
         │    801 │   │   │   │   preload_content=preload_content,       │
         │    802 │   │   │   │   decode_content=decode_content,         │
         │ ❱  803 │   │   │   │   **response_kw,                         │
         │    804 │   │   │   )                                          │
         │    805                                                        │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │     assert_same_host = False                              │ │
         │ │                 body = None                               │ │
         │ │             body_pos = None                               │ │
         │ │              chunked = False                              │ │
         │ │           clean_exit = False                              │ │
         │ │                 conn = None                               │ │
         │ │       decode_content = False                              │ │
         │ │   destination_scheme = None                               │ │
         │ │                  err = None                               │ │
         │ │              headers = {'User-Agent':                     │ │
         │ │                        'python-requests/2.31.0',          │ │
         │ │                        'Accept-Encoding': 'gzip,          │ │
         │ │                        deflate', 'Accept': '*/*',         │ │
         │ │                        'Connection': 'keep-alive'}        │ │
         │ │ http_tunnel_required = False                              │ │
         │ │               method = 'GET'                              │ │
         │ │                new_e = ProtocolError('Connection          │ │
         │ │                        aborted.',                         │ │
         │ │                        RemoteDisconnected('Remote end     │ │
         │ │                        closed connection without          │ │
         │ │                        response'))                        │ │
         │ │           parsed_url = Url(scheme=None, auth=None,        │ │
         │ │                        host=None, port=None,              │ │
         │ │                        path='/version', query=None,       │ │
         │ │                        fragment=None)                     │ │
         │ │         pool_timeout = None                               │ │
         │ │      preload_content = False                              │ │
         │ │             redirect = False                              │ │
         │ │         release_conn = False                              │ │
         │ │    release_this_conn = True                               │ │
         │ │        response_conn = <urllib3.connection.HTTPConnection │ │
         │ │                        object at 0x7fd51089d510>          │ │
         │ │          response_kw = {}                                 │ │
         │ │              retries = Retry(total=0, connect=None,       │ │
         │ │                        read=False, redirect=None,         │ │
         │ │                        status=None)                       │ │
         │ │                 self = <urllib3.connectionpool.HTTPConne… │ │
         │ │                        object at 0x7fd510965710>          │ │
         │ │              timeout = Timeout(connect=None, read=None,   │ │
         │ │                        total=None)                        │ │
         │ │          timeout_obj = Timeout(connect=None, read=None,   │ │
         │ │                        total=None)                        │ │
         │ │                  url = '/version'                         │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/urllib3/ │
         │ connectionpool.py:537 in _make_request                        │
         │                                                               │
         │    535 │   │   # Receive the response from the server         │
         │    536 │   │   try:                                           │
         │ ❱  537 │   │   │   response = conn.getresponse()              │
         │    538 │   │   except (BaseSSLError, OSError) as e:           │
         │    539 │   │   │   self._raise_timeout(err=e, url=url, timeou │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │                   body = None                             │ │
         │ │                chunked = False                            │ │
         │ │                   conn = <urllib3.connection.HTTPConnect… │ │
         │ │                          object at 0x7fd51089d510>        │ │
         │ │         decode_content = False                            │ │
         │ │ enforce_content_length = True                             │ │
         │ │                headers = {'User-Agent':                   │ │
         │ │                          'python-requests/2.31.0',        │ │
         │ │                          'Accept-Encoding': 'gzip,        │ │
         │ │                          deflate', 'Accept': '*/*',       │ │
         │ │                          'Connection': 'keep-alive'}      │ │
         │ │                 method = 'GET'                            │ │
         │ │        preload_content = False                            │ │
         │ │           read_timeout = None                             │ │
         │ │          response_conn = <urllib3.connection.HTTPConnect… │ │
         │ │                          object at 0x7fd51089d510>        │ │
         │ │                retries = Retry(total=0, connect=None,     │ │
         │ │                          read=False, redirect=None,       │ │
         │ │                          status=None)                     │ │
         │ │                   self = <urllib3.connectionpool.HTTPCon… │ │
         │ │                          object at 0x7fd510965710>        │ │
         │ │                timeout = Timeout(connect=None, read=None, │ │
         │ │                          total=None)                      │ │
         │ │            timeout_obj = Timeout(connect=None, read=None, │ │
         │ │                          total=None)                      │ │
         │ │                    url = '/version'                       │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/urllib3/ │
         │ connection.py:461 in getresponse                              │
         │                                                               │
         │   459 │   │                                                   │
         │   460 │   │   # Get the response from http.client.HTTPConnect │
         │ ❱ 461 │   │   httplib_response = super().getresponse()        │
         │   462 │   │                                                   │
         │   463 │   │   try:                                            │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │    __class__ = <class                                     │ │
         │ │                'urllib3.connection.HTTPConnection'>       │ │
         │ │ HTTPResponse = <class 'urllib3.response.HTTPResponse'>    │ │
         │ │ resp_options = _ResponseOptions(request_method='GET',     │ │
         │ │                request_url='/version',                    │ │
         │ │                preload_content=False,                     │ │
         │ │                decode_content=False,                      │ │
         │ │                enforce_content_length=True)               │ │
         │ │         self = <urllib3.connection.HTTPConnection object  │ │
         │ │                at 0x7fd51089d510>                         │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/http/client.py:1344 in │
         │ getresponse                                                   │
         │                                                               │
         │   1342 │   │   try:                                           │
         │   1343 │   │   │   try:                                       │
         │ ❱ 1344 │   │   │   │   response.begin()                       │
         │   1345 │   │   │   except ConnectionError:                    │
         │   1346 │   │   │   │   self.close()                           │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │ response = <http.client.HTTPResponse object at            │ │
         │ │            0x7fd51089d390>                                │ │
         │ │     self = <urllib3.connection.HTTPConnection object at   │ │
         │ │            0x7fd51089d510>                                │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/http/client.py:306 in  │
         │ begin                                                         │
         │                                                               │
         │    304 │   │   # read until we get a non-100 response         │
         │    305 │   │   while True:                                    │
         │ ❱  306 │   │   │   version, status, reason = self._read_statu │
         │    307 │   │   │   if status != CONTINUE:                     │
         │    308 │   │   │   │   break                                  │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │ self = <http.client.HTTPResponse object at                │ │
         │ │        0x7fd51089d390>                                    │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/http/client.py:275 in  │
         │ _read_status                                                  │
         │                                                               │
         │    273 │   │   │   # Presumably, the server closed the connec │
         │    274 │   │   │   # sending a valid response.                │
         │ ❱  275 │   │   │   raise RemoteDisconnected("Remote end close │
         │    276 │   │   │   │   │   │   │   │   │    " response")      │
         │    277 │   │   try:                                           │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │ line = ''                                                 │ │
         │ │ self = <http.client.HTTPResponse object at                │ │
         │ │        0x7fd51089d390>                                    │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         ╰───────────────────────────────────────────────────────────────╯
         ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote
         end closed connection without response'))                        
                                                                          
         During handling of the above exception, another exception        
         occurred:                                                        
                                                                          
         ╭────────────── Traceback (most recent call last) ──────────────╮
         │                                                               │
         │ /Users/andrewyang/AzurLaneAutoScript/module/device/method/uia │
         │ utomator_2.py:34 in retry_wrapper                             │
         │                                                               │
         │    32 │   │   │   │   │   time.sleep(retry_sleep(_))          │
         │    33 │   │   │   │   │   init()                              │
         │ ❱  34 │   │   │   │   return func(self, *args, **kwargs)      │
         │    35 │   │   │   # Can't handle                              │
         │    36 │   │   │   except RequestHumanTakeover:                │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │      _ = 2                                                │ │
         │ │   args = ()                                               │ │
         │ │      e = ConnectionError(ProtocolError('Connection        │ │
         │ │          aborted.', RemoteDisconnected('Remote end closed │ │
         │ │          connection without response')))                  │ │
         │ │   func = <function Uiautomator2.resolution_uiautomator2   │ │
         │ │          at 0x7fd51073f200>                               │ │
         │ │   init = <function                                        │ │
         │ │          retry.<locals>.retry_wrapper.<locals>.init at    │ │
         │ │          0x7fd4c021a680>                                  │ │
         │ │ kwargs = {}                                               │ │
         │ │   self = <module.device.device.Device object at           │ │
         │ │          0x7fd4f065c3d0>                                  │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │ /Users/andrewyang/AzurLaneAutoScript/module/device/method/uia │
         │ utomator_2.py:402 in resolution_uiautomator2                  │
         │                                                               │
         │   400 │   │   │   (width, height)                             │
         │   401 │   │   """                                             │
         │ ❱ 402 │   │   info = self.u2.http.get('/info').json()         │
         │   403 │   │   w, h = info['display']['width'], info['display' │
         │   404 │   │   if cal_rotation:                                │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │ cal_rotation = True                                       │ │
         │ │         self = <module.device.device.Device object at     │ │
         │ │                0x7fd4f065c3d0>                            │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /Users/andrewyang/AzurLaneAutoScript/module/base/decorator.py │
         │ :97 in __get__                                                │
         │                                                               │
         │    95 │   │   │   return self                                 │
         │    96 │   │                                                   │
         │ ❱  97 │   │   value = obj.__dict__[self.func.__name__] = self │
         │    98 │   │   return value                                    │
         │    99                                                         │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │  cls = <class 'module.device.device.Device'>              │ │
         │ │  obj = <module.device.device.Device object at             │ │
         │ │        0x7fd4f065c3d0>                                    │ │
         │ │ self = <module.base.decorator.cached_property object at   │ │
         │ │        0x7fd4a0344690>                                    │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /Users/andrewyang/AzurLaneAutoScript/module/device/connection │
         │ _attr.py:344 in u2                                            │
         │                                                               │
         │   342 │   │                                                   │
         │   343 │   │   # Stay alive                                    │
         │ ❱ 344 │   │   device.set_new_command_timeout(604800)          │
         │   345 │   │                                                   │
         │   346 │   │   logger.attr('u2.Device', f'Device(atx_agent_url │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │ device = <module.device.method.utils.Device object at     │ │
         │ │          0x7fd53063a650>                                  │ │
         │ │   self = <module.device.device.Device object at           │ │
         │ │          0x7fd4f065c3d0>                                  │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/uiautoma │
         │ tor2/__init__.py:871 in set_new_command_timeout               │
         │                                                               │
         │    869 │   │   │   timeout (int): seconds                     │
         │    870 │   │   """                                            │
         │ ❱  871 │   │   r = self.http.post("/newCommandTimeout", data= │
         │    872 │   │   data = r.json()                                │
         │    873 │   │   assert data['success'], data['description']    │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │    self = <module.device.method.utils.Device object at    │ │
         │ │           0x7fd53063a650>                                 │ │
         │ │ timeout = 604800                                          │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/requests │
         │ /sessions.py:637 in post                                      │
         │                                                               │
         │   635 │   │   """                                             │
         │   636 │   │                                                   │
         │ ❱ 637 │   │   return self.request("POST", url, data=data, jso │
         │   638 │                                                       │
         │   639 │   def put(self, url, data=None, **kwargs):            │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │   data = '604800'                                         │ │
         │ │   json = None                                             │ │
         │ │ kwargs = {}                                               │ │
         │ │   self = <uiautomator2._AgentRequestSession object at     │ │
         │ │          0x7fd4b81278d0>                                  │ │
         │ │    url = '/newCommandTimeout'                             │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/uiautoma │
         │ tor2/__init__.py:223 in request                               │
         │                                                               │
         │    221 │   │                                                  │
         │    222 │   │   # fix atx-agent and request again              │
         │ ❱  223 │   │   self.__client._prepare_atx_agent()             │
         │    224 │   │   url = self.__client.path2url(url)              │
         │    225 │   │   return super().request(method, url, **kwargs)  │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │ __class__ = <class 'uiautomator2._AgentRequestSession'>   │ │
         │ │    kwargs = {'data': '604800', 'json': None}              │ │
         │ │    method = 'POST'                                        │ │
         │ │     retry = True                                          │ │
         │ │      self = <uiautomator2._AgentRequestSession object at  │ │
         │ │             0x7fd4b81278d0>                               │ │
         │ │       url = 'http://127.0.0.1:55097/newCommandTimeout'    │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/uiautoma │
         │ tor2/__init__.py:324 in _prepare_atx_agent                    │
         │                                                               │
         │    322 │   │   │   │   raise EnvironmentError("atx-agent need │
         │    323 │   │   except (requests.RequestException, Environment │
         │ ❱  324 │   │   │   self._setup_atx_agent()                    │
         │    325 │   │                                                  │
         │    326 │   │   # return self._get_atx_agent_url()             │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │          _d = AdbDevice(serial=127.0.0.1:5555)            │ │
         │ │        self = <module.device.method.utils.Device object   │ │
         │ │               at 0x7fd53063a650>                          │ │
         │ │ version_url = 'http://127.0.0.1:55097/version'            │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/uiautoma │
         │ tor2/__init__.py:334 in _setup_atx_agent                      │
         │                                                               │
         │    332 │   │   from uiautomator2 import init                  │
         │    333 │   │   _initer = init.Initer(self._adb_device)        │
         │ ❱  334 │   │   _initer.setup_atx_agent()                      │
         │    335 │                                                      │
         │    336 │   def _wait_for_device(self, timeout=None) -> adbuti │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │ _initer = <module.device.method.utils.IniterNoMinicap     │ │
         │ │           object at 0x7fd4f0a44890>                       │ │
         │ │    init = <module 'uiautomator2.init' from                │ │
         │ │           '/opt/anaconda3/envs/alas/lib/python3.7/site-p… │ │
         │ │    self = <module.device.method.utils.Device object at    │ │
         │ │           0x7fd53063a650>                                 │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/uiautoma │
         │ tor2/init.py:351 in setup_atx_agent                           │
         │                                                               │
         │   349 │   │   self.shell(self.atx_agent_path, 'server', '--no │
         │       self.__atx_listen_addr)                                 │
         │   350 │   │   self.logger.info("Check atx-agent version")     │
         │ ❱ 351 │   │   self.check_atx_agent_version()                  │
         │   352 │                                                       │
         │   353 │   @retry(                                             │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │ self = <module.device.method.utils.IniterNoMinicap object │ │
         │ │        at 0x7fd4f0a44890>                                 │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/decorato │
         │ r.py:232 in fun                                               │
         │                                                               │
         │   230 │   │   │   if not kwsyntax:                            │
         │   231 │   │   │   │   args, kw = fix(args, kw, sig)           │
         │ ❱ 232 │   │   │   return caller(func, *(extras + args), **kw) │
         │   233 │   fun.__name__ = func.__name__                        │
         │   234 │   fun.__doc__ = func.__doc__                          │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │     args = (                                              │ │
         │ │            │                                              │ │
         │ │            <module.device.method.utils.IniterNoMinicap    │ │
         │ │            object at 0x7fd4f0a44890>,                     │ │
         │ │            )                                              │ │
         │ │   caller = <function retry.<locals>.retry_decorator at    │ │
         │ │            0x7fd4a03137a0>                                │ │
         │ │   extras = ()                                             │ │
         │ │     func = <function Initer.check_atx_agent_version at    │ │
         │ │            0x7fd4a0313830>                                │ │
         │ │       kw = {}                                             │ │
         │ │ kwsyntax = False                                          │ │
         │ │      sig = <Signature (self)>                             │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/retry/ap │
         │ i.py:74 in retry_decorator                                    │
         │                                                               │
         │    72 │   │   kwargs = fkwargs if fkwargs else dict()         │
         │    73 │   │   return __retry_internal(partial(f, *args, **kwa │
         │       max_delay, backoff, jitter,                             │
         │ ❱  74 │   │   │   │   │   │   │   │   logger)                 │
         │    75 │                                                       │
         │    76 │   return retry_decorator                              │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │       args = (                                            │ │
         │ │              │                                            │ │
         │ │              <module.device.method.utils.IniterNoMinicap  │ │
         │ │              object at 0x7fd4f0a44890>,                   │ │
         │ │              )                                            │ │
         │ │    backoff = 1                                            │ │
         │ │      delay = 0.5                                          │ │
         │ │ exceptions = (                                            │ │
         │ │              │   <class                                   │ │
         │ │              'requests.exceptions.ConnectionError'>,      │ │
         │ │              │   <class                                   │ │
         │ │              'requests.exceptions.ReadTimeout'>,          │ │
         │ │              │   <class 'requests.exceptions.HTTPError'>  │ │
         │ │              )                                            │ │
         │ │          f = <function Initer.check_atx_agent_version at  │ │
         │ │              0x7fd4a0313830>                              │ │
         │ │      fargs = (                                            │ │
         │ │              │                                            │ │
         │ │              <module.device.method.utils.IniterNoMinicap  │ │
         │ │              object at 0x7fd4f0a44890>,                   │ │
         │ │              )                                            │ │
         │ │    fkwargs = {}                                           │ │
         │ │     jitter = 0                                            │ │
         │ │     kwargs = {}                                           │ │
         │ │     logger = <Logger retry.api (WARNING)>                 │ │
         │ │  max_delay = None                                         │ │
         │ │      tries = 10                                           │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/retry/ap │
         │ i.py:33 in __retry_internal                                   │
         │                                                               │
         │    31 │   while _tries:                                       │
         │    32 │   │   try:                                            │
         │ ❱  33 │   │   │   return f()                                  │
         │    34 │   │   except exceptions as e:                         │
         │    35 │   │   │   _tries -= 1                                 │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │     _delay = 0.5                                          │ │
         │ │     _tries = 0                                            │ │
         │ │    backoff = 1                                            │ │
         │ │      delay = 0.5                                          │ │
         │ │ exceptions = (                                            │ │
         │ │              │   <class                                   │ │
         │ │              'requests.exceptions.ConnectionError'>,      │ │
         │ │              │   <class                                   │ │
         │ │              'requests.exceptions.ReadTimeout'>,          │ │
         │ │              │   <class 'requests.exceptions.HTTPError'>  │ │
         │ │              )                                            │ │
         │ │          f = functools.partial(<function                  │ │
         │ │              Initer.check_atx_agent_version at            │ │
         │ │              0x7fd4a0313830>,                             │ │
         │ │              <module.device.method.utils.IniterNoMinicap  │ │
         │ │              object at 0x7fd4f0a44890>)                   │ │
         │ │     jitter = 0                                            │ │
         │ │     logger = <Logger retry.api (WARNING)>                 │ │
         │ │  max_delay = None                                         │ │
         │ │      tries = 10                                           │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/uiautoma │
         │ tor2/init.py:361 in check_atx_agent_version                   │
         │                                                               │
         │   359 │   │   self.logger.debug("Forward: local:tcp:%d -> rem │
         │   360 │   │   version = requests.get("http://127.0.0.1:%d/ver │
         │ ❱ 361 │   │   │   │   │   │   │      port).text.strip()       │
         │   362 │   │   self.logger.debug("atx-agent version %s", versi │
         │   363                                                         │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │ port = 55097                                              │ │
         │ │ self = <module.device.method.utils.IniterNoMinicap object │ │
         │ │        at 0x7fd4f0a44890>                                 │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/requests │
         │ /api.py:73 in get                                             │
         │                                                               │
         │    71 │   """                                                 │
         │    72 │                                                       │
         │ ❱  73 │   return request("get", url, params=params, **kwargs) │
         │    74                                                         │
         │    75                                                         │
         │                                                               │
         │ ╭───────────────── locals ──────────────────╮                 │
         │ │ kwargs = {}                               │                 │
         │ │ params = None                             │                 │
         │ │    url = 'http://127.0.0.1:55097/version' │                 │
         │ ╰───────────────────────────────────────────╯                 │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/requests │
         │ /api.py:59 in request                                         │
         │                                                               │
         │    57 │   # cases, and look like a memory leak in others.     │
         │    58 │   with sessions.Session() as session:                 │
         │ ❱  59 │   │   return session.request(method=method, url=url,  │
         │    60                                                         │
         │    61                                                         │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │  kwargs = {'params': None}                                │ │
         │ │  method = 'get'                                           │ │
         │ │ session = <requests.sessions.Session object at            │ │
         │ │           0x7fd5108ee150>                                 │ │
         │ │     url = 'http://127.0.0.1:55097/version'                │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/requests │
         │ /sessions.py:589 in request                                   │
         │                                                               │
         │   587 │   │   }                                               │
         │   588 │   │   send_kwargs.update(settings)                    │
         │ ❱ 589 │   │   resp = self.send(prep, **send_kwargs)           │
         │   590 │   │                                                   │
         │   591 │   │   return resp                                     │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │ allow_redirects = True                                    │ │
         │ │            auth = None                                    │ │
         │ │            cert = None                                    │ │
         │ │         cookies = None                                    │ │
         │ │            data = None                                    │ │
         │ │           files = None                                    │ │
         │ │         headers = None                                    │ │
         │ │           hooks = None                                    │ │
         │ │            json = None                                    │ │
         │ │          method = 'get'                                   │ │
         │ │          params = None                                    │ │
         │ │            prep = <PreparedRequest [GET]>                 │ │
         │ │         proxies = {}                                      │ │
         │ │             req = <Request [GET]>                         │ │
         │ │            self = <requests.sessions.Session object at    │ │
         │ │                   0x7fd5108ee150>                         │ │
         │ │     send_kwargs = {                                       │ │
         │ │                   │   'timeout': None,                    │ │
         │ │                   │   'allow_redirects': True,            │ │
         │ │                   │   'proxies': OrderedDict(),           │ │
         │ │                   │   'stream': False,                    │ │
         │ │                   │   'verify': True,                     │ │
         │ │                   │   'cert': None                        │ │
         │ │                   }                                       │ │
         │ │        settings = {                                       │ │
         │ │                   │   'proxies': OrderedDict(),           │ │
         │ │                   │   'stream': False,                    │ │
         │ │                   │   'verify': True,                     │ │
         │ │                   │   'cert': None                        │ │
         │ │                   }                                       │ │
         │ │          stream = None                                    │ │
         │ │         timeout = None                                    │ │
         │ │             url = 'http://127.0.0.1:55097/version'        │ │
         │ │          verify = None                                    │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/requests │
         │ /sessions.py:703 in send                                      │
         │                                                               │
         │   701 │   │                                                   │
         │   702 │   │   # Send the request                              │
         │ ❱ 703 │   │   r = adapter.send(request, **kwargs)             │
         │   704 │   │                                                   │
         │   705 │   │   # Total elapsed time of the request (approximat │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │         adapter = <requests.adapters.HTTPAdapter object   │ │
         │ │                   at 0x7fd510965990>                      │ │
         │ │ allow_redirects = True                                    │ │
         │ │           hooks = {'response': []}                        │ │
         │ │          kwargs = {                                       │ │
         │ │                   │   'timeout': None,                    │ │
         │ │                   │   'proxies': OrderedDict(),           │ │
         │ │                   │   'stream': False,                    │ │
         │ │                   │   'verify': True,                     │ │
         │ │                   │   'cert': None                        │ │
         │ │                   }                                       │ │
         │ │         request = <PreparedRequest [GET]>                 │ │
         │ │            self = <requests.sessions.Session object at    │ │
         │ │                   0x7fd5108ee150>                         │ │
         │ │           start = 1736216627.397105                       │ │
         │ │          stream = False                                   │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         │                                                               │
         │ /opt/anaconda3/envs/alas/lib/python3.7/site-packages/requests │
         │ /adapters.py:501 in send                                      │
         │                                                               │
         │   499 │   │                                                   │
         │   500 │   │   except (ProtocolError, OSError) as err:         │
         │ ❱ 501 │   │   │   raise ConnectionError(err, request=request) │
         │   502 │   │                                                   │
         │   503 │   │   except MaxRetryError as e:                      │
         │                                                               │
         │ ╭───────────────────────── locals ──────────────────────────╮ │
         │ │    cert = None                                            │ │
         │ │ chunked = False                                           │ │
         │ │    conn = <urllib3.connectionpool.HTTPConnectionPool      │ │
         │ │           object at 0x7fd510965710>                       │ │
         │ │ proxies = OrderedDict()                                   │ │
         │ │ request = <PreparedRequest [GET]>                         │ │
         │ │    self = <requests.adapters.HTTPAdapter object at        │ │
         │ │           0x7fd510965990>                                 │ │
         │ │  stream = False                                           │ │
         │ │ timeout = Timeout(connect=None, read=None, total=None)    │ │
         │ │     url = '/version'                                      │ │
         │ │  verify = True                                            │ │
         │ ╰───────────────────────────────────────────────────────────╯ │
         ╰───────────────────────────────────────────────────────────────╯
         ConnectionError: ('Connection aborted.',                         
         RemoteDisconnected('Remote end closed connection without         
         response'))                                                      
WARNING  20:23:53.612 │ atx-agent has something wrong, auto recovering    
INFO     20:23:53.623 │ device 127.0.0.1:5555 is online                   
INFO     20:23:53.669 │ uiautomator2 version: 2.16.17                     
INFO     20:23:53.671 │ Shell: ('/data/local/tmp/atx-agent', 'server',    
         '--stop')                                                        
INFO     20:23:53.679 │ Install atx-agent 0.10.0                          
INFO     20:23:53.681 │ Use cached assets: /opt/anaconda3/envs/alas/lib/py
         thon3.7/site-packages/uiautomator2cache/cache/atx-agent_0.10.0_li
         nux_armv7.tar.gz-cf3333ae7b/atx-agent_0.10.0_linux_armv7.tar.gz  
INFO     20:23:53.776 │ Push to /data/local/tmp/atx-agent:0755            
INFO     20:23:53.805 │ Shell: ('/data/local/tmp/atx-agent', 'server',    
         '--nouia', '-d', '--addr', '127.0.0.1:7912')                     
INFO     20:23:53.811 │ Check atx-agent version                           
INFO     20:23:53.814 │ Forward: local:tcp:55097 -> remote:tcp:7912       
INFO     20:23:54.320 │ Forward: local:tcp:55097 -> remote:tcp:7912       
INFO     20:23:54.826 │ Forward: local:tcp:55097 -> remote:tcp:7912       
INFO     20:23:55.332 │ Forward: local:tcp:55097 -> remote:tcp:7912       
[alas] exited. Reason: Manual stop

Screenshots

No response

Anything else?

I'm using a MacBook Pro M4 Max on macOS 15.1.1 (24B2091).
Emulator used was Bluestacks Air
Not really sure what else to add, I googled anaconda download and used that for the virtual environment and used the requirements-in.txt file when installing.

@hexione hexione added the bug / 缺陷 Something isn't working label Jan 7, 2025
@LmeSzinc
Copy link
Owner

LmeSzinc commented Jan 9, 2025

38da2ab

@LmeSzinc LmeSzinc added the fixed awaiting feedback / 已修复等待反馈 Issue fixed but need user feedback as hard to reproduce label Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug / 缺陷 Something isn't working fixed awaiting feedback / 已修复等待反馈 Issue fixed but need user feedback as hard to reproduce
Projects
None yet
Development

No branches or pull requests

2 participants