uiautomator2.exceptions.JsonRpcError: -32001 Jsonrpc error: <java.lang.StackOverflowError> data: java.lang.StackOverflowError: stack size 1037KB
代码:
import time
import uiautomator2 as u2
def main():
package_name = 'com.sina.weibo'
d = u2.connect('192.168.8.102') # 如果多个手机连接电脑,则需要填入对应的设备号
with d.session(package_name) as sess:
sess(resourceId="com.sina.weibo:id/rltitleSave").click()
time.sleep(5)
if __name__ == '__main__':
main()
Versions (版本)
Name: uiautomator2
Version: 0.1.11.dev1
Summary: Python Wrapper for Android UiAutomator2 test tool
Home-page: https://github.com/codeskyblue/uiautomator2
Author: codeskyblue
Author-email: [email protected]
License: MIT
Location: /home/yswtrue/.virtualenvs/automaton/lib/python3.6/site-packages
Requires: retry, docopt, pure-python-adb, six, requests, logzero, humanize, fire, whichcraft, progress
Required-by: atx
Issue and steps to reproduce (复现步骤)
11行点击右上角那个加号的时候它就会提示这个错误了
-
手机型号? vivo x23
-
错误日志?
/home/yswtrue/.virtualenvs/automaton/bin/python /home/yswtrue/PycharmProjects/automaton/main.py
Traceback (most recent call last):
File "/home/yswtrue/PycharmProjects/automaton/main.py", line 17, in <module>
main()
File "/home/yswtrue/PycharmProjects/automaton/main.py", line 11, in main
sess(resourceId="com.sina.weibo:id/rltitleSave").click()
File "/home/yswtrue/.virtualenvs/automaton/lib/python3.6/site-packages/uiautomator2/session.py", line 39, in _inner
return fn(self, *args, **kwargs)
File "/home/yswtrue/.virtualenvs/automaton/lib/python3.6/site-packages/uiautomator2/session.py", line 746, in click
x, y = self.center(offset=offset)
File "/home/yswtrue/.virtualenvs/automaton/lib/python3.6/site-packages/uiautomator2/session.py", line 763, in center
info = self.info
File "<decorator-gen-6>", line 2, in info
File "/home/yswtrue/.virtualenvs/automaton/lib/python3.6/site-packages/retry/api.py", line 74, in retry_decorator
logger)
File "/home/yswtrue/.virtualenvs/automaton/lib/python3.6/site-packages/retry/api.py", line 33, in __retry_internal
return f()
File "/home/yswtrue/.virtualenvs/automaton/lib/python3.6/site-packages/uiautomator2/session.py", line 728, in info
return self.jsonrpc.objInfo(self.selector)
File "/home/yswtrue/.virtualenvs/automaton/lib/python3.6/site-packages/uiautomator2/__init__.py", line 363, in __call__
params, http_timeout)
File "/home/yswtrue/.virtualenvs/automaton/lib/python3.6/site-packages/uiautomator2/__init__.py", line 370, in jsonrpc_retry_call
return self.jsonrpc_call(*args, **kwargs)
File "/home/yswtrue/.virtualenvs/automaton/lib/python3.6/site-packages/uiautomator2/__init__.py", line 449, in jsonrpc_call
raise err
uiautomator2.exceptions.JsonRpcError: -32001 Jsonrpc error: <java.lang.StackOverflowError> data: java.lang.StackOverflowError: stack size 1037KB
at java.util.HashMap.getNode(HashMap.java:571)
at java.util.HashMap.get(HashMap.java:556)
at android.os.Parcel.readParcelableCreator(Parcel.java:2888)
at android.os.Parcel.readParcelable(Parcel.java:2851)
at android.view.DisplayInfo.readFromParcel(DisplayInfo.java:389)
at android.view.DisplayInfo.<init>(DisplayInfo.java:270)
at android.view.DisplayInfo.<init>(Unknown Source:0)
at android.view.DisplayInfo$1.createFromParcel(DisplayInfo.java:253)
at android.view.DisplayInfo$1.createFromParcel(DisplayInfo.java:251)
at android.hardware.display.IDisplayManager$Stub$Proxy.getDisplayInfo(IDisplayManager.java:359)
at android.hardware.display.DisplayManagerGlobal.getDisplayInfo(DisplayManagerGlobal.java:150)
at android.hardware.display.DisplayManagerGlobal.getCompatibleDisplay(DisplayManagerGlobal.java:225)
at android.app.ResourcesManager.getAdjustedDisplay(ResourcesManager.java:250)
at android.app.ContextImpl.getDisplay(ContextImpl.java:2178)
at android.view.WindowManagerImpl.getDefaultDisplay(WindowManagerImpl.java:149)
at android.support.test.uiautomator.UiDevice.getDefaultDisplay(UiDevice.java:1090)
at android.support.test.uiautomator.UiDevice.getDisplayWidth(UiDevice.java:524)
at android.support.test.uiautomator.UiObject2.getVisibleBounds(UiObject2.java:233)
at android.support.test.uiautomator.UiObject2.getVisibleBounds(UiObject2.java:253)
at android.support.test.uiautomator.UiObject2.getVisibleBounds(UiObject2.java:253)
at android.support.test.uiautomator.UiObject2.getVisibleBounds(UiObject2.java:213)
at com.github.uiautomator.stub.ObjInfo.<init>(ObjInfo.java:67)
at com.github.uiautomator.stub.ObjInfo.getObjInfo(ObjInfo.java:44)
at com.github.uiautomator.stub.AutomatorServiceImpl.objInfo(AutomatorServiceImpl.java:773)
at java.lang.reflect.Method.invoke(Native Method)
at com.googlecode.jsonrpc4j.JsonRpcBasicServer.invoke(JsonRpcBasicServer.java:467)
at com.googlecode.jsonrpc4j.JsonRpcBasicServer.handleObject(JsonRpcBasicServer.java:352)
at com.googlecode.jsonrpc4j.JsonRpcBasicServer.handleJsonNodeRequest(JsonRpcBasicServer.java:283)
at com.googlecode.jsonrpc4j.JsonRpcBasicServer.handleRequest(JsonRpcBasicServer.java:251)
at com.github.uiautomator.stub.AutomatorHttpServer.serve(AutomatorHttpServer.java:100)
at fi.iki.elonen.NanoHTTPD.serve(NanoHTTPD.java:2244)
at fi.iki.elonen.NanoHTTPD$HTTPSession.execute(NanoHTTPD.java:945)
at fi.iki.elonen.NanoHTTPD$ClientHandler.run(NanoHTTPD.java:192)
at java.lang.Thread.run(Thread.java:764)
, method: objInfo
Process finished with exit code 1
- 出错的代码片段?
Screenshots (相关截图)
能有尽量有
Additional Details (其他信息)
首例哎
是我的机器太低端了吗😂
**我也遇到了这个问题, 利用uiautomator2遍历的时候.

好像是因为函数: session.dump_hierarchy

重试下,会不会恢复正常
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
这个bug能解决吗?目前在实际使用时,会经常出现。
我只是fork了 问问作者吧
------------------ Original ------------------ From: taylortaurus <[email protected]> Date: Fri,Jul 3,2020 2:10 PM To: openatx/uiautomator2 <[email protected]> Cc: OnTheWay111 <[email protected]>, Comment <[email protected]> Subject: Re: [openatx/uiautomator2] uiautomator2.exceptions.JsonRpcError: -32001 Jsonrpc error: <java.lang.StackOverflowError> data: java.lang.StackOverflowError: stack size 1037KB (#297)
这个bug能解决吗?目前在实际使用时,会经常出现。
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.
我也遇到了同样问题,手机是RedMi Android11,请问如何解决呢?
Starting test: Robotframework-Androidapp.TestCase.IPGW CF UnexpectedCall.Monitor_If_Call
20210813 17:21:22.336 : WARN : ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')), retrying in 0.5 seconds...
20210813 17:21:26.056 : INFO : {'currentPackageName': 'com.android.settings', 'displayHeight': 2220, 'displayRotation': 0, 'displaySizeDpX': 393, 'displaySizeDpY': 851, 'displayWidth': 1080, 'productName': 'begonia', 'screenOn': True, 'sdkInt': 30, 'naturalOrientation': True}
20210813 17:21:26.057 : INFO : [32m[I 210813 17:21:22 init:155][39m uiautomator2 version: 2.12.0
20210813 17:21:29.059 : INFO : Slept 3 seconds
20210813 17:21:29.060 : WARN : open abb welcome app
20210813 17:21:32.116 : INFO : Slept 3 seconds
20210813 17:21:32.684 : WARN : Wait EULA
20210813 17:21:45.031 : FAIL :
JSONRPCError: -32001 Jsonrpc error: <java.lang.StackOverflowError> data: java.lang.StackOverflowError: stack size 1043KB
at java.lang.ref.PhantomReference.
我也遇到了这个问题,是在检查页面元素的时候遇到,具体是哪个元素关系不大。我这边在“新浪微博”的页面时常遇到,不知道是不是有时候微博页面元素太多,导致stackOverFlowError?请uiautomator2帮忙看一下。 for i in range (0,3): if d(text="以后再说").exists(): d(text="以后再说").click_exists() else: time.sleep(2)
打开Atx-agent 查看UIAUTOMATOR状态是否为STOP,是的话手动启动再运行脚本(从csdn看到的,确实好用)
@yazhli 我也是在微博上有这个问题,有解决方法吗