UI test cases failing on API 34
Open
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 2k
- Forks
- 262
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
After upgrading the compileSdk and targetSdk to API 34, UI test cases have encountered failures specifically on the API 34 emulator. However, they continue to function as expected on emulators running API 33 or lower.
Unable to match the desired swap behavior.
2024-04-22 10:50:25.852 5379-5397 components.test com...spf.common.ui.components.test A dex_file.h:530] Check failed: &proto_id < proto_ids_ + header_->proto_ids_size_ (&proto_id=0x744937e504, proto_ids_ + header_->proto_ids_size_=0x719aa434b0) /apex/com.android.art/javalib/core-oj.jar
2024-04-22 10:50:26.183 5379-5397 components.test com...spf.common.ui.components.test A runtime.cc:691] Runtime aborting...
runtime.cc:691] All threads:
runtime.cc:691] DALVIK THREADS (26):
runtime.cc:691] "main" prio=10 tid=1 Native
runtime.cc:691] | group="" sCount=1 ucsCount=0 flags=1 obj=0x71bdecd8 self=0xb40000722358cf50
runtime.cc:691] | sysTid=5379 nice=-10 cgrp=top-app sched=0/0 handle=0x746a5f94f8
runtime.cc:691] | state=S schedstat=( 326024440 30341753 369 ) utm=28 stm=3 core=3 HZ=100
runtime.cc:691] | stack=0x7fe13cd000-0x7fe13cf000 stackSize=8188KB
runtime.cc:691] | held mutexes=
runtime.cc:691] native: #00 pc 00062e1c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) (BuildId: a87908b48b368e6282bcc9f34bcfc28c)
runtime.cc:691] native: #01 pc 0022cfac /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks+140) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #02 pc 00427e50 /apex/com.android.art/lib64/libart.so (artQuickGenericJniEndTrampoline+960) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #03 pc 00377040 /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+160) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #04 pc 003605a4 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #05 pc 004906b4 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>+1248) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #06 pc 00509f94 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>+780) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #07 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #08 pc 001c4f90 /system/framework/framework.jar (android.os.BinderProxy.transact)
runtime.cc:691] native: #09 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #10 pc 0049120c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>+4152) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #11 pc 0050aca4 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>+4124) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #12 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #13 pc 004f5154 /system/framework/framework.jar (com.android.internal.view.IInputMethodManager$Stub$Proxy.startInputOrWindowGainedFocus)
runtime.cc:691] native: #14 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #15 pc 00398d78 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge+100) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #16 pc 00398520 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<true>+1388) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #17 pc 005111e4 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>+30044) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #18 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] native: #19 pc 0025b784 /system/framework/framework.jar (android.view.inputmethod.IInputMethodManagerGlobalInvoker.startInputOrWindowGainedFocus)
runtime.cc:691] native: #20 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3)
runtime.cc:691] at java.lang.StackStreamFactory$StackFrameTraverser.consumeFrames(StackStreamFactory.java:601)
runtime.cc:691] at java.lang.StackStreamFactory$AbstractStackWalker.doStackWalk(StackStreamFactory.java:316)
runtime.cc:691] at java.lang.StackStreamFactory$AbstractStackWalker.callStackWalk(StackStreamFactory.java:436)
runtime.cc:691] at java.lang.StackStreamFactory$AbstractStackWalker.beginStackWalk(StackStreamFactory.java:380)
runtime.cc:691] at java.lang.StackStreamFactory$AbstractStackWalker.walk(StackStreamFactory.java:251)
2024-04-22 11:35:25.073 5260-5260 components.test com.paypal.spf.ui.components.test A runtime.cc:691] at java.lang.StackWalker.walk(StackWalker.java:503)
runtime.cc:691] at org.mockito.internal.debugging.LocationImpl.stackWalk(LocationImpl.java:134)
runtime.cc:691] at org.mockito.internal.debugging.LocationImpl.framesToSkip(LocationImpl.java:123)
runtime.cc:691] at org.mockito.internal.debugging.LocationImpl.<clinit>(LocationImpl.java:59)
runtime.cc:691] at org.mockito.internal.debugging.LocationFactory$DefaultLocationFactory.create(LocationFactory.java:48)
runtime.cc:691] at org.mockito.internal.debugging.LocationFactory.create(LocationFactory.java:19)
runtime.cc:691] at org.mockito.internal.debugging.LocationFactory.create(LocationFactory.java:15)
runtime.cc:691] at org.mockito.internal.invocation.DefaultInvocationFactory.createInvocation(DefaultInvocationFactory.java:74)
runtime.cc:691] at org.mockito.internal.invocation.DefaultInvocationFactory.createInvocation(DefaultInvocationFactory.java:48)
runtime.cc:691] at org.mockito.internal.invocation.DefaultInvocationFactory.createInvocation(DefaultInvocationFactory.java:39)
runtime.cc:691] at com.android.dx.mockito.InvocationHandlerAdapter.invoke(InvocationHandlerAdapter.java:52)
runtime.cc:691] at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
Full logs available here: logs.txt
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the UI test failure on an API 34 emulator and compare it with API 33 or lower. Review the attached logs.txt, especially the Mockito stack involving LocationImpl and com.android.dx.mockito.InvocationHandlerAdapter. Done means the UI tests run successfully on API 34 without regressing older emulator versions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- mobile, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100