Closed louisdeveseleer closed 2 years ago
Hi @louisdeveseleer, thanks for filing the issue.
Is the log you posted for the Play console crash details
the full crash report from play console?
If it isn't kindly provide a full log output.
Any more logs that you can share will also be helpful.
Also, please provide your pubspec.yaml
and a minimal reproducible code sample, if possible.
Thank you
Hi, thanks for following up.
Unfortunately, I cannot provide a minimal reproducible code sample, since I have no idea what is causing the issue, and cannot reproduce it myself. All I know is it's happening, apps are crashing and users are complaining.
For the Play Console crash details, this is all that is provided.
Sentry provides the log in "Symbolicated" and "Unsymbolicated" form. The one above was Symbolicated, here is the Unsymbolicated form:
Exception Type: Unknown (SIGSEGV)
Application Specific Information:
Segfault
Thread 0 Crashed:
0 libapp.so 0x92ecbb9c 0x92686000 + 2499772
1 libapp.so 0x92ecb948 0x92686000 + 2499176
2 libapp.so 0x92ed3c5c 0x92686000 + 2532732
3 libapp.so 0x93032128 0x92686000 + 3967560
4 libapp.so 0x92d2df1c 0x92686000 + 804924
5 libapp.so 0x92d6614c 0x92686000 + 1034860
6 libapp.so 0x93035c84 0x92686000 + 3982756
7 libapp.so 0x92d2df1c 0x92686000 + 804924
8 libapp.so 0x92d6614c 0x92686000 + 1034860
9 libapp.so 0x92dd71e4 0x92686000 + 1497860
10 libapp.so 0x92d2df1c 0x92686000 + 804924
11 libapp.so 0x92d660ac 0x92686000 + 1034700
12 libapp.so 0x93036310 0x92686000 + 3984432
13 libapp.so 0x92d2df1c 0x92686000 + 804924
14 libapp.so 0x92d660ac 0x92686000 + 1034700
15 libapp.so 0x93036310 0x92686000 + 3984432
16 libapp.so 0x92d2df1c 0x92686000 + 804924
17 libapp.so 0x92d660ac 0x92686000 + 1034700
18 libapp.so 0x93036310 0x92686000 + 3984432
19 libapp.so 0x92d2df1c 0x92686000 + 804924
20 libapp.so 0x92d6614c 0x92686000 + 1034860
21 libapp.so 0x93035fdc 0x92686000 + 3983612
22 libapp.so 0x92dd31c0 0x92686000 + 1481440
23 libapp.so 0x92e5a518 0x92686000 + 2035256
24 libapp.so 0x93035ef0 0x92686000 + 3983376
25 libapp.so 0x92d2df1c 0x92686000 + 804924
26 libapp.so 0x92d582d4 0x92686000 + 977908
27 libapp.so 0x92d58004 0x92686000 + 977188
28 libapp.so 0x92d56aa8 0x92686000 + 971720
29 libapp.so 0x92d565e8 0x92686000 + 970504
30 libapp.so 0x92e7eef4 0x92686000 + 2185236
31 libapp.so 0x92e7eec8 0x92686000 + 2185192
32 libapp.so 0x92d47948 0x92686000 + 909928
33 libapp.so 0x92d47894 0x92686000 + 909748
34 libapp.so 0x92d47570 0x92686000 + 908944
35 libapp.so 0x92d4743c 0x92686000 + 908636
36 libapp.so 0x92c97a9c 0x92686000 + 189372
37 libapp.so 0x92c97b7c 0x92686000 + 189596
38 libapp.so 0x9337b380 0x92686000 + 7412896
39 libapp.so 0x933846f4 0x92686000 + 7450644
40 libapp.so 0x92cb1bc0 0x92686000 + 296160
41 libapp.so 0x92cba0ac 0x92686000 + 330188
42 libapp.so 0x92d0e214 0x92686000 + 674612
43 libapp.so 0x92d0e23c 0x92686000 + 674652
44 libapp.so 0x92c67a70 0x92686000 + 6768
45 libflutter.so 0x93c4841d 0x93808000 + 2479129629
46 <unknown> 0x91aea07e 0x0
Binary Images:
0x70ce6000 - 0x70cebfff boot.oat <unknown> <a5aba6935fbca63bc04dba77f21c89c0> /system/framework/arm/boot.oat
0x70cec000 - 0x70cf1fff boot-qcom.fmradio.oat <unknown> <2de6516cd840e2ebeb4dc13cbf95cdf9> /system/framework/arm/boot-qcom.fmradio.oat
0x70cf2000 - 0x70cf7fff boot-oem-services.oat <unknown> <19c7196cef63240226f9bb7b51473846> /system/framework/arm/boot-oem-services.oat
0x70cf8000 - 0x70cfdfff boot-tcmiface.oat <unknown> <55426c57643c8390bb160350ee22eee7> /system/framework/arm/boot-tcmiface.oat
0x70cfe000 - 0x70d03fff boot-telephony-ext.oat <unknown> <df38c91d43621847a84d2288be468429> /system/framework/arm/boot-telephony-ext.oat
0x70d04000 - 0x713fbfff boot-core-oj.oat <unknown> <3a3c40729b449d48ea3dbf54b08143b1> /system/framework/arm/boot-core-oj.oat
0x713fc000 - 0x716d2fff boot-core-libart.oat <unknown> <3a905b01ddfdcdf177582e905f497abf> /system/framework/arm/boot-core-libart.oat
0x716d3000 - 0x71737fff boot-conscrypt.oat <unknown> <c756a23fd091e7d0f9fcd9d4a447cefd> /system/framework/arm/boot-conscrypt.oat
0x71738000 - 0x717bafff boot-okhttp.oat <unknown> <ce200c047f9ea10d9a3376ec11237c9c> /system/framework/arm/boot-okhttp.oat
0x717bb000 - 0x7181ffff boot-bouncycastle.oat <unknown> <29c38004e1fa8a11ea64a8659fca742a> /system/framework/arm/boot-bouncycastle.oat
0x71820000 - 0x71828fff boot-apache-xml.oat <unknown> <36c61542b05bb3f9166a5dbb57ef388b> /system/framework/arm/boot-apache-xml.oat
0x71829000 - 0x71831fff boot-legacy-test.oat <unknown> <53f4c1ff25db33452e343aa6e7de8395> /system/framework/arm/boot-legacy-test.oat
0x71832000 - 0x7186bfff boot-ext.oat <unknown> <235f8b9f7910530bac78d97e42f67d5b> /system/framework/arm/boot-ext.oat
0x7186c000 - 0x72ca6fff boot-framework.oat <unknown> <12994a34c47dc62c01d838eee1935cd0> /system/framework/arm/boot-framework.oat
0x72ca7000 - 0x72f58fff boot-telephony-common.oat <unknown> <d58ae8c67a898a43f7fafa5da9008bb5> /system/framework/arm/boot-telephony-common.oat
0x72f59000 - 0x72f6dfff boot-voip-common.oat <unknown> <53404497cb52cf76f7010dd5a38066a4> /system/framework/arm/boot-voip-common.oat
0x72f6e000 - 0x72f8bfff boot-ims-common.oat <unknown> <ed54763d47af796982b6fa7fc52f6015> /system/framework/arm/boot-ims-common.oat
0x72f8c000 - 0x73012fff boot-org.apache.http.legacy.boot.oat <unknown> <80551d2a670a7cf4087f9310a274bc52> /system/framework/arm/boot-org.apache.http.legacy.boot.oat
0x73013000 - 0x73018fff boot-android.hidl.base-V1.0-java.oat <unknown> <be5631a1e7263e6925c582dec551c7f7> /system/framework/arm/boot-android.hidl.base-V1.0-java.oat
0x73019000 - 0x73022fff boot-android.hidl.manager-V1.0-java.oat <unknown> <a5be746d4d0071739109ab5c74551285> /system/framework/arm/boot-android.hidl.manager-V1.0-java.oat
0x7e041000 - 0x86b11fff base.odex <unknown> <00000000000000000000000000000000> /data/app/com.google.android.gms-xhy1MTGLYRC_YW0Cxiqgog==/oat/arm/base.odex
0x86b56000 - 0x86b5cfff app_process32 <unknown> <f50c5119fd995731c189554d9cbd29fa> /system/bin/app_process32
0x873c3000 - 0x8747dfff libconscrypt_gmscore_jni.so <unknown> <1ebe804fcbcd08e39a3e7a031339ad96> /data/app/com.google.android.gms-xhy1MTGLYRC_YW0Cxiqgog==/lib/arm/libconscrypt_gmscore_jni.so
0x8bf9c000 - 0x8bfaafff com.android.location.provider.odex <unknown> <7ca7e06958a8cf312c0f67e5e138454c> /system/framework/oat/arm/com.android.location.provider.odex
0x8c383000 - 0x8c387fff com.android.media.remotedisplay.odex <unknown> <f129614b8fa3816b858b809894d427e4> /system/framework/oat/arm/com.android.media.remotedisplay.odex
0x8cb17000 - 0x8cb1dfff libsentry-android.so <unknown> <62621bfab33a2ad1a25bdbe5befcf854> /data/app/com.calistree.calistree-iguWy6nURXyad1SMVCk6BQ==/lib/arm/libsentry-android.so
0x8cb43000 - 0x8cc24fff libsentry.so <unknown> <4ac67303ea2bda6e5d5c08f0254ce3b1> /data/app/com.calistree.calistree-iguWy6nURXyad1SMVCk6BQ==/lib/arm/libsentry.so
0x90c85000 - 0x91677fff base.odex <unknown> <00000000000000000000000000000000> /data/app/com.android.chrome-VQ_twq6N883XGbGR6WFMlw==/oat/arm/base.odex
0x92686000 - 0x933defff libapp.so <unknown> <d074b26d3d347a4b0503485b12f6b708> /data/app/com.calistree.calistree-iguWy6nURXyad1SMVCk6BQ==/lib/arm/libapp.so
0x93808000 - 0x93e32fff libflutter.so <unknown> <ee5d0a86d8e2b0b3cc6ec3ac393d4a08> /data/app/com.calistree.calistree-iguWy6nURXyad1SMVCk6BQ==/lib/arm/libflutter.so
0x93fa3000 - 0x93fa9fff libgrallocutils.so <unknown> <6fee69822f2b2bddfcc6de2bf7d72ce9> /system/vendor/lib/libgrallocutils.so
0x93fe6000 - 0x93ff6fff gralloc.msm8937.so <unknown> <c7ac4606a65b38bd67f7b15a9d77a604> /system/vendor/lib/hw/gralloc.msm8937.so
0x94008000 - 0x9400dfff libqdMetaData.so <unknown> <58f505c9801d74a1149cb81be18bee66> /system/vendor/lib/libqdMetaData.so
0x94f0a000 - 0x94f63fff DynamiteLoader.odex <unknown> <00000000000000000000000000000000> /data/user_de/0/com.google.android.gms/app_chimera/m/000002d0/oat/arm/DynamiteLoader.odex
0x95ce0000 - 0x95d21fff base.odex <unknown> <00000000000000000000000000000000> /data/app/com.calistree.calistree-iguWy6nURXyad1SMVCk6BQ==/oat/arm/base.odex
0x9adaf000 - 0x9f17cfff base.apk <unknown> <e893f572543a9812e06ba15ddb1cf6b1> /data/app/com.android.chrome-VQ_twq6N883XGbGR6WFMlw==/base.apk
0xa2205000 - 0xa220afff libwebviewchromium_loader.so <unknown> <e263eac2a6a2a7ccb59b27d829580885> /system/lib/libwebviewchromium_loader.so
0xa22cb000 - 0xa22d3fff libcompiler_rt.so <unknown> <ba8d98125d37e1748cf463c782817833> /system/lib/libcompiler_rt.so
0xa2305000 - 0xa231bfff eglSubDriverAndroid.so <unknown> <00000000000000000000000000000000> /system/vendor/lib/egl/eglSubDriverAndroid.so
0xa2351000 - 0xa2d1dfff libllvm-glnext.so <unknown> <1e31c380089aee04fcf2d6be3612c456> /system/vendor/lib/libllvm-glnext.so
0xa2d40000 - 0xa31a0fff libESXGLESv2_adreno.so <unknown> <00000000000000000000000000000000> /system/vendor/lib/egl/libESXGLESv2_adreno.so
0xa58cc000 - 0xa58d6fff libGLESv2_adreno.so <unknown> <00000000000000000000000000000000> /system/vendor/lib/egl/libGLESv2_adreno.so
0xa5901000 - 0xa5907fff libGLESv1_CM_adreno.so <unknown> <00000000000000000000000000000000> /system/vendor/lib/egl/libGLESv1_CM_adreno.so
0xa5947000 - 0xa5975fff libESXGLESv1_CM_adreno.so <unknown> <00000000000000000000000000000000> /system/vendor/lib/egl/libESXGLESv1_CM_adreno.so
0xa59a1000 - 0xa59abfff libadreno_utils.so <unknown> <00000000000000000000000000000000> /system/vendor/lib/libadreno_utils.so
0xa59ce000 - 0xa59defff libESXEGL_adreno.so <unknown> <00000000000000000000000000000000> /system/vendor/lib/egl/libESXEGL_adreno.so
0xa5a26000 - 0xa5a2dfff libEGL_adreno.so <unknown> <00000000000000000000000000000000> /system/vendor/lib/egl/libEGL_adreno.so
0xa5a75000 - 0xa5bb4fff libgsl.so <unknown> <00000000000000000000000000000000> /system/vendor/lib/libgsl.so
0xa5bc7000 - 0xa5bd1fff android.hardware.graphics.mapper@2.0-impl.so <unknown> <a2701906fa39e7ee77d64f2bbe2ff784> /system/vendor/lib/hw/android.hardware.graphics.mapper@2.0-impl.so
0xa5d47000 - 0xa5d65fff libjavacrypto.so <unknown> <d6ec9bf9daeb7a0de58da8787072f867> /system/lib/libjavacrypto.so
0xa5d96000 - 0xa5da1fff libsoundpool.so <unknown> <f43fd6954094ca74f918e2fd911aaf0d> /system/lib/libsoundpool.so
0xa8593000 - 0xa8733fff libart-compiler.so <unknown> <8e5d4df8922b06b96f10106d8d1e1c70> /system/lib/libart-compiler.so
0xa8760000 - 0xa8833fff libvixl-arm.so <unknown> <9d33a6ed16150f7c8ac7c689726315b6> /system/lib/libvixl-arm.so
0xa884f000 - 0xa8875fff libart-dexlayout.so <unknown> <3f3674dbd7df5b0a34a6ae6678464ccc> /system/lib/libart-dexlayout.so
0xa8887000 - 0xa88b6fff libssl.so <unknown> <d900a03cfe53f77d5a0cc2dbec6440b3> /system/lib/libssl.so
0xa88d2000 - 0xa88fafff libopenjdk.so <unknown> <aef6038c434deb57162e94e3ef083a0e> /system/lib/libopenjdk.so
0xa891f000 - 0xa8928fff libopenjdkjvm.so <unknown> <3e17cbd51a968346c589412f48e68f73> /system/lib/libopenjdkjvm.so
0xa9f83000 - 0xa9fb6fff libjavacore.so <unknown> <04e634393f91dce85a12149a1ccb1ef0> /system/lib/libjavacore.so
0xa9fe9000 - 0xa9feefff libwebviewchromium_plat_support.so <unknown> <ab4b8878064231a9bb781213bcc22d07> /system/lib/libwebviewchromium_plat_support.so
0xaa01f000 - 0xaa02dfff libRS.so <unknown> <114052b80add17a88014f3d48dc6b161> /system/lib/libRS.so
0xaa070000 - 0xaa0b6fff android.hardware.renderscript@1.0.so <unknown> <d6f04b1c439e4e86c0cb038ea69eb184> /system/lib/android.hardware.renderscript@1.0.so
0xaa0cf000 - 0xaa0d4fff libOpenSLES.so <unknown> <6fa0172b637d20a47c7e3efa9ec9c498> /system/lib/libOpenSLES.so
0xaa122000 - 0xaa127fff libOpenMAXAL.so <unknown> <eeb4b8e2270b6fde9cd73a27bac043dd> /system/lib/libOpenMAXAL.so
0xaa140000 - 0xaa174fff android.hardware.neuralnetworks@1.0.so <unknown> <fee6b838b2cd63eaf792cc3ab5749a53> /system/lib/android.hardware.neuralnetworks@1.0.so
0xaa184000 - 0xaa1effff libneuralnetworks.so <unknown> <119ff5baaf3b1f68ad6a61833673102a> /system/lib/libneuralnetworks.so
0xaa3b2000 - 0xaa3b9fff libtextclassifier_hash.so <unknown> <14750183307e2e6ec19e2fef33fff0cd> /system/lib/libtextclassifier_hash.so
0xaa3f9000 - 0xaa3fdfff libjnigraphics.so <unknown> <1f2d2389d079b05cbdf3934197b7301c> /system/lib/libjnigraphics.so
0xaa404000 - 0xaa415fff libGLESv3.so <unknown> <7f309cfb567e4af51e0212880ae51da7> /system/lib/libGLESv3.so
0xaa453000 - 0xaa468fff libmediandk.so <unknown> <c55ac31f46fbd8d9d16c5314d0ad5fc2> /system/lib/libmediandk.so
0xaa493000 - 0xaa4dffff libmedia_jni.so <unknown> <4d9b883fd685ee7a0556366557b5fe2b> /system/lib/libmedia_jni.so
0xaa505000 - 0xaa52efff libexif.so <unknown> <38eaf6028e9e65721c530bd3ee6f3b9c> /system/lib/libexif.so
0xaa55a000 - 0xaa57bfff libmtp.so <unknown> <3b9b94cf4e579c0dbd603e8d8cf3253d> /system/lib/libmtp.so
0xaa583000 - 0xaa591fff libmidi.so <unknown> <4dd314ebc535bf136d39aef0babb0f1c> /system/lib/libmidi.so
0xaa5e2000 - 0xaa5f9fff libcamera2ndk.so <unknown> <ffaa93852609188972214f40cb902f6a> /system/lib/libcamera2ndk.so
0xaa601000 - 0xaa624fff libaaudio.so <unknown> <5df6bcf2109b8ef7d8237636a018544c> /system/lib/libaaudio.so
0xaa65e000 - 0xaa676fff libandroid.so <unknown> <de546a28eee2820427de155b50c69d08> /system/lib/libandroid.so
0xaf78c000 - 0xafbe5fff libart.so <unknown> <72b6125e201f7153e3a133d34ea153df> /system/lib/libart.so
0xafc34000 - 0xafc38fff libExtendedExtractor.so <unknown> <80627d459bdd53f2a6adaac54a9d37a4> /system/lib/libExtendedExtractor.so
0xafc57000 - 0xafcaefff libstagefright_omx.so <unknown> <999cc1160f249e4ba52d0e48fdfaa7ef> /system/lib/libstagefright_omx.so
0xafcc1000 - 0xafcfcfff libavenhancements.so <unknown> <584ceb4955c997be89013cea1dc51482> /system/lib/libavenhancements.so
0xafd01000 - 0xafda2fff libmediaplayerservice.so <unknown> <fe8fd34d2496cb559a1dcba6795714d2> /system/lib/libmediaplayerservice.so
0xafdc6000 - 0xafdeffff libstagefright_httplive.so <unknown> <d069503af97f857ee3bee854d88fe5fe> /system/lib/libstagefright_httplive.so
0xafe01000 - 0xafe32fff libstagefright_wfd.so <unknown> <b8184f341df9bdc963567193ea499b12> /system/lib/libstagefright_wfd.so
0xafe6b000 - 0xafe72fff libvendorconn.so <unknown> <f4e131306a7140cba2cdb55e92b8edc0> /system/lib/libvendorconn.so
0xaff96000 - 0xaffabfff android.hidl.token@1.0.so <unknown> <53f687f17fdf4c726fd84eeaaec5f5c8> /system/lib/android.hidl.token@1.0.so
0xaffe1000 - 0xaffe5fff libvndksupport.so <unknown> <7ce4568f9d1080d3ba858016fec47fdb> /system/lib/libvndksupport.so
0xb000f000 - 0xb002cfff libminikin.so <unknown> <90376a876e89d105658955a1393279d9> /system/lib/libminikin.so
0xb0056000 - 0xb0073fff android.hardware.configstore@1.0.so <unknown> <c9fa228e65afc0579ffcf2ba1fdea828> /system/lib/android.hardware.configstore@1.0.so
0xb008a000 - 0xb00aafff libmemunreachable.so <unknown> <8979056926cbbb5c19fe82720e4b8a39> /system/lib/libmemunreachable.so
0xb00ee000 - 0xb00f3fff libstdc++.so <unknown> <f5e1922e9b8e203671ac2cf540ec6b0e> /system/lib/libstdc++.so
0xb0109000 - 0xb0121fff libvulkan.so <unknown> <04f268630fa665f6be066763e5cbdda7> /system/lib/libvulkan.so
0xb014e000 - 0xb06abfff libskia.so <unknown> <fe422161eeb7d3b67f2507a2b4fbb2ac> /system/lib/libskia.so
0xb06de000 - 0xb06edfff libaudioutils.so <unknown> <725282ca7719c6c36cc034be2c78b61f> /system/lib/libaudioutils.so
0xb0703000 - 0xb07f3fff libsqlite.so <unknown> <21001b168aa507105d14755730d35393> /system/lib/libsqlite.so
0xb0814000 - 0xb0836fff libinput.so <unknown> <7ea6d9fd3a858cdaa0402637a189e47a> /system/lib/libinput.so
0xb0858000 - 0xb0872fff libdrmframework.so <unknown> <f00d73a1d7778a78d4c6da84328edc6e> /system/lib/libdrmframework.so
0xb0883000 - 0xb08b4fff libRScpp.so <unknown> <975c0d643b8afe451d440aac1259dfda> /system/lib/libRScpp.so
0xb08c1000 - 0xb08cafff libcamera_metadata.so <unknown> <cfb90d236462bcbe50b6579d1a0fc597> /system/lib/libcamera_metadata.so
0xb0919000 - 0xb0aa3fff libicui18n.so <unknown> <e86dab2ed0136695cf08a285e7662dc1> /system/lib/libicui18n.so
0xb0aed000 - 0xb0af2fff libETC1.so <unknown> <6febbcec1dcef2c5a5f94a2159774bad> /system/lib/libETC1.so
0xb0b0a000 - 0xb0b14fff libaudiomanager.so <unknown> <548d8560ac40cf7f6d044e571a704148> /system/lib/libaudiomanager.so
0xb0b42000 - 0xb0b4bfff libGLESv1_CM.so <unknown> <f82ec6e7b46ee3e06f01ed3b22a043dc> /system/lib/libGLESv1_CM.so
0xb0ba1000 - 0xb0c29fff libdng_sdk.so <unknown> <dce807a8ce3bdcdbf17e14149ca136c7> /system/lib/libdng_sdk.so
0xb0c59000 - 0xb0d7bfff libicuuc.so <unknown> <429f6016e856ec393187185ba84982f4> /system/lib/libicuuc.so
0xb0da4000 - 0xb0dbbfff libexpat.so <unknown> <e1a74feefed7e056ab6e5f88cdb108b2> /system/lib/libexpat.so
0xb0df0000 - 0xb0dfbfff libtinyxml2.so <unknown> <b73ae4afc7b5f05980e79f2c33b9175f> /system/lib/libtinyxml2.so
0xb0e1e000 - 0xb0e22fff android.hardware.configstore-utils.so <unknown> <89cf8bea223c1444da535b3b08cf9e84> /system/lib/android.hardware.configstore-utils.so
0xb0e4c000 - 0xb0e7dfff libprotobuf-cpp-lite.so <unknown> <c6836ab6a63c918f144858ef22e3ee51> /system/lib/libprotobuf-cpp-lite.so
0xb0e88000 - 0xb0efffff libft2.so <unknown> <8b4b8a73dbb83a8db216c30a8fd967d3> /system/lib/libft2.so
0xb0f1f000 - 0xb0f31fff libpiex.so <unknown> <589ce68203e5b5b609d24b5e2a30e601> /system/lib/libpiex.so
0xb0f40000 - 0xb0f6efff libwilhelm.so <unknown> <cb8ae6c0299cd00546d93da89c333cb6> /system/lib/libwilhelm.so
0xb0f8d000 - 0xb0fcefff libandroidfw.so <unknown> <4e394486c31738bfb56766b38d80b053> /system/lib/libandroidfw.so
0xb100f000 - 0xb1036fff libmediadrm.so <unknown> <2ddf2e6278c93cc2e5a6427a6410c334> /system/lib/libmediadrm.so
0xb1050000 - 0xb1060fff libbase.so <unknown> <9a649ca3a87a9179d4ce6d0ebf4e0d01> /system/lib/libbase.so
0xb109c000 - 0xb10a1fff libnativebridge.so <unknown> <7f575d8dc4b30ccd015049c0ab88306f> /system/lib/libnativebridge.so
0xb10cb000 - 0xb1121fff android.hardware.media.omx@1.0.so <unknown> <3d5df22ffef3ca3b2463c6b58770c2f7> /system/lib/android.hardware.media.omx@1.0.so
0xb1152000 - 0xb116afff libpcre2.so <unknown> <57ec46cd258f9ead4df41951ea221b35> /system/lib/libpcre2.so
0xb1194000 - 0xb11aafff libunwind.so <unknown> <fa885964992351973bfd65933de8a21e> /system/lib/libunwind.so
0xb1215000 - 0xb12b7fff libhwui.so <unknown> <059b8a42751989716fd8d27c3cfcb27f> /system/lib/libhwui.so
0xb12dc000 - 0xb12ebfff libcutils.so <unknown> <d0578700dc1ee3a0fa6892ffd48d85ad> /system/lib/libcutils.so
0xb1338000 - 0xb133dfff android.hidl.token@1.0-utils.so <unknown> <38c0244f8da0e2e35a7170aaa5e9db54> /system/lib/android.hidl.token@1.0-utils.so
0xb1359000 - 0xb135efff libnetd_client.so <unknown> <1b056568ce86bbc82a7137dcbd478d6e> /system/lib/libnetd_client.so
0xb1396000 - 0xb139dfff libnativeloader.so <unknown> <d353b93b5edfa7244a54863a1015b0bc> /system/lib/libnativeloader.so
0xb13c3000 - 0xb13cafff libnativehelper.so <unknown> <8653d71b05114c42fca78370732140fd> /system/lib/libnativehelper.so
0xb1414000 - 0xb1597fff libstagefright.so <unknown> <6d604309be95e23c6eec395ed19c68ef> /system/lib/libstagefright.so
0xb15c5000 - 0xb1a36fff libpdfium.so <unknown> <ba5c1e958252806c50d407974a68d986> /system/lib/libpdfium.so
0xb1a57000 - 0xb1a65fff libmediautils.so <unknown> <d760574b998102464e78570fa7abb224> /system/lib/libmediautils.so
0xb1a95000 - 0xb1a99fff libstagefright_http_support.so <unknown> <0ce86db99fe8f1e350327f7347abc091> /system/lib/libstagefright_http_support.so
0xb1ac7000 - 0xb1b57fff libc++.so <unknown> <1509f8849d1edb47a79c70820d78cf61> /system/lib/libc++.so
0xb1ba7000 - 0xb1bb8fff libGLESv2.so <unknown> <13c3615ade3180b02fa39ff666a7e23f> /system/lib/libGLESv2.so
0xb1bd9000 - 0xb1be6fff libhidlbase.so <unknown> <7260aca31a8426e6bde9d10ed26c9fda> /system/lib/libhidlbase.so
0xb1c20000 - 0xb1c70fff libaudioclient.so <unknown> <47f0f160f6a69a3a3a3225f61ffef81e> /system/lib/libaudioclient.so
0xb1c9f000 - 0xb1cabfff libziparchive.so <unknown> <68ef3ea6c6f22cb73511aeb37a5a14ee> /system/lib/libziparchive.so
0xb1cdb000 - 0xb1cf8fff libhwbinder.so <unknown> <ac67a71c34256274ff6b2bf5b09de106> /system/lib/libhwbinder.so
0xb1d1b000 - 0xb1d27fff libappfuse.so <unknown> <6a2b44d217a148cfda4952d82afd345f> /system/lib/libappfuse.so
0xb1d57000 - 0xb1d68fff libmedia_helper.so <unknown> <09f8c6ab9539ece4fa13288dbe4f0273> /system/lib/libmedia_helper.so
0xb1d95000 - 0xb1dadfff liblzma.so <unknown> <f1c4fe931d0c1398ec086440528f4cb6> /system/lib/liblzma.so
0xb1dd5000 - 0xb1ddafff libusbhost.so <unknown> <a295da6b290b95185fef366877cf79df> /system/lib/libusbhost.so
0xb1e35000 - 0xb1e3bfff libnativewindow.so <unknown> <922aa7530d85c64702764a0feb2f5186> /system/lib/libnativewindow.so
0xb1e5b000 - 0xb1e77fff android.hidl.memory@1.0.so <unknown> <e4c7967d8d7988fae2775914bc5c9f7c> /system/lib/android.hidl.memory@1.0.so
0xb1e90000 - 0xb1ea7fff libutils.so <unknown> <17e2a7e5806256f5fcd6d4e279787daa> /system/lib/libutils.so
0xb1ecb000 - 0xb2016fff libandroid_runtime.so <unknown> <5d507c309379cdc75b1e9881da197de9> /system/lib/libandroid_runtime.so
0xb2063000 - 0xb2078fff android.hidl.allocator@1.0.so <unknown> <ec247a9634407cf60092f4d7b002594d> /system/lib/android.hidl.allocator@1.0.so
0xb208e000 - 0xb20a1fff liblog.so <unknown> <8bc5a728e07697f813fe69cc8bba66b4> /system/lib/liblog.so
0xb20ca000 - 0xb20e4fff android.hardware.cas.native@1.0.so <unknown> <76b0f3e7a9a49081e9113a96c8bcef66> /system/lib/android.hardware.cas.native@1.0.so
0xb2101000 - 0xb2114fff libsensor.so <unknown> <c0947cb5593f23f40ada35f9459f22d8> /system/lib/libsensor.so
0xb2154000 - 0xb2171fff libEGL.so <unknown> <4440270d1fd389558bb03f28186ff56c> /system/lib/libEGL.so
0xb2180000 - 0xb21f8fff libharfbuzz_ng.so <unknown> <5db8bddffc4f3d398aea7a4d3413ebf3> /system/lib/libharfbuzz_ng.so
0xb220e000 - 0xb2279fff libgui.so <unknown> <f78942edcf6f8942af7a37f56e2e90fd> /system/lib/libgui.so
0xb2280000 - 0xb22e9fff libbinder.so <unknown> <0cda683121ea23bbea79e6d63f3831ec> /system/lib/libbinder.so
0xb230a000 - 0xb231ffff libbacktrace.so <unknown> <db74aeafd7e8675ee9bc36eaeb555ff4> /system/lib/libbacktrace.so
0xb2364000 - 0xb2374fff libimg_utils.so <unknown> <3800cb2ccefeaa334878fd3cc07de312> /system/lib/libimg_utils.so
0xb2387000 - 0xb238bfff libpackagelistparser.so <unknown> <8a9bef1620cf6b22d3c17c8e7f6f9b45> /system/lib/libpackagelistparser.so
0xb23d2000 - 0xb23d6fff libhardware.so <unknown> <2db1f567bf2390a52b716914adcfe87b> /system/lib/libhardware.so
0xb240d000 - 0xb2431fff libstagefright_foundation.so <unknown> <7ea0e42847e4dd4ce1dc2dc7a056ea54> /system/lib/libstagefright_foundation.so
0xb2451000 - 0xb2461fff libstagefright_xmlparser.so <unknown> <e5d3049bf470c042adc2f9c6739bfd9b> /system/lib/libstagefright_xmlparser.so
0xb24a1000 - 0xb24acfff android.hardware.graphics.common@1.0.so <unknown> <43290d02bc98702ce3e4a954489b9190> /system/lib/android.hardware.graphics.common@1.0.so
0xb24d9000 - 0xb24f9fff libvorbisidec.so <unknown> <a69420cc73ab29c9c103b2a358292a6b> /system/lib/libvorbisidec.so
0xb2501000 - 0xb253bfff libcamera_client.so <unknown> <faad3cc3863446534552eb48b20ae9a5> /system/lib/libcamera_client.so
0xb255e000 - 0xb25b4fff libsonivox.so <unknown> <c6369e234e0d90fd40a020ac4d95752e> /system/lib/libsonivox.so
0xb25cb000 - 0xb25d2fff android.hardware.media@1.0.so <unknown> <055f2f8a848959590c97cbf4675d92e2> /system/lib/android.hardware.media@1.0.so
0xb2621000 - 0xb263bfff android.hardware.graphics.mapper@2.0.so <unknown> <44930c6e928ebf99d8f5444a07f8b05d> /system/lib/android.hardware.graphics.mapper@2.0.so
0xb2673000 - 0xb267afff libheif.so <unknown> <66a225c1cdaec848c0869633538b4ead> /system/lib/libheif.so
0xb26bb000 - 0xb26bffff libgraphicsenv.so <unknown> <aa5c45eb36a8b646f45133e20deea5f0> /system/lib/libgraphicsenv.so
0xb26da000 - 0xb26dffff libmemtrack.so <unknown> <d350d0dc52e610b8c78217fd88eecdb0> /system/lib/libmemtrack.so
0xb272c000 - 0xb2730fff libsync.so <unknown> <14b79b13341a85bb920925d997eeb51a> /system/lib/libsync.so
0xb2757000 - 0xb277bfff libpng.so <unknown> <a03a5bee7b7b7f6841db45f5a972b6e5> /system/lib/libpng.so
0xb2790000 - 0xb2820fff libc.so <unknown> <b94158ba73e3f9ff039d21dbcbf73a2e> /system/lib/libc.so
0xb2841000 - 0xb2856fff android.hardware.graphics.allocator@2.0.so <unknown> <4884c6e3fb41f7d337c1deb2c7f764af> /system/lib/android.hardware.graphics.allocator@2.0.so
0xb289f000 - 0xb28e0fff libvintf.so <unknown> <3450cca7944cc394ca36eb63ae1cf720> /system/lib/libvintf.so
0xb2924000 - 0xb2928fff libdl.so <unknown> <9671de66fcf33d2c1990838e4e4498df> /system/lib/libdl.so
0xb2948000 - 0xb295afff libselinux.so <unknown> <8880d6ba795de570a4c1cd02275b99ff> /system/lib/libselinux.so
0xb2999000 - 0xb299ffff libhidlmemory.so <unknown> <1497e55c173f47432d6fd1d645cc715f> /system/lib/libhidlmemory.so
0xb29cc000 - 0xb29e3fff android.hardware.memtrack@1.0.so <unknown> <24c68604217624d681dd17ca8ef7926a> /system/lib/android.hardware.memtrack@1.0.so
0xb2a01000 - 0xb2a7efff libmedia.so <unknown> <b4c00593d2b51febe8e501ecb14455a7> /system/lib/libmedia.so
0xb2a9c000 - 0xb2aa2fff libpowermanager.so <unknown> <bc0a1756eff706506eef0d5f3a27e7af> /system/lib/libpowermanager.so
0xb2af7000 - 0xb2afbfff libhardware_legacy.so <unknown> <9ea78e91dee490d02dc5fcda28e5922a> /system/lib/libhardware_legacy.so
0xb2b11000 - 0xb2b55fff libjpeg.so <unknown> <fbb8a7535c74f3c1bc5bb20a47c71a5c> /system/lib/libjpeg.so
0xb2b80000 - 0xb2bb0fff android.hardware.graphics.bufferqueue@1.0.so <unknown> <038cf7e556a36cc81e9ab92251d19b22> /system/lib/android.hardware.graphics.bufferqueue@1.0.so
0xb2bd5000 - 0xb2bdbfff libspeexresampler.so <unknown> <c61fe96e337c5f053e527139a63f8322> /system/lib/libspeexresampler.so
0xb2c17000 - 0xb2c38fff libm.so <unknown> <03a7a955cadcea55e3ff7cfdc2ff919c> /system/lib/libm.so
0xb2c4a000 - 0xb2c7cfff android.hardware.cas@1.0.so <unknown> <ef773b15b105931184d15dbe52c8d36f> /system/lib/android.hardware.cas@1.0.so
0xb2ca2000 - 0xb2caffff libsoundtrigger.so <unknown> <71dc5d6fe5aacda7aaf1f415d40d7165> /system/lib/libsoundtrigger.so
0xb2ccd000 - 0xb2cfcfff libmedia_omx.so <unknown> <ee10504a2d532e45eb19518280fad026> /system/lib/libmedia_omx.so
0xb2d20000 - 0xb2d2bfff libmediametrics.so <unknown> <cfa86f64d3d1b386e709cda914fb7a62> /system/lib/libmediametrics.so
0xb2d44000 - 0xb2d90fff android.hardware.drm@1.0.so <unknown> <7ad46c744382a87e4b561f0fafb8ccfa> /system/lib/android.hardware.drm@1.0.so
0xb2dc3000 - 0xb2dcbfff libprocessgroup.so <unknown> <13bfe82d9553dec6b9b9fe9ce50dc095> /system/lib/libprocessgroup.so
0xb2e21000 - 0xb2e39fff libz.so <unknown> <ae3983ccff6fa1ca98d52e2b2b3e957e> /system/lib/libz.so
0xb2e5f000 - 0xb2e76fff libstagefright_flacdec.so <unknown> <47c4431df8db6a8b8f54ab87e6658fd7> /system/lib/libstagefright_flacdec.so
0xb2ea2000 - 0xb2eeefff libhidltransport.so <unknown> <62053cc7cded5a6448c1da5df7e2bd33> /system/lib/libhidltransport.so
0xb2f23000 - 0xb2f3efff libui.so <unknown> <d2cd683c773439ce361f5e77811cc384> /system/lib/libui.so
0xb2f6d000 - 0xb2f72fff libstagefright_omx_utils.so <unknown> <ef88bd9f9317bde97cead950af7b579c> /system/lib/libstagefright_omx_utils.so
0xb2fa8000 - 0xb2faffff libdebuggerd_client.so <unknown> <60a66ca407208c424c2f05fc9df53b89> /system/lib/libdebuggerd_client.so
0xb2fc5000 - 0xb3072fff libcrypto.so <unknown> <b7cc5e518f12b0a26318b9b4287701e4> /system/lib/libcrypto.so
0xb3264000 - 0xb326afff libtombstoned_client.so <unknown> <cb9dc5f40b7a73fc67a6bad9ae7a9db2> /system/lib/libtombstoned_client.so
0xb340c000 - 0xb341bfff liblz4.so <unknown> <619ee177c8c2b33f9cc9292e46d41bf3> /system/lib/liblz4.so
0xb355e000 - 0xb3562fff libsigchain.so <unknown> <700f2297c6cc8ac3b732827f1c2a8cdd> /system/lib/libsigchain.so
0xb37d3000 - 0xb385efff linker <unknown> <44052ab891e472ab5f2c0b77e328b8f4> /system/bin/linker
pubspec.yaml:
name: calistree
description: Bodyweight fitness app.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 2.4.10+54
environment:
sdk: '>=2.12.0 <3.0.0'
dependencies:
algolia: ^1.0.1
animations: ^2.0.0
audio_session: ^0.1.2
chewie: ^1.2.0
cloud_firestore: ^2.2.1
cloud_functions: ^3.0.1
collection: ^1.15.0
confetti: ^0.6.0-nullsafety
crypto: ^3.0.1
cupertino_icons: ^1.0.3
delayed_display: ^2.0.0
device_preview: ^0.7.3
extended_image: ^5.1.0
firebase_analytics: ^8.1.1
firebase_auth: ^3.0.2
firebase_core: ^1.2.1
firebase_crashlytics: ^2.2.1
firebase_dynamic_links: ^2.0.5
firebase_performance: ^0.7.1+1
firebase_storage: ^10.0.2
fl_chart: ^0.40.0
flutter:
sdk: flutter
flutter_cache_manager: ^3.1.1
flutter_keyboard_visibility: ^5.0.3
flutter_local_notifications: ^8.1.1+1
flutter_localizations:
sdk: flutter
flutter_native_timezone: ^2.0.0
flutter_platform_widgets: ^1.9.0
flutter_riverpod: ^1.0.0-dev.7
font_awesome_flutter: ^9.0.0
freezed_annotation: ^0.14.3
google_fonts: ^2.1.0
google_sign_in: ^5.0.4
image_editor: ^1.0.1
image_picker: ^0.8.0+1
in_app_purchase: ^1.0.8
intl: ^0.17.0
introduction_screen: ^2.1.0
just_audio: ^0.9.7
number_display: ^3.0.0
package_info_plus: ^1.0.6
path_provider: ^2.0.2
percent_indicator: ^3.0.1
reactive_forms: ^10.4.1
share_plus: ^2.1.4
shared_preferences: ^2.0.6
sentry_flutter: ^6.0.1
sign_in_with_apple: ^3.0.0
string_similarity: ^2.0.0
transparent_image: ^2.0.0
uni_links: ^0.5.1
url_launcher: ^6.0.6
video_player: ^2.1.5
youtube_plyr_iframe: ^2.0.6
dev_dependencies:
build_runner: ^2.1.1
flutter_launcher_icons: ^0.9.1
flutter_native_splash: ^1.2.3
flutter_test:
sdk: flutter
freezed: ^0.14.5
integration_test:
sdk: flutter
mockito: ^5.0.14
#run "flutter pub run flutter_launcher_icons:main" to update
flutter_icons:
ios: true
android: true
remove_alpha_ios: true
image_path: 'assets/Icon-Small.png'
flutter:
uses-material-design: true
assets:
- assets/
- admin_assets/
- fonts/
fonts:
- family: MyIcons
fonts:
- asset: fonts/MyIcons.ttf
flutter_intl:
enabled: true
main_locale: en_GB
localizely:
project_id: b071ea1c-6522-4b9f-bea2-6715e3b15746
app/build.gradle
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new FileNotFoundException ("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
compileSdkVersion 30
ndkVersion "23.0.7599858"
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
applicationId "com.calistree.calistree"
minSdkVersion 23
targetSdkVersion 30
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
ndk {
debugSymbolLevel 'FULL'
}
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation platform('com.google.firebase:firebase-bom:27.0.0')
implementation 'com.google.firebase:firebase-auth-ktx'
implementation 'com.google.android.gms:play-services-auth:19.0.0'
implementation 'com.google.firebase:firebase-crashlytics-ktx'
implementation 'com.google.firebase:firebase-analytics-ktx'
}
@flutter-symbolizer-bot https://github.com/flutter/flutter/issues/91370#issue-1018234179
@flutter-symbolizer-bot this
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> com.calistree.calistree <<<
backtrace:
#00 pc 0000000000845b98 /data/app/com.calistree.calistree-xilOcyZS04ijTWQ6Q7v_rQ==/lib/arm/libapp.so (offset 0x5e0000)
[√] Flutter (Channel stable, 2.5.2, on Microsoft Windows [Version 10.0.22000.194], locale en-US)
• Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 4.2)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
[√] VS Code (version 1.60.2)
• VS Code at C:\Users\louis\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.27.0
[√] Connected device (2 available)
• Chrome (web) • chrome • web-javascript • Google Chrome 94.0.4606.71
• Edge (web) • edge • web-javascript • Microsoft Edge 94.0.992.31
• No issues found!
@danagbemava-nc there are no flutter engine frames here, nothing that can be symbolized
Hi @louisdeveseleer, at the moment, there isn't enough information for us to go on.
If possible, kindly try to see if you can provide us any more information. If you have some application logs too, that may help in pointing out the source of the crash.
@louisdeveseleer what kind of Android device do you have? I suspect that devices that hit the issue are running 32-bit (ARMv7) builds of your application, while your device might be running 64-bit build. If this is the case you could try to force running ARMv7 version of your application on your device by building an APK which only includes ARMv7 version by specifying --target-platform android-arm
when building release APK.
You could also try disassembling your libapp.so
around the crash location and provide us with the disassembly - we might be able to figure out what is going on based on that. Something along the lines of:
$ llvm-objdump --disassemble --start-address=2499760 --stop-address=2499780 lib/armeabi-v7a/libapp.so
llvm-objdump
is available in the Android NDK
@mraleph thanks for your suggestions. I confirm that all devices that were reported on Sentry for that crash run on armeabi-v7a architecture. I'll try what you suggested and report here in the coming days!
@mraleph I built an armv7 apk, ran it on my device and it crashed exactly the same way as the users described!
flutter build apk --target-platform android-arm
was giving an apk that couldn't be launched, there were errors saying couldn't find "libflutter.so"
, so I ran instead flutter build apk --split-per-abi
and then flutter install .\app-armeabi-v7a-release.apk
.
flutter logs
didn't give me any information related to the crash though. So I tried installing a debug version, but this one did not crash. I researched more into that issue but couldn't find a solution. Do you have any ideas of where to go from here?
@louisdeveseleer I think there is a code generation issue which is ARMv7 specific. It would be simplest if you could upload your release ARMv7-only APK somewhere and provide us with the information on how to run it and reproduce the crash (e.g. if we need to click around in the app to reproduce it). Then we could look at the disassembly around the crash location and try to figure out what exactly the problem is.
It would be helpful if your build your APK with --extra-gen-snapshot-options=--dwarf-stack-traces,--no-strip
- that would make it possible for us to tell you which function exactly is causing the crash and work with you to locate the problem.
If that is not the option that what you need to do is to locate crash information in the adb logcat
output and then use llvm-objdump
to provide us with disassembly around the crash location.
@mraleph Thanks for your answer. Please find here a link containing the apk generated the way you described, along with instructions on how to get to the home page, which is where the crash happens: https://drive.google.com/drive/folders/1fpV5iXD3mqCrQnxdyfNE3vRCLlklgLPs?usp=sharing
@louisdeveseleer thanks for the APK. I was able to repro the crash and poke at it a bit in the debugger. Was this APK built with --extra-gen-snapshot-options=--dwarf-stack-traces,--no-strip
? That did not seem to work. Maybe you could rebuild the APK with --split-debug-info=foo
as an alternative and add upload both the new APK and debug information files from the foo
directory.
@mraleph Yes I did create the previous apk with this exact command: flutter build apk --split-per-abi --extra-gen-snapshot-options=--dwarf-stack-traces,--no-strip
.
I did rebuild now with flutter build apk --split-per-abi --split-debug-info=foo
and uploaded both the apk and the debug files to the previous link.
I couldn't find out how to use the .symbols files to read the crash stacktrace, would you mind explaining how you do that?
I couldn't find out how to use the .symbols files to read the crash stacktrace, would you mind explaining how you do that?
You can use llvm-symbolizer
like so:
$ llvm-symbolizer --obj=app.android-arm.symbols 0x05dbcb4 0x5dba64 0x005d037c 0x005d02e8 0x00489c10
Precompiled_AxisChartPainter__drawGrid_659010849_7524
package:fl_chart/src/chart/base/axis_chart/axis_chart_painter.dart:230:7
Precompiled_AxisChartPainter_paint_7523
package:fl_chart/src/chart/base/axis_chart/axis_chart_painter.dart:39:5
Precompiled_BarChartPainter_paint_7416
package:fl_chart/src/chart/bar_chart/bar_chart_painter.dart:42:11
Precompiled_RenderBarChart_paint_7415
package:fl_chart/src/chart/bar_chart/bar_chart_renderer.dart:83:14
Precompiled_RenderObject__paintWithContext_673266271_2282
package:flutter/src/rendering/object.dart:2409:7
Now that we know that the crash is in the AxisChartPainter__drawGrid
could you please do the following:
$ flutter clean
$ flutter build apk --release --target-platform android-arm --extra-gen-snapshot-options=--print-flow-graph,--print-flow-graph-filter=AxisChartPainter__drawGrid
and provide the output of that?
Here below is the output of that command. Now that I know it comes from the fl_chart package, I finally have a way to solve this, so thank you so much for your help :-) I also learned a lot about debugging. This issue looks like it might be related to this issue
Building with sound null safety
*** BEGIN CFG
After AllocateRegisters
==== package:fl_chart/src/chart/base/axis_chart/axis_chart_painter.dart_AxisChartPainter__drawGrid@659010849 (RegularFunction)
0: B0[graph]:0 {
v0 <- Constant(#null) T{Null?}
v9 <- Constant(#true) T{bool}
v98 <- Constant(#0) [0, 0] T{_Smi}
v288 <- Constant(#3585) [3585, 3585] T{_Smi}
v523 <- Constant(#4) [4, 4] T{_Smi}
v544 <- Constant(#16) [16, 16] T{_Smi}
v829 <- Constant(#4304) [4304, 4304] T{_Smi}
v830 <- Constant(#4305) [4305, 4305] T{_Smi}
v831 <- Constant(#4300) [4300, 4300] T{_Smi}
v832 <- Constant(#4302) [4302, 4302] T{_Smi}
v1050 <- Constant(#byteOffset) T{_OneByteString}
v1905 <- UnboxedConstant(#0.0 double) T{_Double}
(v2162, v2163) <- UnboxedConstant(#4278190080 int64) [4278190080, 4278190080] T{_Mint}
(v2164, v2165) <- UnboxedConstant(#7 int64) [7, 7] T{_Smi}
(v2170, v2171) <- UnboxedConstant(#19 int64) [19, 19] T{_Smi}
v2458 <- UnboxedConstant(#4 int32) T{_Smi}
v2465 <- UnboxedConstant(#16 int32) T{_Smi}
}
2: B4[function entry]:2 {
v2 <- Parameter(0) T{AxisChartPainter<X0>}
v3 <- Parameter(1) T{CanvasWrapper}
v4 <- Parameter(2) T{PaintHolder}
}
4: CheckStackOverflow:8(stack=0, loop=0)
5: ParallelMove r0 <- S+2
6: v5 <- LoadField(v4 . data {final}) T{X0}
7: ParallelMove r2 <- S+3, S-2 <- r1
8: v10 <- LoadField(v3 . size {final}) T{Size}
9: ParallelMove S-1 <- r3
10: PushArgument(v2)
12: PushArgument(v10)
14: PushArgument(v4)
16: v12 <- StaticCall:30( getChartUsableDrawSize<0> v2, v10, v4, using unchecked entrypoint, result_type = T{Size}) T{Size}
17: ParallelMove r1 <- r0, r0 <- S-2
18: ParallelMove S-4 <- r1
18: v14 <- LoadField(v5 . gridData {final}) T{FlGridData}
19: ParallelMove S-3 <- r2
20: v16 <- LoadField(v14 . drawVerticalLine {final}) T{bool}
21: ParallelMove r4 <- C
22: Branch if StrictCompare:38(===, v16, v9) goto (5, 18)
24: B5[target]:42 ParallelMove r3 <- C
26: v129 <- LoadField(v14 . verticalInterval {final}) T{_Double?}
28: Branch if StrictCompare:48(===, v129, v0) goto (6, 7)
30: B6[target]:52 ParallelMove r6 <- S-1
32: v796 <- LoadField(v10 T{Size} . _dx@15065589 {final}) T{_Double}
34: v803 <- LoadField(v5 T{X0} . maxX) T{_Double}
36: v805 <- LoadField(v5 T{X0} . minX) T{_Double}
38: v807 <- BinaryDoubleOp(-, v803, v805) T{_Double}
40: PushArgument(v796)
42: PushArgument(v807)
44: v211 <- StaticCall:58( getEfficientInterval<0> v796, v807, result_type = T{_Double}) T{_Double}
45: ParallelMove q0 <- q0
46: ParallelMove q0 <- q0 goto:64 B8
48: B7[target]:60
50: v1976 <- Unbox(v129 T{_Double}) T{_Double}
52: ParallelMove q0 <- q0 goto:66 B8
54: B8[join]:62 pred(B6, B7) {
v131 <- phi(v211, v1976) alive double T{_Double}
} ParallelMove r0 <- S-2
55: ParallelMove DS-30 <- q0
56: v133 <- LoadField(v5 . minX) T{_Double}
58: v135 <- BinaryDoubleOp(+, v133, v131) T{_Double}
59: ParallelMove DS-28 <- q2
60: v785 <- LoadField(v5 T{X0} . maxX) T{_Double}
62: v789 <- BinaryDoubleOp(-, v785, v133) T{_Double}
64: v1980 <- Box(v131) T{_Double}
65: ParallelMove S-5 <- r1
66: v1982 <- Box(v789) T{_Double}
68: PushArgument(v1982)
70: PushArgument(v1980)
72: v139 <- StaticCall:74( ~/<0> v1982, v1980, using unchecked entrypoint, result_type = T{int}) [-9223372036854775808, 9223372036854775807] T{int}
73: ParallelMove r1 <- r0, r0 <- S-2
74: v141 <- LoadField(v5 . minX) T{_Double}
75: ParallelMove DS-32 <- q0
76: PushArgument(v139)
78: PushArgument(v1980)
80: v143 <- StaticCall:78( *<0> v139, v1980, using unchecked entrypoint, recognized_kind = Integer_mul, result_type = T{_Double}) T{_Double}
81: ParallelMove r0 <- r0
82: v1984 <- Unbox(v143) T{_Double}
83: ParallelMove q1 <- DS-32
84: v145 <- BinaryDoubleOp(+, v141, v1984) T{_Double}
85: ParallelMove r1 <- S-2
86: v147 <- LoadField(v5 . maxX) T{_Double}
88: Branch if EqualityCompare(v145 == v147) T{bool} goto (9, 10)
90: B9[target]:92 ParallelMove q1 <- DS-30
92: v205 <- BinaryDoubleOp(-, v147, v131) T{_Double}
94: ParallelMove q0 <- q2 goto:104 B11
96: B10[target]:98 ParallelMove q1 <- DS-30
98: ParallelMove q0 <- q0 goto:106 B11
100: B11[join]:102 pred(B9, B10) {
v153 <- phi(v205, v147) alive double T{_Double}
} ParallelMove r4 <- S+4, r2 <- S-4, r3 <- S-3
101: ParallelMove DS-52 <- q0
102: v161 <- LoadField:200(v14 . checkToShowVerticalLine {final}) T{(dynamic, double) => bool}
103: ParallelMove S-5 <- r6
104: v169 <- LoadField:200(v14 . getDrawingVerticalLine {final}) T{(dynamic, double) => FlLine}
105: ParallelMove S-6 <- r8
106: v1369 <- LoadField:200(v12 . _dx@15065589 {final}) T{_Double}
107: ParallelMove DS-50 <- q2
108: v923 <- LoadClassId:200(v2) [-1073741824, 1073741823] T{_Smi}
109: ParallelMove S-7 <- r9
110: v903 <- LoadField:200(v5 T{X0} . titlesData {final}) T{FlTitlesData}
112: v905 <- LoadField:200(v903 . leftTitles {final}) T{SideTitles}
114: v912 <- LoadField:200(v905 . showTitles {final}) T{bool}
115: ParallelMove S-8 <- r6
116: v426 <- LoadClassId:200(v2) [-1073741824, 1073741823] T{_Smi}
117: ParallelMove S-13 <- r8
118: v408 <- LoadField:200(v903 . topTitles {final}) T{SideTitles}
120: v415 <- LoadField:200(v408 . showTitles {final}) T{bool}
121: ParallelMove S-14 <- r6
122: v749 <- LoadField:200(v12 . _dy@15065589 {final}) T{_Double}
123: ParallelMove DS-48 <- q3
124: v477 <- LoadField:200(v903 . topTitles {final}) T{SideTitles}
126: v484 <- LoadField:200(v477 . showTitles {final}) T{bool}
127: ParallelMove S-9 <- r0
128: v486 <- LoadField:200(v477 . reservedSize {final}) T{_Double}
130: v488 <- LoadField:200(v477 . margin {final}) T{_Double}
132: v490 <- BinaryDoubleOp:200(+, v486, v488) T{_Double}
133: ParallelMove DS-46 <- q6
134: v442 <- LoadField:200(v5 T{X0} . titlesData {final}) T{FlTitlesData}
136: v444 <- LoadField:200(v442 . topTitles {final}) T{SideTitles}
138: v451 <- LoadField:200(v444 . showTitles {final}) T{bool}
139: ParallelMove S-15 <- r0
140: v453 <- LoadField:200(v444 . reservedSize {final}) T{_Double}
142: v455 <- LoadField:200(v444 . margin {final}) T{_Double}
144: v457 <- BinaryDoubleOp:200(+, v453, v455) T{_Double}
145: ParallelMove DS-44 <- q8
146: v417 <- LoadField:200(v408 . reservedSize {final}) T{_Double}
148: v419 <- LoadField:200(v408 . margin {final}) T{_Double}
150: v421 <- BinaryDoubleOp:200(+, v417, v419) T{_Double}
151: ParallelMove DS-42 <- q11
152: v388 <- BinaryDoubleOp:200(+, v453, v455) T{_Double}
153: ParallelMove DS-40 <- q9
154: v914 <- LoadField:200(v905 . reservedSize {final}) T{_Double}
156: v916 <- LoadField:200(v905 . margin {final}) T{_Double}
158: v918 <- BinaryDoubleOp:200(+, v914, v916) T{_Double}
159: ParallelMove DS-38 <- q10
160: v872 <- LoadField:200(v442 . leftTitles {final}) T{SideTitles}
162: v879 <- LoadField:200(v872 . showTitles {final}) T{bool}
163: ParallelMove S-16 <- r3
164: v881 <- LoadField:200(v872 . reservedSize {final}) T{_Double}
166: v883 <- LoadField:200(v872 . margin {final}) T{_Double}
168: v885 <- BinaryDoubleOp:200(+, v881, v883) T{_Double}
169: ParallelMove DS-36 <- q14
170: v992 <- LoadClassId:200(v2) [-1073741824, 1073741823] T{_Smi}
171: ParallelMove S-10 <- r1
172: v987 <- BinaryDoubleOp:200(+, v914, v916) T{_Double}
173: ParallelMove DS-34 <- q12
174: v941 <- LoadField:200(v442 . leftTitles {final}) T{SideTitles}
176: v948 <- LoadField:200(v941 . showTitles {final}) T{bool}
177: ParallelMove S-11 <- r2
178: v950 <- LoadField:200(v941 . reservedSize {final}) T{_Double}
180: v952 <- LoadField:200(v941 . margin {final}) T{_Double}
182: v954 <- BinaryDoubleOp:200(+, v950, v952) T{_Double}
183: ParallelMove DS-32 <- q13
184: ParallelMove q4 <- DS-28, r8 <- r6, r9 <- r8, r6 <- r0 goto:200 B16
186: B16[join]:194 pred(B11, B14) {
v155 <- phi(v135, v165) alive double T{_Double}
} ParallelMove r0 <- S-8
187: ParallelMove DS-28 <- q4
188: CheckStackOverflow:198(stack=0, loop=1)
190: Branch if RelationalOp(<=, v155, v153) T{bool} goto (15, 17)
192: B15[target]:192
194: v1988 <- Box(v155) T{_Double}
195: ParallelMove S-12 <- r1
196: PushArgument(v161)
198: PushArgument(v1988)
199: ParallelMove r0 <- S-5, r2 <- r0
200: v163 <- ClosureCall:122( closure=v161<0>, v161, v1988) T{*?}
201: ParallelMove r0 <- r0, r1 <- r0
202: ParallelMove S-17 <- r1
202: AssertBoolean:124(v163) T{bool}
203: ParallelMove r1 <- C, r0 <- S-17
204: Branch if StrictCompare:126(===, v163 T{bool}, v9) goto (12, 13)
206: B12[target]:130 ParallelMove r2 <- S+4
208: PushArgument(v169)
210: PushArgument(v1988)
211: ParallelMove r0 <- S-6
212: v171 <- ClosureCall:138( closure=v169<0>, v169, v1988) T{*?}
213: ParallelMove r1 <- r0, r0 <- S+4
214: ParallelMove S-24 <- r1
214: v639 <- LoadField:4(v2 T{AxisChartPainter<X0>} . _gridPaint@659010849, CallsInitializer) T{Paint}
215: ParallelMove S-12 <- r2
216: v175 <- LoadField(v171 . color {final}) T{Color}
218: v854 <- LoadClassId(v175) [-1073741824, 1073741823] T{_Smi}
220: Branch if RelationalOp:10(<=, v854, v830) goto (185, 188)
222: B185[target]:10
224: Branch if RelationalOp:10(>=, v854, v829) goto (181, 186)
226: B181[target]:2
228: ParallelMove r6 <- C, r8 <- C goto:2 B180
230: B186[target]:10
232: ParallelMove goto:10 B187
234: B188[target]:10
236: ParallelMove goto:10 B187
238: B187[join]:10 pred(B186, B188) ParallelMove r6 <- C
240: Branch if StrictCompare:10(===, v854, v831) goto (189, 190)
242: B189[target]:2
244: ParallelMove r8 <- C goto:2 B180
246: B190[target]:10 ParallelMove r8 <- C
248: Branch if StrictCompare:10(===, v854, v832) goto (191, 192)
250: B191[target]:2
252: ParallelMove goto:2 B180
254: B180[join]:2 pred(B181, B189, B191)
256: (v840, v841) <- LoadField(v175 T{Color} . value {final}) [-9223372036854775808, 9223372036854775807] T{int}
258: ParallelMove r9 <- r9, r4 <- r4 goto:4 B193
260: B192[target]:10
262: v849 <- LoadField(v175 T{Color} . _effectiveColor@692482824 {final}) T{Color}
264: (v851, v852) <- LoadField(v849 . value {final}) [-9223372036854775808, 9223372036854775807] T{int}
266: ParallelMove r9 <- r9, r4 <- r3 goto:14 B193
268: B193[join]:11 pred(B180, B192) {
(v855, v856) <- phi((v840, v841), (v851, v852)) alive [-9223372036854775808, 9223372036854775807] int64 T{int}
} ParallelMove r3 <- C
270: (v652, v653) <- BinaryInt64Op(^ [tr], (v855, v856) T{int}, (v2162, v2163)) [-9223372036854775808, 9223372036854775807] T{int}
272: v654 <- LoadField(v639 . _data@15065589 {final}) T{_ByteDataView}
274: v1605 <- LoadField(v654 . TypedDataBase.length {final}) [0, 1073741823] T{_Smi}
276: (v1992, v1993) <- UnboxInt64([non-speculative], v1605) [0, 1073741823] T{int}
277: ParallelMove S-20 <- r2, S-26 <- r8
278: v1218 <- RelationalOp(>=, (v2164, v2165), (v1992, v1993) T{_Smi}) T{bool}
279: ParallelMove S-19 <- r9
280: Branch if StrictCompare:26(===, v1218, v9) goto (271, 277)
282: B271[target]:38
284: v2416 <- IntConverter(int64->int32, (v1992, v1993) T{_Smi})
286: v1235 <- BinaryInt32Op(- [-o], v2416 T{_Smi}, v2458) [v1992-4, v1992-4] T{int}
288: v2459 <- BoxInt32(v1235 T{int}) T{_Smi}
289: ParallelMove S-17 <- r0
290: v1230 <- AllocateObject:42(cls=RangeError) T{RangeError}
291: ParallelMove r0 <- r0
292: ParallelMove S-18 <- r0
292: PushArgument(v1230)
294: PushArgument(v523)
296: PushArgument(v98)
298: PushArgument(v2459)
300: PushArgument(v1050)
302: StaticCall:48( RangeError.range<0> v1230, v523, v98, v2459, v1050)
303: ParallelMove r0 <- S-18
304: Throw:50(v1230)
306: B277[target]:52
308: v1584 <- LoadField(v654 . TypedDataView.data {final}) T{*}
309: ParallelMove S-17 <- r9
310: v1591 <- LoadField(v654 . TypedDataView.offset_in_bytes {final}) [0, 1073741823] T{_Smi}
312: (v1998, v1999) <- UnboxInt64([non-speculative], v1591) [0, 1073741823] T{int}
313: ParallelMove S-21 <- r2
314: v2422 <- IntConverter(int64->int32, (v1998, v1999) T{_Smi})
316: v1224 <- BinaryInt32Op(+ [-o], v2422 T{_Smi}, v2458) [4, 1073741827] T{int}
318: v2168 <- IntConverter:76(int64->int32[tr], (v652, v653) T{int}) [-2147483648, 2147483647] T{int}
320: v1240 <- LoadUntagged(v1584 T{_TypedList}, 4) T{*?}
322: v2461 <- BoxInt32(v1224 T{int}) T{int}
323: ParallelMove S-18 <- r6
324: ParallelMove r6 <- r6
324: StoreIndexed:76(v1240, v2461 T{int}, v2168 T{int}, NoStoreBarrier)
326: v179 <- LoadField(v171 . strokeWidth {final}) T{_Double}
327: ParallelMove r0 <- S-20
328: v1272 <- RelationalOp(>=, (v2170, v2171), (v1992, v1993) T{_Smi}) T{bool}
329: ParallelMove r3 <- C
330: Branch if StrictCompare:26(===, v1272, v9) goto (282, 286)
332: B282[target]:38
334: v2414 <- IntConverter(int64->int32, (v1992, v1993) T{_Smi})
336: v1299 <- BinaryInt32Op(- [-o], v2414 T{_Smi}, v2458) [v1992-4, v1992-4] T{int}
338: v2463 <- BoxInt32(v1299 T{int}) T{_Smi}
339: ParallelMove S-22 <- r1
340: v1294 <- AllocateObject:42(cls=RangeError) T{RangeError}
341: ParallelMove r0 <- r0
342: ParallelMove S-23 <- r0
342: PushArgument(v1294)
344: PushArgument(v544)
346: PushArgument(v98)
348: PushArgument(v2463)
350: PushArgument(v1050)
352: StaticCall:48( RangeError.range<0> v1294, v544, v98, v2463, v1050)
353: ParallelMove r0 <- S-23
354: Throw:50(v1294)
356: B286[target]:52 ParallelMove r6 <- S-17, r9 <- S-21
358: v2420 <- IntConverter(int64->int32, (v1998, v1999) T{_Smi})
360: v1292 <- BinaryInt32Op(+ [-o], v2420 T{_Smi}, v2465) [16, 1073741839] T{int}
362: v1304 <- DoubleToFloat:66(v179) T{_Double}
363: ParallelMove q6 <- q6
364: v1306 <- LoadUntagged(v1584 T{_TypedList}, 4) T{*?}
366: v2466 <- BoxInt32(v1292 T{int}) T{int}
367: ParallelMove q6 <- q6, S-22 <- r9
368: ParallelMove r9 <- r9
368: StoreIndexed:66(v1306, v2466 T{int}, v1304, NoStoreBarrier)
370: Branch if StrictCompare:26(===, v1272, v9) goto (375, 379)
372: B375[target]:38 ParallelMove r0 <- S-20
374: v2412 <- IntConverter(int64->int32, (v1992, v1993) T{_Smi})
376: v1743 <- BinaryInt32Op(- [-o], v2412 T{_Smi}, v2458) [v1992-4, v1992-4] T{int}
378: v2468 <- BoxInt32(v1743 T{int}) T{_Smi}
379: ParallelMove S-23 <- r1
380: v1738 <- AllocateObject:42(cls=RangeError) T{RangeError}
381: ParallelMove r0 <- r0
382: ParallelMove S-25 <- r0
382: PushArgument(v1738)
384: PushArgument(v544)
386: PushArgument(v98)
388: PushArgument(v2468)
390: PushArgument(v1050)
392: StaticCall:48( RangeError.range<0> v1738, v544, v98, v2468, v1050)
393: ParallelMove r0 <- S-25
394: Throw:50(v1738)
396: B379[target]:52 ParallelMove r1 <- r6, r2 <- r8, r4 <- S-20, r0 <- S-22
398: v1746 <- LoadUntagged(v1584 T{_TypedList}, 4) T{*?}
400: v1748 <- LoadIndexed(v1746, v2466 T{int}) T{_Double}
401: ParallelMove q6 <- q6
402: v1750 <- FloatToDouble(v1748) T{_Double}
404: v2026 <- Box(v1750) T{_Double}
406: PushArgument(v2026)
408: PushArgument(v98)
410: v692 <- StaticCall:12( ==<0> v2026, v98, using unchecked entrypoint, recognized_kind = Double_equal, result_type = T{bool}) T{bool}
411: ParallelMove r1 <- r0, r0 <- C
412: Branch if StrictCompare:16(===, v692, v9) goto (145, 146)
414: B145[target]:20 ParallelMove r1 <- S-19
416: PushArgument(v639)
418: v1329 <- StaticCall:10( _ensureObjectsInitialized@15065589<0> v639, using unchecked entrypoint, result_type = T{_List}) T{_List}
419: ParallelMove r2 <- r0
420: v1332 <- LoadField(v1329 . Array.length {final}) [0, 268435455] T{_Smi}
421: ParallelMove r0 <- r0, r1 <- C
422: GenericCheckBound:12(v1332, v98) [-1073741824, 1073741823] T{_Smi}
424: StoreIndexed:12(v1329, v98, v0, NoStoreBarrier)
426: PushArgument(v639)
428: v695 <- StaticCall:24( get:color<0> v639, result_type = T{Color}) T{Color}
429: ParallelMove r0 <- r0
430: PushArgument(v695)
431: ParallelMove q0 <- C
432: PushArgument(v1905)
434: v698 <- StaticCall:26( withOpacity<0> v695, v1905, using unchecked entrypoint, result_type = T{Color}) T{Color}435: ParallelMove r0 <- r0
436: (v1344, v1345) <- LoadField(v698 . value {final}) [-9223372036854775808, 9223372036854775807] T{int}
438: (v1347, v1348) <- BinaryInt64Op(^ [tr], (v1344, v1345) T{int}, (v2162, v2163)) [-9223372036854775808, 9223372036854775807] T{int}
439: ParallelMove r1 <- C, r2 <- S-19
440: Branch if StrictCompare:26(===, v1218, v9) goto (364, 370)
442: B364[target]:38 ParallelMove r0 <- S-26, r1 <- S-20
444: v2410 <- IntConverter(int64->int32, (v1992, v1993) T{_Smi})
446: v1678 <- BinaryInt32Op(- [-o], v2410 T{_Smi}, v2458) [v1992-4, v1992-4] T{int}
448: v2470 <- BoxInt32(v1678 T{int}) T{_Smi}
449: ParallelMove S-12 <- r1
450: v1673 <- AllocateObject:42(cls=RangeError) T{RangeError}
451: ParallelMove r0 <- r0
452: ParallelMove S-19 <- r0
452: PushArgument(v1673)
454: PushArgument(v523)
456: PushArgument(v98)
458: PushArgument(v2470)
460: PushArgument(v1050)
462: StaticCall:48( RangeError.range<0> v1673, v523, v98, v2470, v1050)
463: ParallelMove r0 <- S-19
464: Throw:50(v1673)
466: B370[target]:52 ParallelMove r2 <- S-17
468: v2174 <- IntConverter:76(int64->int32[tr], (v1347, v1348) T{int}) [-2147483648, 2147483647] T{int}
470: v1683 <- LoadUntagged(v1584 T{_TypedList}, 4) T{*?}
472: ParallelMove r6 <- S-18
472: StoreIndexed:76(v1683, v2461 T{int}, v2174 T{int}, NoStoreBarrier)
474: ParallelMove goto:34 B147
476: B146[target]:30 ParallelMove r1 <- r0
478: ParallelMove goto:36 B147
480: B147[join]:32 pred(B146, B370) ParallelMove r0 <- S-2, q0 <- C
482: v716 <- LoadField(v5 T{X0} . maxX) T{_Double}
484: v718 <- LoadField(v5 T{X0} . minX) T{_Double}
486: v720 <- BinaryDoubleOp(-, v716, v718) T{_Double}
488: Branch if EqualityCompare(v720 == v1905) T{bool} goto (150, 151)
490: B150[target]:26 ParallelMove r3 <- C, r2 <- S-10
492: Branch if StrictCompare:28(===, v992, v288) goto (215, 230)
494: B215[target]:2 ParallelMove r4 <- S-11
496: PushArgument(v2 T{LineChartPainter})
498: PushArgument(v4)
500: v937 <- StaticCall:12( getLeftOffsetDrawSize<0> v2 T{LineChartPainter}, v4, using unchecked entrypoint, result_type = T{_Double}) T{_Double}
501: ParallelMove q0 <- q0, r0 <- C, r1 <- S-11
502: Branch if StrictCompare:32(===, v948, v9) goto (216, 217)
504: B216[target]:38 ParallelMove q1 <- DS-32
506: v956 <- BinaryDoubleOp(+, v937, v954) T{_Double}
508: ParallelMove q0 <- q2 goto:60 B220
510: B217[target]:54 ParallelMove q1 <- DS-32
512: ParallelMove q0 <- q0 goto:62 B220
514: B220[join]:58 pred(B216, B217) {
v946 <- phi(v956, v937) alive double T{_Double}
}
516: ParallelMove q0 <- q0, r1 <- S-8, q1 <- DS-34 goto:64 B231
518: B230[target]:28 ParallelMove r0 <- r1, r2 <- S-8, r1 <- S-11, q1 <- DS-32
520: PushArgument(v2 T{AxisChartPainter<X0>})
522: PushArgument(v4)
524: v970 <- StaticCall:12( getLeftOffsetDrawSize<0> v2 T{AxisChartPainter<X0>}, v4, using unchecked entrypoint, result_type = T{_Double}) T{_Double}
525: ParallelMove q0 <- q0, r0 <- C, r1 <- S-8
526: Branch if StrictCompare:32(===, v912, v9) goto (224, 225)
528: B224[target]:38 ParallelMove q1 <- DS-34
530: v989 <- BinaryDoubleOp(+, v970, v987) T{_Double}
532: ParallelMove q0 <- q2 goto:60 B228
534: B225[target]:54 ParallelMove q1 <- DS-34
536: ParallelMove q0 <- q0 goto:62 B228
538: B228[join]:58 pred(B224, B225) {
v979 <- phi(v989, v970) alive double T{_Double}
}
540: ParallelMove q0 <- q0 goto:64 B231
542: B231[join]:29 pred(B220, B228) {
v993 <- phi(v946, v979) alive double T{_Double}
}
544: ParallelMove q0 <- q0, q1 <- DS-38 goto:30 B152
546: B151[target]:32 ParallelMove r0 <- r1, q4 <- DS-28, r2 <- C, r1 <- S-8, r3 <- S-7, q1 <- DS-34, q0 <- DS-50
548: v728 <- BinaryDoubleOp(-, v155, v718) T{_Double}
550: v730 <- BinaryDoubleOp(/, v728, v720) T{_Double}
552: v734 <- BinaryDoubleOp(*, v730, v1369) T{_Double}
553: ParallelMove DS-54 <- q3
554: Branch if StrictCompare:44(===, v923, v288) goto (196, 211)
556: B196[target]:2 ParallelMove r4 <- S-16
558: PushArgument(v2 T{LineChartPainter})
560: PushArgument(v4)
562: v868 <- StaticCall:12( getLeftOffsetDrawSize<0> v2 T{LineChartPainter}, v4, using unchecked entrypoint, result_type = T{_Double}) T{_Double}
563: ParallelMove q0 <- q0, r0 <- C, r1 <- S-16
564: Branch if StrictCompare:32(===, v879, v9) goto (197, 198)
566: B197[target]:38 ParallelMove q1 <- DS-36
568: v887 <- BinaryDoubleOp(+, v868, v885) T{_Double}
570: ParallelMove q0 <- q2 goto:60 B201
572: B198[target]:54 ParallelMove q1 <- DS-36
574: ParallelMove q0 <- q0 goto:62 B201
576: B201[join]:58 pred(B197, B198) {
v877 <- phi(v887, v868) alive double T{_Double}
}
578: ParallelMove q2 <- q0, r1 <- S-8, q1 <- DS-38 goto:64 B212
580: B211[target]:44 ParallelMove r1 <- S-16, q1 <- DS-36, r2 <- r1
582: PushArgument(v2 T{AxisChartPainter<X0>})
584: PushArgument(v4)
586: v901 <- StaticCall:12( getLeftOffsetDrawSize<0> v2 T{AxisChartPainter<X0>}, v4, using unchecked entrypoint, result_type = T{_Double}) T{_Double}
587: ParallelMove q0 <- q0, r0 <- C, r1 <- S-8
588: Branch if StrictCompare:32(===, v912, v9) goto (205, 206)
590: B205[target]:38 ParallelMove q1 <- DS-38
592: v920 <- BinaryDoubleOp(+, v901, v918) T{_Double}
594: ParallelMove q0 <- q2 goto:60 B209
596: B206[target]:54 ParallelMove q1 <- DS-38
598: ParallelMove q0 <- q0 goto:62 B209
600: B209[join]:58 pred(B205, B206) {
v910 <- phi(v920, v901) alive double T{_Double}
}
602: ParallelMove q2 <- q0 goto:64 B212
604: B212[join]:45 pred(B201, B209) {
v924 <- phi(v877, v910) alive double T{_Double}
} ParallelMove q0 <- DS-54
606: v738 <- BinaryDoubleOp(+, v734, v924) T{_Double}
608: ParallelMove q0 <- q3 goto:48 B152
610: B152[join]:157 pred(B212, B231) {
v742 <- phi(v738, v993) alive double T{_Double}
} ParallelMove r2 <- C, r3 <- S-13
611: ParallelMove DS-54 <- q0
612: Branch if StrictCompare:158(===, v426, v288) goto (75, 90)
614: B75[target]:2 ParallelMove r4 <- S-15
616: PushArgument(v2 T{LineChartPainter})
618: PushArgument(v4)
620: v371 <- StaticCall:12( getTopOffsetDrawSize<0> v2 T{LineChartPainter}, v4, using unchecked entrypoint, result_type = T{_Double}) T{_Double}
621: ParallelMove q0 <- q0, r0 <- C, r1 <- S-15
622: Branch if StrictCompare:32(===, v451, v9) goto (76, 77)
624: B76[target]:38 ParallelMove q1 <- DS-40
626: v390 <- BinaryDoubleOp(+, v371, v388) T{_Double}
628: ParallelMove q0 <- q2 goto:60 B80
630: B77[target]:54 ParallelMove q1 <- DS-40
632: ParallelMove q0 <- q0 goto:62 B80
634: B80[join]:58 pred(B76, B77) {
v380 <- phi(v390, v371) alive double T{_Double}
}
636: ParallelMove q2 <- q0, r1 <- S-14, q1 <- DS-42 goto:64 B91
638: B90[target]:158 ParallelMove q1 <- DS-40, r2 <- S-14, r1 <- S-15
640: PushArgument(v2 T{AxisChartPainter<X0>})
642: PushArgument(v4)
644: v404 <- StaticCall:12( getTopOffsetDrawSize<0> v2 T{AxisChartPainter<X0>}, v4, using unchecked entrypoint, result_type = T{_Double}) T{_Double}
645: ParallelMove q0 <- q0, r0 <- C, r1 <- S-14
646: Branch if StrictCompare:32(===, v415, v9) goto (84, 85)
648: B84[target]:38 ParallelMove q1 <- DS-42
650: v423 <- BinaryDoubleOp(+, v404, v421) T{_Double}
652: ParallelMove q0 <- q2 goto:60 B88
654: B85[target]:54 ParallelMove q1 <- DS-42
656: ParallelMove q0 <- q0 goto:62 B88
658: B88[join]:58 pred(B84, B85) {
v413 <- phi(v423, v404) alive double T{_Double}
}
660: ParallelMove q2 <- q0 goto:64 B91
662: B91[join]:159 pred(B80, B88) {
v427 <- phi(v380, v413) alive double T{_Double}
} ParallelMove r2 <- C, r3 <- S-13, q0 <- C
664: v187 <- BinaryDoubleOp(+, v1905, v427) T{_Double}
665: ParallelMove DS-56 <- q3
666: Branch if StrictCompare:164(===, v426, v288) goto (94, 109)
668: B94[target]:2 ParallelMove r4 <- S-15
670: PushArgument(v2 T{LineChartPainter})
672: PushArgument(v4)
674: v440 <- StaticCall:12( getTopOffsetDrawSize<0> v2 T{LineChartPainter}, v4, using unchecked entrypoint, result_type = T{_Double}) T{_Double}
675: ParallelMove q0 <- q0, r0 <- C, r1 <- S-15
676: Branch if StrictCompare:32(===, v451, v9) goto (95, 96)
678: B95[target]:38 ParallelMove q1 <- DS-44
680: v459 <- BinaryDoubleOp(+, v440, v457) T{_Double}
682: ParallelMove q0 <- q2 goto:60 B99
684: B96[target]:54 ParallelMove q1 <- DS-44
686: ParallelMove q0 <- q0 goto:62 B99
688: B99[join]:58 pred(B95, B96) {
v449 <- phi(v459, v440) alive double T{_Double}
}
690: ParallelMove q4 <- q0, r1 <- S-9, q1 <- DS-46 goto:64 B110
692: B109[target]:164 ParallelMove r1 <- S-15, q1 <- DS-44, r2 <- S-9
694: PushArgument(v2 T{AxisChartPainter<X0>})
696: PushArgument(v4)
698: v473 <- StaticCall:12( getTopOffsetDrawSize<0> v2 T{AxisChartPainter<X0>}, v4, using unchecked entrypoint, result_type = T{_Double}) T{_Double}
699: ParallelMove q0 <- q0, r0 <- C, r1 <- S-9
700: Branch if StrictCompare:32(===, v484, v9) goto (103, 104)
702: B103[target]:38 ParallelMove q1 <- DS-46
704: v492 <- BinaryDoubleOp(+, v473, v490) T{_Double}
706: ParallelMove q0 <- q2 goto:60 B107
708: B104[target]:54 ParallelMove q1 <- DS-46
710: ParallelMove q0 <- q0 goto:62 B107
712: B107[join]:58 pred(B103, B104) {
v482 <- phi(v492, v473) alive double T{_Double}
}
714: ParallelMove q4 <- q0 goto:64 B110
716: B110[join]:165 pred(B99, B107) {
v496 <- phi(v449, v482) alive double T{_Double}
} ParallelMove r2 <- S+4, r3 <- S-24, q0 <- DS-56, q2 <- DS-54, q3 <- DS-48
718: v193 <- BinaryDoubleOp(+, v749, v496) T{_Double}
719: ParallelMove DS-58 <- q5
720: v195 <- AllocateObject:168(cls=Offset) T{Offset}
721: ParallelMove r0 <- r0, q0 <- DS-54
722: ParallelMove S-12 <- r0
722: StoreInstanceField(v195 . _dx@15065589 = v742, NoStoreBarrier)
723: ParallelMove q1 <- DS-56
724: StoreInstanceField(v195 . _dy@15065589 = v187, NoStoreBarrier)
726: v197 <- AllocateObject:172(cls=Offset) T{Offset}
727: ParallelMove r0 <- r0, q0 <- DS-54
728: StoreInstanceField(v197 . _dx@15065589 = v742, NoStoreBarrier)
729: ParallelMove q0 <- DS-58
730: StoreInstanceField(v197 . _dy@15065589 = v193, NoStoreBarrier)
731: ParallelMove r1 <- S+4
732: v778 <- LoadField:4(v2 T{AxisChartPainter<X0>} . _gridPaint@659010849) T{Paint}
733: ParallelMove r3 <- S-24
734: v201 <- LoadField(v171 . dashArray {final}) T{_GrowableList?}
736: PushArgument(v3)
738: PushArgument(v195)
740: PushArgument(v197)
742: PushArgument(v778)
744: PushArgument(v201)
746: StaticCall:180( DashedLine|drawDashedLine<0> v3, v195, v197, v778, v201)
748: ParallelMove goto:186 B14
750: B13[target]:182
752: ParallelMove goto:188 B14
754: B14[join]:184 pred(B13, B110) ParallelMove q1 <- DS-30, q0 <- DS-28
756: v165 <- BinaryDoubleOp(+, v155, v131) T{_Double}
758: ParallelMove q4 <- q4, r4 <- S+4, q0 <- DS-52, q9 <- DS-40, r8 <- S-14, q11 <- DS-42, r9 <- S-13, r6 <- S-15, q8 <- DS-44, q6 <- DS-46, q3 <- DS-48, r3 <- S-16, q14 <- DS-36, q10 <- DS-38, r2 <- S-11, q13 <- DS-32, q12 <- DS-34, r1 <- S-10, q2 <- DS-50 goto:196 B16
760: B17[target]:202
762: ParallelMove goto:208 B20
764: B18[target]:204
766: ParallelMove goto:210 B20
768: B20[join]:206 pred(B17, B18) ParallelMove r1 <- C, r0 <- S-3
770: v42 <- LoadField(v14 . horizontalInterval {final}) T{_Double?}
772: Branch if StrictCompare:228(===, v42, v0) goto (21, 22)
774: B21[target]:232 ParallelMove r2 <- S-2, r3 <- S-1
776: v621 <- LoadField(v10 T{Size} . _dy@15065589 {final}) T{_Double}
778: v628 <- LoadField(v5 T{X0} . maxY) T{_Double}
780: v630 <- LoadField(v5 T{X0} . minY) T{_Double}
782: v632 <- BinaryDoubleOp(-, v628, v630) T{_Double}
784: PushArgument(v621)
786: PushArgument(v632)
788: v125 <- StaticCall:238( getEfficientInterval<0> v621, v632, result_type = T{_Double}) T{_Double}
789: ParallelMove q0 <- q0
790: ParallelMove q0 <- q0 goto:244 B23
792: B22[target]:240
794: v2040 <- Unbox(v42 T{_Double}) T{_Double}
796: ParallelMove q0 <- q0 goto:246 B23
798: B23[join]:242 pred(B21, B22) {
v44 <- phi(v125, v2040) alive double T{_Double}
} ParallelMove r0 <- S-2
799: ParallelMove DS-30 <- q0
800: v46 <- LoadField(v5 . minY) T{_Double}
802: v48 <- BinaryDoubleOp(+, v46, v44) T{_Double}
803: ParallelMove DS-28 <- q2
804: v610 <- LoadField(v5 T{X0} . maxY) T{_Double}
806: v614 <- BinaryDoubleOp(-, v610, v46) T{_Double}
808: v2044 <- Box(v44) T{_Double}
809: ParallelMove S-1 <- r1
810: v2046 <- Box(v614) T{_Double}
812: PushArgument(v2046)
814: PushArgument(v2044)
816: v52 <- StaticCall:254( ~/<0> v2046, v2044, using unchecked entrypoint, result_type = T{int}) [-9223372036854775808, 9223372036854775807] T{int}
817: ParallelMove r1 <- r0, r0 <- S-2
818: v54 <- LoadField(v5 . minY) T{_Double}
819: ParallelMove DS-32 <- q0
820: PushArgument(v52)
822: PushArgument(v2044)
824: v56 <- StaticCall:258( *<0> v52, v2044, using unchecked entrypoint, recognized_kind = Integer_mul, result_type = T{_Double}) T{_Double}
825: ParallelMove r0 <- r0
826: v2048 <- Unbox(v56) T{_Double}
827: ParallelMove q1 <- DS-32
828: v58 <- BinaryDoubleOp(+, v54, v2048) T{_Double}
829: ParallelMove r0 <- S-2
830: v60 <- LoadField(v5 . maxY) T{_Double}
832: Branch if EqualityCompare(v58 == v60) T{bool} goto (24, 25)
834: B24[target]:272 ParallelMove q1 <- DS-30
836: v119 <- BinaryDoubleOp(-, v60, v44) T{_Double}
838: ParallelMove q0 <- q2 goto:284 B26
840: B25[target]:278 ParallelMove q1 <- DS-30
842: ParallelMove q0 <- q0 goto:286 B26
844: B26[join]:282 pred(B24, B25) {
v66 <- phi(v119, v60) alive double T{_Double}
} ParallelMove r2 <- S+4, r3 <- S-4, r1 <- S-3
845: ParallelMove DS-42 <- q0
846: v74 <- LoadField:380(v14 . checkToShowHorizontalLine {final}) T{(dynamic, double) => bool}
847: ParallelMove S-7 <- r4
848: v82 <- LoadField:380(v14 . getDrawingHorizontalLine {final}) T{(dynamic, double) => FlLine}
849: ParallelMove S-6 <- r6
850: v287 <- LoadClassId:380(v2) [-1073741824, 1073741823] T{_Smi}
851: ParallelMove S-1 <- r1
852: v267 <- LoadField:380(v5 T{X0} . titlesData {final}) T{FlTitlesData}
854: v269 <- LoadField:380(v267 . leftTitles {final}) T{SideTitles}
856: v276 <- LoadField:380(v269 . showTitles {final}) T{bool}
857: ParallelMove S-5 <- r8
858: v574 <- LoadField:380(v12 . _dx@15065589 {final}) T{_Double}
859: ParallelMove DS-40 <- q2
860: v348 <- LoadField:380(v269 . reservedSize {final}) T{_Double}
862: v350 <- LoadField:380(v269 . margin {final}) T{_Double}
864: v352 <- BinaryDoubleOp:380(+, v348, v350) T{_Double}
865: ParallelMove DS-38 <- q5
866: v304 <- LoadField:380(v5 T{X0} . titlesData {final}) T{FlTitlesData}
868: v306 <- LoadField:380(v304 . leftTitles {final}) T{SideTitles}
870: v313 <- LoadField:380(v306 . showTitles {final}) T{bool}
871: ParallelMove S-3 <- r9
872: v315 <- LoadField:380(v306 . reservedSize {final}) T{_Double}
874: v317 <- LoadField:380(v306 . margin {final}) T{_Double}
876: v319 <- BinaryDoubleOp:380(+, v315, v317) T{_Double}
877: ParallelMove DS-36 <- q9
878: v282 <- BinaryDoubleOp:380(+, v348, v350) T{_Double}
879: ParallelMove DS-34 <- q10
880: v249 <- BinaryDoubleOp:380(+, v315, v317) T{_Double}
881: ParallelMove DS-32 <- q3
882: ParallelMove q4 <- DS-28 goto:380 B31
884: B31[join]:374 pred(B26, B29) {
v68 <- phi(v48, v78) alive double T{_Double}
}
885: ParallelMove DS-28 <- q4
886: CheckStackOverflow:378(stack=0, loop=1)
888: Branch if RelationalOp(<=, v68, v66) T{bool} goto (30, 34)
890: B30[target]:372
892: v2052 <- Box(v68) T{_Double}
893: ParallelMove S-2 <- r1
894: PushArgument(v74)
896: PushArgument(v2052)
897: ParallelMove r0 <- r4
898: v76 <- ClosureCall:302( closure=v74<0>, v74, v2052) T{*?}
899: ParallelMove r0 <- r0, r1 <- r0
900: ParallelMove S-8 <- r1
900: AssertBoolean:304(v76) T{bool}
901: ParallelMove r1 <- C, r0 <- S-8
902: Branch if StrictCompare:306(===, v76 T{bool}, v9) goto (27, 28)
904: B27[target]:310 ParallelMove r2 <- S+4
906: PushArgument(v82)
908: PushArgument(v2052)
909: ParallelMove r0 <- S-6
910: v84 <- ClosureCall:318( closure=v82<0>, v82, v2052) T{*?}
911: ParallelMove r1 <- r0, r0 <- S+4
912: ParallelMove S-13 <- r1
912: v503 <- LoadField:4(v2 T{AxisChartPainter<X0>} . _gridPaint@659010849, CallsInitializer) T{Paint}
913: ParallelMove S-2 <- r2
914: v88 <- LoadField(v84 . color {final}) T{Color}
916: v828 <- LoadClassId(v88) [-1073741824, 1073741823] T{_Smi}
918: Branch if RelationalOp:10(<=, v828, v830) goto (171, 174)
920: B171[target]:10
922: Branch if RelationalOp:10(>=, v828, v829) goto (167, 172)
924: B167[target]:2
926: ParallelMove r6 <- C, r8 <- C goto:2 B166
928: B172[target]:10
930: ParallelMove goto:10 B173
932: B174[target]:10
934: ParallelMove goto:10 B173
936: B173[join]:10 pred(B172, B174) ParallelMove r6 <- C
938: Branch if StrictCompare:10(===, v828, v831) goto (175, 176)
940: B175[target]:2
942: ParallelMove r8 <- C goto:2 B166
944: B176[target]:10 ParallelMove r8 <- C
946: Branch if StrictCompare:10(===, v828, v832) goto (177, 178)
948: B177[target]:2
950: ParallelMove goto:2 B166
952: B166[join]:2 pred(B167, B175, B177)
954: (v814, v815) <- LoadField(v88 T{Color} . value {final}) [-9223372036854775808, 9223372036854775807] T{int}
956: ParallelMove r9 <- r9, r4 <- r4 goto:4 B179
958: B178[target]:10
960: v823 <- LoadField(v88 T{Color} . _effectiveColor@692482824 {final}) T{Color}
962: (v825, v826) <- LoadField(v823 . value {final}) [-9223372036854775808, 9223372036854775807] T{int}
964: ParallelMove r9 <- r9, r4 <- r3 goto:14 B179
966: B179[join]:11 pred(B166, B178) {
(v833, v834) <- phi((v814, v815), (v825, v826)) alive [-9223372036854775808, 9223372036854775807] int64 T{int}
} ParallelMove r3 <- C
968: (v516, v517) <- BinaryInt64Op(^ [tr], (v833, v834) T{int}, (v2162, v2163)) [-9223372036854775808, 9223372036854775807] T{int}
970: v518 <- LoadField(v503 . _data@15065589 {final}) T{_ByteDataView}
972: v1419 <- LoadField(v518 . TypedDataBase.length {final}) [0, 1073741823] T{_Smi}
974: (v2056, v2057) <- UnboxInt64([non-speculative], v1419) [0, 1073741823] T{int}
975: ParallelMove S-20 <- r2, S-26 <- r8
976: v1021 <- RelationalOp(>=, (v2164, v2165), (v2056, v2057) T{_Smi}) T{bool}
977: ParallelMove S-10 <- r9
978: Branch if StrictCompare:26(===, v1021, v9) goto (235, 241)
980: B235[target]:38
982: v2440 <- IntConverter(int64->int32, (v2056, v2057) T{_Smi})
984: v1038 <- BinaryInt32Op(- [-o], v2440 T{_Smi}, v2458) [v2056-4, v2056-4] T{int}
986: v2472 <- BoxInt32(v1038 T{int}) T{_Smi}
987: ParallelMove S-8 <- r0
988: v1033 <- AllocateObject:42(cls=RangeError) T{RangeError}
989: ParallelMove r0 <- r0
990: ParallelMove S-9 <- r0
990: PushArgument(v1033)
992: PushArgument(v523)
994: PushArgument(v98)
996: PushArgument(v2472)
998: PushArgument(v1050)
1000: StaticCall:48( RangeError.range<0> v1033, v523, v98, v2472, v1050)
1001: ParallelMove r0 <- S-9
1002: Throw:50(v1033)
1004: B241[target]:52
1006: v1398 <- LoadField(v518 . TypedDataView.data {final}) T{*}
1007: ParallelMove S-8 <- r9
1008: v1405 <- LoadField(v518 . TypedDataView.offset_in_bytes {final}) [0, 1073741823] T{_Smi}
1010: (v2062, v2063) <- UnboxInt64([non-speculative], v1405) [0, 1073741823] T{int}
1011: ParallelMove S-21 <- r2
1012: v2446 <- IntConverter(int64->int32, (v2062, v2063) T{_Smi})
1014: v1027 <- BinaryInt32Op(+ [-o], v2446 T{_Smi}, v2458) [4, 1073741827] T{int}
1016: v2176 <- IntConverter:76(int64->int32[tr], (v516, v517) T{int}) [-2147483648, 2147483647] T{int}
1018: v1043 <- LoadUntagged(v1398 T{_TypedList}, 4) T{*?}
1020: v2474 <- BoxInt32(v1027 T{int}) T{int}
1021: ParallelMove S-9 <- r6
1022: ParallelMove r6 <- r6
1022: StoreIndexed:76(v1043, v2474 T{int}, v2176 T{int}, NoStoreBarrier)
1024: v92 <- LoadField(v84 . strokeWidth {final}) T{_Double}
1025: ParallelMove r0 <- S-20
1026: v1077 <- RelationalOp(>=, (v2170, v2171), (v2056, v2057) T{_Smi}) T{bool}
1027: ParallelMove r3 <- C
1028: Branch if StrictCompare:26(===, v1077, v9) goto (246, 250)
1030: B246[target]:38
1032: v2438 <- IntConverter(int64->int32, (v2056, v2057) T{_Smi})
1034: v1104 <- BinaryInt32Op(- [-o], v2438 T{_Smi}, v2458) [v2056-4, v2056-4] T{int}
1036: v2476 <- BoxInt32(v1104 T{int}) T{_Smi}
1037: ParallelMove S-11 <- r1
1038: v1099 <- AllocateObject:42(cls=RangeError) T{RangeError}
1039: ParallelMove r0 <- r0
1040: ParallelMove S-12 <- r0
1040: PushArgument(v1099)
1042: PushArgument(v544)
1044: PushArgument(v98)
1046: PushArgument(v2476)
1048: PushArgument(v1050)
1050: StaticCall:48( RangeError.range<0> v1099, v544, v98, v2476, v1050)
1051: ParallelMove r0 <- S-12
1052: Throw:50(v1099)
1054: B250[target]:52 ParallelMove r6 <- S-8, r9 <- S-21
1056: v2444 <- IntConverter(int64->int32, (v2062, v2063) T{_Smi})
1058: v1097 <- BinaryInt32Op(+ [-o], v2444 T{_Smi}, v2465) [16, 1073741839] T{int}
1060: v1109 <- DoubleToFloat:66(v92) T{_Double}
1061: ParallelMove q6 <- q6
1062: v1111 <- LoadUntagged(v1398 T{_TypedList}, 4) T{*?}
1064: v2478 <- BoxInt32(v1097 T{int}) T{int}
1065: ParallelMove q6 <- q6, S-11 <- r9
1066: ParallelMove r9 <- r9
1066: StoreIndexed:66(v1111, v2478 T{int}, v1109, NoStoreBarrier)
1068: Branch if StrictCompare:26(===, v1077, v9) goto (336, 340)
1070: B336[target]:38 ParallelMove r0 <- S-20
1072: v2436 <- IntConverter(int64->int32, (v2056, v2057) T{_Smi})
1074: v1557 <- BinaryInt32Op(- [-o], v2436 T{_Smi}, v2458) [v2056-4, v2056-4] T{int}
1076: v2480 <- BoxInt32(v1557 T{int}) T{_Smi}
1077: ParallelMove S-12 <- r1
1078: v1552 <- AllocateObject:42(cls=RangeError) T{RangeError}
1079: ParallelMove r0 <- r0
1080: ParallelMove S-14 <- r0
1080: PushArgument(v1552)
1082: PushArgument(v544)
1084: PushArgument(v98)
1086: PushArgument(v2480)
1088: PushArgument(v1050)
1090: StaticCall:48( RangeError.range<0> v1552, v544, v98, v2480, v1050)
1091: ParallelMove r0 <- S-14
1092: Throw:50(v1552)
1094: B340[target]:52 ParallelMove r1 <- r6, r2 <- r8, r4 <- S-20, r0 <- S-11
1096: v1560 <- LoadUntagged(v1398 T{_TypedList}, 4) T{*?}
1098: v1562 <- LoadIndexed(v1560, v2478 T{int}) T{_Double}
1099: ParallelMove q6 <- q6
1100: v1564 <- FloatToDouble(v1562) T{_Double}
1102: v2090 <- Box(v1564) T{_Double}
1104: PushArgument(v2090)
1106: PushArgument(v98)
1108: v560 <- StaticCall:12( ==<0> v2090, v98, using unchecked entrypoint, recognized_kind = Double_equal, result_type = T{bool}) T{bool}
1109: ParallelMove r1 <- r0, r0 <- C
1110: Branch if StrictCompare:16(===, v560, v9) goto (120, 121)
1112: B120[target]:20 ParallelMove r1 <- S-10
1114: PushArgument(v503)
1116: v1135 <- StaticCall:10( _ensureObjectsInitialized@15065589<0> v503, using unchecked entrypoint, result_type = T{_List}) T{_List}
1117: ParallelMove r2 <- r0
1118: v1138 <- LoadField(v1135 . Array.length {final}) [0, 268435455] T{_Smi}
1119: ParallelMove r0 <- r0, r1 <- C
1120: GenericCheckBound:12(v1138, v98) [-1073741824, 1073741823] T{_Smi}
1122: StoreIndexed:12(v1135, v98, v0, NoStoreBarrier)
1124: PushArgument(v503)
1126: v563 <- StaticCall:24( get:color<0> v503, result_type = T{Color}) T{Color}
1127: ParallelMove r0 <- r0
1128: PushArgument(v563)
1129: ParallelMove q0 <- C
1130: PushArgument(v1905)
1132: v566 <- StaticCall:26( withOpacity<0> v563, v1905, using unchecked entrypoint, result_type = T{Color}) T{Color}
1133: ParallelMove r0 <- r0
1134: (v1150, v1151) <- LoadField(v566 . value {final}) [-9223372036854775808, 9223372036854775807] T{int}
1136: (v1153, v1154) <- BinaryInt64Op(^ [tr], (v1150, v1151) T{int}, (v2162, v2163)) [-9223372036854775808, 9223372036854775807] T{int}
1137: ParallelMove r1 <- C, r2 <- S-10
1138: Branch if StrictCompare:26(===, v1021, v9) goto (325, 331)
1140: B325[target]:38 ParallelMove r0 <- S-26, r1 <- S-20
1142: v2434 <- IntConverter(int64->int32, (v2056, v2057) T{_Smi})
1144: v1492 <- BinaryInt32Op(- [-o], v2434 T{_Smi}, v2458) [v2056-4, v2056-4] T{int}
1146: v2482 <- BoxInt32(v1492 T{int}) T{_Smi}
1147: ParallelMove S-2 <- r1
1148: v1487 <- AllocateObject:42(cls=RangeError) T{RangeError}
1149: ParallelMove r0 <- r0
1150: ParallelMove S-10 <- r0
1150: PushArgument(v1487)
1152: PushArgument(v523)
1154: PushArgument(v98)
1156: PushArgument(v2482)
1158: PushArgument(v1050)
1160: StaticCall:48( RangeError.range<0> v1487, v523, v98, v2482, v1050)
1161: ParallelMove r0 <- S-10
1162: Throw:50(v1487)
1164: B331[target]:52 ParallelMove r2 <- S-8
1166: v2178 <- IntConverter:76(int64->int32[tr], (v1153, v1154) T{int}) [-2147483648, 2147483647] T{int}
1168: v1497 <- LoadUntagged(v1398 T{_TypedList}, 4) T{*?}
1170: ParallelMove r6 <- S-9
1170: StoreIndexed:76(v1497, v2474 T{int}, v2178 T{int}, NoStoreBarrier)
1172: ParallelMove goto:34 B122
1174: B121[target]:30 ParallelMove r1 <- r0
1176: ParallelMove goto:36 B122
1178: B122[join]:32 pred(B121, B331) ParallelMove q0 <- DS-28, r0 <- S-1
1180: PushArgument(v2)
1182: PushArgument(v68)
1184: PushArgument(v12)
1186: PushArgument(v4)
1188: v96 <- StaticCall:336( getPixelY<0> v2, v68, v12, v4, using unchecked entrypoint, result_type = T{_Double}) T{_Double}
1189: ParallelMove q0 <- q0, r0 <- S-1, r1 <- C
1190: ParallelMove DS-44 <- q0
1190: Branch if StrictCompare:338(===, v287, v288) goto (37, 52)
1192: B37[target]:2 ParallelMove r2 <- S-3
1194: PushArgument(v2 T{LineChartPainter})
1196: PushArgument(v4)
1198: v232 <- StaticCall:12( getLeftOffsetDrawSize<0> v2 T{LineChartPainter}, v4, using unchecked entrypoint, result_type = T{_Double}) T{_Double}
1199: ParallelMove q0 <- q0, r0 <- C, r1 <- S-3
1200: Branch if StrictCompare:32(===, v313, v9) goto (38, 39)
1202: B38[target]:38 ParallelMove q1 <- DS-32
1204: v251 <- BinaryDoubleOp(+, v232, v249) T{_Double}
1206: ParallelMove q0 <- q2 goto:60 B42
1208: B39[target]:54 ParallelMove q1 <- DS-32
1210: ParallelMove q0 <- q0 goto:62 B42
1212: B42[join]:58 pred(B38, B39) {
v241 <- phi(v251, v232) alive double T{_Double}
}
1214: ParallelMove q2 <- q0, r1 <- S-5, q1 <- DS-34 goto:64 B53
1216: B52[target]:338 ParallelMove r0 <- C, q1 <- DS-32, r2 <- S-5, r1 <- S-3
1218: PushArgument(v2 T{AxisChartPainter<X0>})
1220: PushArgument(v4)
1222: v265 <- StaticCall:12( getLeftOffsetDrawSize<0> v2 T{AxisChartPainter<X0>}, v4, using unchecked entrypoint, result_type = T{_Double}) T{_Double}
1223: ParallelMove q0 <- q0, r0 <- C, r1 <- S-5
1224: Branch if StrictCompare:32(===, v276, v9) goto (46, 47)
1226: B46[target]:38 ParallelMove q1 <- DS-34
1228: v284 <- BinaryDoubleOp(+, v265, v282) T{_Double}
1230: ParallelMove q0 <- q2 goto:60 B50
1232: B47[target]:54 ParallelMove q1 <- DS-34
1234: ParallelMove q0 <- q0 goto:62 B50
1236: B50[join]:58 pred(B46, B47) {
v274 <- phi(v284, v265) alive double T{_Double}
}
1238: ParallelMove q2 <- q0 goto:64 B53
1240: B53[join]:339 pred(B42, B50) {
v289 <- phi(v241, v274) alive double T{_Double}
} ParallelMove r2 <- S-1, r3 <- C, q0 <- C
1242: v101 <- BinaryDoubleOp(+, v1905, v289) T{_Double}
1243: ParallelMove DS-46 <- q3
1244: Branch if StrictCompare:344(===, v287, v288) goto (56, 71)
1246: B56[target]:2 ParallelMove r4 <- S-3
1248: PushArgument(v2 T{LineChartPainter})
1250: PushArgument(v4)
1252: v302 <- StaticCall:12( getLeftOffsetDrawSize<0> v2 T{LineChartPainter}, v4, using unchecked entrypoint, result_type = T{_Double}) T{_Double}
1253: ParallelMove q0 <- q0, r0 <- C, r1 <- S-3
1254: Branch if StrictCompare:32(===, v313, v9) goto (57, 58)
1256: B57[target]:38 ParallelMove q1 <- DS-36
1258: v321 <- BinaryDoubleOp(+, v302, v319) T{_Double}
1260: ParallelMove q0 <- q2 goto:60 B61
1262: B58[target]:54 ParallelMove q1 <- DS-36
1264: ParallelMove q0 <- q0 goto:62 B61
1266: B61[join]:58 pred(B57, B58) {
v311 <- phi(v321, v302) alive double T{_Double}
}
1268: ParallelMove q4 <- q0, r1 <- S-5, q1 <- DS-38 goto:64 B72
1270: B71[target]:344 ParallelMove r2 <- r1, r1 <- S-3, q1 <- DS-36
1272: PushArgument(v2 T{AxisChartPainter<X0>})
1274: PushArgument(v4)
1276: v335 <- StaticCall:12( getLeftOffsetDrawSize<0> v2 T{AxisChartPainter<X0>}, v4, using unchecked entrypoint, result_type = T{_Double}) T{_Double}
1277: ParallelMove q0 <- q0, r0 <- C, r1 <- S-5
1278: Branch if StrictCompare:32(===, v276, v9) goto (65, 66)
1280: B65[target]:38 ParallelMove q1 <- DS-38
1282: v354 <- BinaryDoubleOp(+, v335, v352) T{_Double}
1284: ParallelMove q0 <- q2 goto:60 B69
1286: B66[target]:54 ParallelMove q1 <- DS-38
1288: ParallelMove q0 <- q0 goto:62 B69
1290: B69[join]:58 pred(B65, B66) {
v344 <- phi(v354, v335) alive double T{_Double}
}
1292: ParallelMove q4 <- q0 goto:64 B72
1294: B72[join]:345 pred(B61, B69) {
v358 <- phi(v311, v344) alive double T{_Double}
} ParallelMove r2 <- S+4, r3 <- S-13, q2 <- DS-44, q0 <- DS-46, q3 <- DS-40
1296: v107 <- BinaryDoubleOp(+, v574, v358) T{_Double}
1297: ParallelMove DS-48 <- q5
1298: v109 <- AllocateObject:348(cls=Offset) T{Offset}
1299: ParallelMove r0 <- r0, q0 <- DS-46
1300: ParallelMove S-2 <- r0
1300: StoreInstanceField(v109 . _dx@15065589 = v101, NoStoreBarrier)
1301: ParallelMove q0 <- DS-44
1302: StoreInstanceField(v109 . _dy@15065589 = v96, NoStoreBarrier)
1304: v111 <- AllocateObject:352(cls=Offset) T{Offset}
1305: ParallelMove r0 <- r0, q0 <- DS-48
1306: StoreInstanceField(v111 . _dx@15065589 = v107, NoStoreBarrier)
1307: ParallelMove q0 <- DS-44
1308: StoreInstanceField(v111 . _dy@15065589 = v96, NoStoreBarrier)
1309: ParallelMove r1 <- S+4
1310: v603 <- LoadField:4(v2 T{AxisChartPainter<X0>} . _gridPaint@659010849) T{Paint}
1311: ParallelMove r3 <- S-13
1312: v115 <- LoadField(v84 . dashArray {final}) T{_GrowableList?}
1314: PushArgument(v3)
1316: PushArgument(v109)
1318: PushArgument(v111)
1320: PushArgument(v603)
1322: PushArgument(v115)
1324: StaticCall:360( DashedLine|drawDashedLine<0> v3, v109, v111, v603, v115)
1326: ParallelMove goto:366 B29
1328: B28[target]:362
1330: ParallelMove goto:368 B29
1332: B29[join]:364 pred(B28, B72) ParallelMove q1 <- DS-30, q0 <- DS-28
1334: v78 <- BinaryDoubleOp(+, v68, v44) T{_Double}
1336: ParallelMove q4 <- q4, r2 <- S+4, r3 <- S-4, q0 <- DS-42, r4 <- S-7, r6 <- S-6, q3 <- DS-32, r8 <- S-5, q10 <- DS-34, r1 <- S-1, r9 <- S-3, q9 <- DS-36, q5 <- DS-38, q2 <- DS-40 goto:376 B31
1338: B34[target]:382
1339: ParallelMove r0 <- C
1340: Return:392(v0)
*** END CFG
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-1.7.0\android\src\main\java\io\flutter\plugins\firebase\core\FlutterFirebaseCorePlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\flutter_keyboard_visibility-5.0.3\android\src\main\java\com\jrai\flutter_keyboard_visibility\FlutterKeyboardVisibilityPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-2.5.3\android\src\main\java\io\flutter\plugins\firebase\firestore\FlutterFirebaseFirestorePlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-2.5.3\android\src\main\java\io\flutter\plugins\firebase\firestore\streamhandler\TransactionStreamHandler.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_functions-3.0.4\android\src\main\java\io\flutter\plugins\firebase\functions\FlutterFirebaseFunctionsPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_analytics-8.3.3\android\src\main\java\io\flutter\plugins\firebaseanalytics\FirebaseAnalyticsPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_analytics-8.3.3\android\src\main\java\io\flutter\plugins\firebaseanalytics\FirebaseAnalyticsPlugin.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-3.1.3\android\src\main\java\io\flutter\plugins\firebase\auth\FlutterFirebaseAuthPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_dynamic_links-2.0.10\android\src\main\java\io\flutter\plugins\firebasedynamiclinks\FirebaseDynamicLinksPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_performance-0.7.1+1\android\src\main\java\io\flutter\plugins\firebaseperformance\FirebasePerformancePlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_storage-10.0.5\android\src\main\java\io\flutter\plugins\firebase\storage\FlutterFirebaseStoragePlugin.java:38: warning: [deprecation] Registrar in PluginRegistry has been deprecated
public static void registerWith(PluginRegistry.Registrar registrar) {
^
1 warning
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\google_sign_in-5.1.1\android\src\main\java\io\flutter\plugins\googlesignin\GoogleSignInPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\image_picker-0.8.4+2\android\src\main\java\io\flutter\plugins\imagepicker\ImagePickerDelegate.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\share_plus-2.2.0\android\src\main\java\dev\fluttercommunity\plus\share\SharePlusPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\uni_links-0.5.1\android\src\main\java\name\avioli\unilinks\UniLinksPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
C:/Users/louis/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.50/3d9cd3e1bc7b92e95f43d45be3bfbcf38e36ab87/kotlin-stdlib-common-1.3.50.jar (version 1.3)
C:/Users/louis/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.3.50/50ad05ea1c2595fb31b800e76db464d08d599af3/kotlin-stdlib-jdk7-1.3.50.jar (version 1.3)
C:/Users/louis/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.50/b529d1738c7e98bbfa36a4134039528f2ce78ebf/kotlin-stdlib-1.3.50.jar (version 1.3)
C:/Users/louis/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.4.31/e613be5465ef1e6fd0468707690b7ebf625ea2fe/kotlin-stdlib-jdk8-1.4.31.jar (version 1.4)
C:/Users/louis/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.4.31/84ce8e85f6e84270b2b501d44e9f0ba6ff64fa71/kotlin-stdlib-jdk7-1.4.31.jar (version 1.4)
C:/Users/louis/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.5.31/77e0f2568912e45d26c31fd417a332458508acdf/kotlin-stdlib-jdk7-1.5.31.jar (version 1.5)
C:/Users/louis/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.5.31/6628d61d0f5603568e72d2d5915d2c034b4f1c55/kotlin-stdlib-1.5.31.jar (version 1.5)
C:/Users/louis/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.5.31/43331609c7de811fed085e0dfd150874b157c32/kotlin-stdlib-common-1.5.31.jar (version 1.5)
C:/Users/louis/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.4.30/bb9a3173350f55732416ee27956ea8f9b81f4dbb/kotlin-stdlib-common-1.4.30.jar (version 1.4)
C:/Users/louis/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.4.31/a58e0fb9812a6a93ca24b5da75e4b5a0cb89c957/kotlin-stdlib-1.4.31.jar (version 1.4)
C:/Users/louis/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.4.31/6dd50665802f54ba9bc3f70ecb20227d1bc81323/kotlin-stdlib-common-1.4.31.jar (version 1.4)
C:/Users/louis/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.4.30/d10d1e10f47006ee08162dde039e38ac487de4ac/kotlin-stdlib-1.4.30.jar (version 1.4)
C:/Users/louis/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.4.30/cd81ed90fd79e43f587bd384c2bc6d1aed0bfe31/kotlin-stdlib-jdk7-1.4.30.jar (version 1.4)
w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath
Running Gradle task 'assembleRelease'... 283.4s
√ Built build\app\outputs\flutter-apk\app-release.apk (25.6MB).
@louisdeveseleer thanks for providing the graph. This finally gives me enough information to reduce this to something simple.
class A {}
class A0 extends A {
final double x;
final String str;
A0(this.x, this.str);
String toString() => 'A0($x)';
}
class A1 extends A {
final String str;
A1(this.str);
}
class H<T> {
final T data;
H(this.data);
}
abstract class B<T extends A> {
int load(H<T> v);
@pragma('vm:never-inline')
int crash(H<T> v) {
var result = 0;
for (var i = 0; i < 10; i++) {
// We will perform polymorphic inlining of `load` because `this`
// is known to be either B0 or B1. In both cases we will have
// v.str.length loads fully inlined because inlined bodies
// have precise type information for v.
// Then we will hoist v.str.length out of the loop past
// class-id comparisons generated by the inlining leading
// to incorrect code which will crash.
result += load(v);
}
return result;
}
}
class B0 extends B<A0> {
int load(H<A0> h) {
return h.data.str.length;
}
}
class B1 extends B<A1> {
int load(H<A1> h) {
return h.data.str.length;
}
}
void main() {
for (var v in [A0(0.0, '1'), A0(2.0, '1'), A1('1'), A1('2')]) {
print(v);
print(H(v));
}
var as = [H(A0(65.0, '1111')), H(A1('22222'))];
var bs = <B>[B0(), B1()];
for (var i = 0; i < 2; i++) {
print(bs[i].crash(as[i]));
}
}
I think we might want to fully disable polymorphic inlining in the AOT - I need to do some benchmarks to see how bad that is going to hit us.
/fyi @alexmarkov @mkustermann
I have landed a change to address this problem https://github.com/dart-lang/sdk/commit/c6fe9e21f005537ecfff947a0e5dbab129a17c26
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v
and a minimal reproduction of the issue.
Steps to Reproduce
This crash happens apparently on some devices only. I was not able to reproduce it on my device. The user data is not involved, it happens after they've signed up and reached the home page of the app. I am at a loss as I don't know what's causing the crash, or how to find out what does. Any help would be greatly appreciated.
List of devices concerned: Motorola Moto G (5th Gen) - Android 8.1 (SDK 27) Motorola Moto G Plus (5th Gen) - Android 8.1 (SDK 27) Motorola moto g(6) play - Android 9 (SDK 28) Motorola moto g(7) playAndroid 10 (SDK 29) Motorola moto e - Android 10 (SDK 29) Samsung Galaxy A6+ - Android 10 (SDK 29) Samsung Galaxy S5 - Android 11 (SDK 30) Samsung Galaxy A02s - Android 11 (SDK 30) Samsung Galaxy A11 - Android 10 (SDK 29) Samsung Galaxy J7 Neo - Android 9 (SDK 28)
Firebase Crashlytics does not pick up on that crash (even after device restart) and Play console's output is very limited. I set up Sentry for that reason, but the output although more verbose is not more helpful to me.
Play console Crash details:
Sentry crash details: