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

Crash in ViewMapper.getRectForView: "Cannot get a dirty matrix!" #97

Open
jdeff opened this issue Mar 18, 2020 · 7 comments
Open

Crash in ViewMapper.getRectForView: "Cannot get a dirty matrix!" #97

jdeff opened this issue Mar 18, 2020 · 7 comments

Comments

@jdeff
Copy link

jdeff commented Mar 18, 2020

Every few test runs, a random test case will fail due to this crash. We have seen this crash for a couple of years and to get around it we usually just choose a different device to test against. We recently started seeing it again, so I figured I would file it as a bug.

Here is the full stack trace:

F/DEBUG   (15453): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
F/DEBUG   (15453): Build fingerprint: 'samsung/starltexx/starlte:10/QP1A.190711.020/G960FXXU7DTAA:user/release-keys'
F/DEBUG   (15453): Revision: '26'
F/DEBUG   (15453): ABI: 'arm64'
F/DEBUG   (15453): Timestamp: 2020-03-17 23:51:25+0100
F/DEBUG   (15453): pid: 14165, tid: 15450, name: Thread-276  >>> com.convoy.driver.uitest <<<
F/DEBUG   (15453): uid: 17808
F/DEBUG   (15453): signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
F/DEBUG   (15453): Abort message: 'Cannot get a dirty matrix!'
F/DEBUG   (15453):     x0  0000000000000000  x1  0000000000003c5a  x2  0000000000000006  x3  00000079f4afa230
F/DEBUG   (15453):     x4  feff71647164636d  x5  feff71647164636d  x6  feff71647164636d  x7  7f7f7f7f7f7f7f7f
F/DEBUG   (15453):     x8  00000000000000f0  x9  0000007afc33e5e0  x10 0000000000000000  x11 0000000000000001
F/DEBUG   (15453):     x12 00000079f4afa3c0  x13 ffffffffffffffff  x14 0000000000000000  x15 ffffffffffffffff
F/DEBUG   (15453):     x16 0000007afc40c8c0  x17 0000007afc3e9870  x18 00000079ad074000  x19 00000000000000ac
F/DEBUG   (15453):     x20 0000000000003755  x21 00000000000000b2  x22 0000000000003c5a  x23 00000000ffffffff
F/DEBUG   (15453):     x24 00000000133f73d8  x25 0000000012d4e778  x26 00000000132af3d8  x27 0000000012d4da10
F/DEBUG   (15453):     x28 0000000013462870  x29 00000079f4afa2e0
F/DEBUG   (15453):     sp  00000079f4afa210  lr  0000007afc39d330  pc  0000007afc39d360
F/DEBUG   (15453): 
F/DEBUG   (15453): backtrace:
F/DEBUG   (15453):       #00 pc 0000000000083360  /apex/com.android.runtime/lib64/bionic/libc.so (abort+176) (BuildId: 220051b49364b1c2da3adf10c30832cc)
F/DEBUG   (15453):       #01 pc 0000000000008a74  /system/lib64/liblog.so (__android_log_assert+324) (BuildId: 388c836dee4b1e7598e1cafc587689b3)
F/DEBUG   (15453):       #02 pc 00000000001468ec  /system/lib64/libandroid_runtime.so (android::android_view_RenderNode_hasIdentityMatrix(long)+116) (BuildId: 97c11c0a9e40704eea4a584db87b34e1)
F/DEBUG   (15453):       #03 pc 00000000002bfa50  /system/framework/arm64/boot-framework.oat (art_jni_trampoline+64) (BuildId: 6704c3411337007ce3127c4cd1d512d3f2375e11)
F/DEBUG   (15453):       #04 pc 0000000000486e40  /system/framework/arm64/boot-framework.oat (android.graphics.RenderNode.hasIdentityMatrix+48) (BuildId: 6704c3411337007ce3127c4cd1d512d3f2375e11)
F/DEBUG   (15453):       #05 pc 0000000000a58538  /system/framework/arm64/boot-framework.oat (android.view.View.transformFromViewToWindowSpace+440) (BuildId: 6704c3411337007ce3127c4cd1d512d3f2375e11)
F/DEBUG   (15453):       #06 pc 0000000000a413ec  /system/framework/arm64/boot-framework.oat (android.view.View.getLocationInWindow+76) (BuildId: 6704c3411337007ce3127c4cd1d512d3f2375e11)
F/DEBUG   (15453):       #07 pc 0000000000a414a0  /system/framework/arm64/boot-framework.oat (android.view.View.getLocationOnScreen+48) (BuildId: 6704c3411337007ce3127c4cd1d512d3f2375e11)
F/DEBUG   (15453):       #08 pc 000000000209485c  /memfd:/jit-cache (deleted) (sh.calaba.instrumentationbackend.query.ViewMapper.getRectForView+220)
F/DEBUG   (15453):       #09 pc 00000000020a9dd8  /memfd:/jit-cache (deleted) (sh.calaba.instrumentationbackend.query.ast.UIQueryUtils.isViewSufficientlyShown+168)
F/DEBUG   (15453):       #10 pc 00000000020a9e10  /memfd:/jit-cache (deleted) (sh.calaba.instrumentationbackend.query.ast.UIQueryUtils.isViewSufficientlyShown+224)
F/DEBUG   (15453):       #11 pc 00000000020a9e10  /memfd:/jit-cache (deleted) (sh.calaba.instrumentationbackend.query.ast.UIQueryUtils.isViewSufficientlyShown+224)
F/DEBUG   (15453):       #12 pc 00000000020a9f48  /memfd:/jit-cache (deleted) (sh.calaba.instrumentationbackend.query.ast.UIQueryVisibilityMatcher.matchForUIObject+136)
F/DEBUG   (15453):       #13 pc 00000000020bf8c4  /memfd:/jit-cache (deleted) (sh.calaba.instrumentationbackend.query.ast.UIQueryMatcher.call+884)
F/DEBUG   (15453):       #14 pc 00000000020ac1a0  /memfd:/jit-cache (deleted) (sh.calaba.instrumentationbackend.query.ast.UIQueryUtils.isVisible+112)
F/DEBUG   (15453):       #15 pc 00000000020aa620  /memfd:/jit-cache (deleted) (sh.calaba.instrumentationbackend.query.ViewMapper.extractDataFromView+1456)
F/DEBUG   (15453):       #16 pc 00000000020eb810  /memfd:/jit-cache (deleted) (sh.calaba.instrumentationbackend.query.ViewMapper.mapResult+864)
F/DEBUG   (15453):       #17 pc 00000000020b6da4  /memfd:/jit-cache (deleted) (sh.calaba.instrumentationbackend.query.ViewMapper.mapList+260)
F/DEBUG   (15453):       #18 pc 00000000001375b8  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #19 pc 00000000001460cc  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+276) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #20 pc 00000000002e3be8  /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #21 pc 00000000002dec74  /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+900) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #22 pc 00000000005a5340  /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+368) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #23 pc 0000000000131994  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #24 pc 000000000008f8d0  [anon:dalvik-classes.dex extracted in memory from /data/app/com.convoy.driver.uitest.test-iKBlgGp0gFOmMLqQhwr0Dw==/base.apk] (sh.calaba.instrumentationbackend.query.QueryResult.asMappedList+4)
F/DEBUG   (15453):       #25 pc 00000000005a2ab0  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+1432) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #26 pc 0000000000131814  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #27 pc 000000000007f85a  [anon:dalvik-classes.dex extracted in memory from /data/app/com.convoy.driver.uitest.test-iKBlgGp0gFOmMLqQhwr0Dw==/base.apk] (sh.calaba.instrumentationbackend.FranklyResult.asMap+46)
F/DEBUG   (15453):       #28 pc 00000000005a2ab0  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+1432) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #29 pc 0000000000131814  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #30 pc 000000000007f808  [anon:dalvik-classes.dex extracted in memory from /data/app/com.convoy.driver.uitest.test-iKBlgGp0gFOmMLqQhwr0Dw==/base.apk] (sh.calaba.instrumentationbackend.FranklyResult.asJson)
F/DEBUG   (15453):       #31 pc 00000000002b4518  /apex/com.android.runtime/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.14549768435847923494+240) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #32 pc 0000000000593c38  /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1024) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #33 pc 0000000000140468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #34 pc 0000000002097d44  /memfd:/jit-cache (deleted) (sh.calaba.instrumentationbackend.actions.HttpServer.serve+11860)
F/DEBUG   (15453):       #35 pc 000000000203c5e8  /memfd:/jit-cache (deleted) (sh.calaba.instrumentationbackend.actions.NanoHTTPD$HTTPSession.run+3208)
F/DEBUG   (15453):       #36 pc 00000000001a5568  /system/framework/arm64/boot.oat (java.lang.Thread.run+72) (BuildId: b92495b97bd2b9b94ff49baeb11f3347ca279c52)
F/DEBUG   (15453):       #37 pc 0000000000137334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #38 pc 00000000001460ac  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #39 pc 00000000004b2aa0  /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #40 pc 00000000004b3b50  /apex/com.android.runtime/lib64/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue const*)+416) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #41 pc 00000000004f4600  /apex/com.android.runtime/lib64/libart.so (art::Thread::CreateCallback(void*)+1176) (BuildId: 646dedb2d1e7f719c8ef5314f8894d5e)
F/DEBUG   (15453):       #42 pc 00000000000e3b14  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36) (BuildId: 220051b49364b1c2da3adf10c30832cc)
F/DEBUG   (15453):       #43 pc 0000000000085330  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 220051b49364b1c2da3adf10c30832cc)
@jmoody
Copy link
Contributor

jmoody commented Mar 18, 2020

Thank you for reporting. Are you a Test Cloud customer? If so, please let us know which devices this occurs on with links to test runs. If you are not a Test Cloud customer, please let us know which devices on which you have seen this problem.

To set your expectations about how this will be handled - we are really busy and this will have a low priority unless you can point to specific devices in Test Cloud.

With that said, I think the community might be able to fix this problem. I will try to review and merge any patches ASAP.

@jdeff
Copy link
Author

jdeff commented Mar 20, 2020

Yes, I am a Test Cloud customer. I've reached out to the support team and linked this ticket there and noted the devices that are affected.

@jmoody
Copy link
Contributor

jmoody commented Mar 20, 2020

I have been cc'd on that support case. Thanks!

@johnyoonh
Copy link

@jdeff Were you able to resolve this issue?

@jdeff
Copy link
Author

jdeff commented Oct 23, 2020

Unfortunately no. We ended up working around it, though, by automatically retrying failed tests.

@kristijantomic
Copy link

kristijantomic commented Jan 17, 2021

Have anyone find a solution to this?

Google pre-launch report for Motorola moto e5 play shows the err, but captured screenshot does not show app crash :(


Build fingerprint: 'motorola/pettyl/pettyl:8.1.0/OPG28.54-53-8/55beb:user/release-keys'
Revision: 'p300'
ABI: 'arm'
pid: 12893, tid: 13187, name: Thread-4 >>> com.awsmbox <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'Cannot get a dirty matrix!'
r0 00000000 r1 00003383 r2 00000006 r3 00000008
r4 0000325d r5 00003383 r6 95ee0034 r7 0000010c
r8 00000000 r9 a875ba00 sl 135c2260 fp 12f2c458
ip 135c1f68 sp 95ee0020 lr b38f0981 pc b38ea46e cpsr 200f0030

@andrey-grach
Copy link

Have anyone find a solution to this?

Google pre-launch report for Motorola moto e5 play shows the err, but captured screenshot does not show app crash :(

Build fingerprint: 'motorola/pettyl/pettyl:8.1.0/OPG28.54-53-8/55beb:user/release-keys'
Revision: 'p300'
ABI: 'arm'
pid: 12893, tid: 13187, name: Thread-4 >>> com.awsmbox <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'Cannot get a dirty matrix!'
r0 00000000 r1 00003383 r2 00000006 r3 00000008
r4 0000325d r5 00003383 r6 95ee0034 r7 0000010c
r8 00000000 r9 a875ba00 sl 135c2260 fp 12f2c458
ip 135c1f68 sp 95ee0020 lr b38f0981 pc b38ea46e cpsr 200f0030

I have almost the same error but with Nokia 1. Did you find a solution or where to search?

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

5 participants