Fixed
Status Update
Comments
js...@google.com <js...@google.com> #2
EDIT: Hold on, I think my test is invalid. I'll reply with another comment with attached logs if I can repro it. I'm testing it again. Apologies for the confusion.
ORIGINAL COMMENT:
Hmm I'm not able to reproduce this anymore. I'm not sure what changed. Maybe the old build cache caused some issues. But after doing a clean & build, I am not seeing this.
Feel free to close this issue, if it happens again I'll let you know.
ORIGINAL COMMENT:
Hmm I'm not able to reproduce this anymore. I'm not sure what changed. Maybe the old build cache caused some issues. But after doing a clean & build, I am not seeing this.
Feel free to close this issue, if it happens again I'll let you know.
ag...@google.com <ag...@google.com>
ap...@google.com <ap...@google.com> #3
Yep, I'm still able to reproduce the issue. Sorry for the confusion. Attached are my build logs (with `--info` and `--debug` enabled in compiler options). I also attached the idea logs directory.
ap...@google.com <ap...@google.com> #4
These steps don't reproduce the issue for me:
(1) Create new C++ project
(2) Paste snippet from comment #1 into app\build.gradle
(3) Select fullDebug variant and x86 ABI
(3) Delete app\build and app\.cxx folders (to be sure there's no leftovers)
(4) Using x86 emulator...
(5) Run -> Run 'app'
(6) From shell:
macbookpro:MyApplication112 jomof$ find . -name *.o
./app/.cxx/cmake/fullDebug/x86/CMakeFiles/native-lib.dir/native-lib.cpp.o
macbookpro:MyApplication112 jomof$ find . -name *.so
./app/build/intermediates/cmake/fullDebug/obj/x86/libnative-lib.so
./app/build/intermediates/merged_native_libs/fullDebug/out/lib/x86/libnative-lib.so
./app/build/intermediates/stripped_native_libs/fullDebug/out/lib/x86/libnative-lib.so
I do see a couple spurious warnings at step (6) :
Cannot build selected target ABI: x86, no suitable splits configured: armeabi-v7a;
ABIs [x86] set by 'android.injected.build.abi' gradle flag contained 'X86' not targeted by this project.
But I think these are ignorable for this purpose.
(1) Create new C++ project
(2) Paste snippet from
(3) Select fullDebug variant and x86 ABI
(3) Delete app\build and app\.cxx folders (to be sure there's no leftovers)
(4) Using x86 emulator...
(5) Run -> Run 'app'
(6) From shell:
macbookpro:MyApplication112 jomof$ find . -name *.o
./app/.cxx/cmake/fullDebug/x86/CMakeFiles/native-lib.dir/native-lib.cpp.o
macbookpro:MyApplication112 jomof$ find . -name *.so
./app/build/intermediates/cmake/fullDebug/obj/x86/libnative-lib.so
./app/build/intermediates/merged_native_libs/fullDebug/out/lib/x86/libnative-lib.so
./app/build/intermediates/stripped_native_libs/fullDebug/out/lib/x86/libnative-lib.so
I do see a couple spurious warnings at step (6) :
Cannot build selected target ABI: x86, no suitable splits configured: armeabi-v7a;
ABIs [x86] set by 'android.injected.build.abi' gradle flag contained 'X86' not targeted by this project.
But I think these are ignorable for this purpose.
Description
```
java.lang.VerifyError: Verifier rejected class test.MainActivity: java.lang.Object test.MainActivity.test(double, double, kotlin.coroutines.Continuation) failed to verify: java.lang.Object test.MainActivity.test(double, double, kotlin.coroutines.Continuation): [0x114] copy2 v9<-v25 type=Zero/null/Double (High Half) (declaration of 'test.MainActivity' appears in /data/app/bug.repro-edPQmZdyJ05b15SerYVapA==/base.apk)
```
See the the most simplified reproducer in the attachment. I guess the verification crash appears somehwere here
Here is an exerpt from the original issue posted here
Error messsage:
```
[0x114] copy2 v9<-v25 type=Zero/null/Double (High Half)
```
DEX disassembled code is the following
148: 0xfd: InvokeStatic { v12 v1 }
Ltest/MainActivityKt;->executeTopLevel(
Ljava/lang/Object;
Lkotlin/coroutines/Continuation;
)Ljava/lang/Object;
149: 0x100: MoveResultObject v0
150: 0x101: IfNe v0, v3, 0x104 (+3)
0x103, line 13, locals: [1 -> $continuation, 2 -> x, 4 -> test,
8 -> z, 9 -> t, 10 -> $receiver$iv,
11 -> $i$f$tier1, 12 -> something$iv$iv,
13 -> $receiver$iv$iv,
14 -> $i$f$tier2, 15 -> y, 24 -> this,
25 -> d1, 27 -> d2]
151: 0x103: ReturnObject v3
0x104, line 61, locals: [1 -> $continuation, 2 -> x, 4 -> test,
8 -> z, 9 -> t, 10 -> $receiver$iv,
11 -> $i$f$tier1, 12 -> something$iv$iv,
13 -> $receiver$iv$iv, 14 -> $i$f$tier2,
15 -> y, 24 -> this,
25 -> d1, 27 -> d2]
152: 0x104: MoveFrom16 v25, v11 // copy int to double
153: 0x106: MoveObjectFrom16 v16, v12
154: 0x108: Move v0, v14
155: 0x109: Move v14, v15
156: 0x10a: MoveObject v15, v3
157: 0x10b: MoveWide v11, v4
158: 0x10c: MoveObject v5, v13
159: 0x10d: MoveObjectFrom16 v4, v24
160: 0x10f: Move v13, v8
161: 0x110: Move v8, v2
162: 0x111: MoveWide v2, v6
163: 0x112: Move v7, v9
164: 0x113: MoveObject v6, v10
165: 0x114: MoveWideFrom16 v9, v25 // verify error is here
Note that 9 (t) has integer type, 11 $i$f$tier1 - integer, 25 d1 - double