Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[android] unknown opcode name for 400, only workaround is UseInterpreter=true #76192

Closed
peter-chapman opened this issue Aug 30, 2022 · 41 comments · Fixed by #76387
Closed

[android] unknown opcode name for 400, only workaround is UseInterpreter=true #76192

peter-chapman opened this issue Aug 30, 2022 · 41 comments · Fixed by #76387
Assignees
Milestone

Comments

@peter-chapman
Copy link

peter-chapman commented Aug 30, 2022

Description

My app crashes on a Pax A920 Pro with:

09-12 15:18:08.578  9672  9672 E         : unknown opcode name for 400
--------- beginning of crash
09-12 15:18:08.579  9672  9672 F libc    : Fatal signal 6 (SIGABRT), code -6 in tid 9672 (nyname.mauiapp9), pid 9672 (nyname.mauiapp9)
09-12 15:18:08.672  9691  9691 I crash_dump32: obtaining output fd from tombstoned, type: kDebuggerdTombstone
09-12 15:18:08.673   475   475 I /system/bin/tombstoned: received crash request for pid 9672
09-12 15:18:08.674  9691  9691 I crash_dump32: performing dump of process 9672 (target tid = 9672)
09-12 15:18:08.675  9691  9691 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-12 15:18:08.675  9691  9691 F DEBUG   : Native Crash TIME: 25743471
09-12 15:18:08.675  9691  9691 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-12 15:18:08.675  9691  9691 F DEBUG   : Build fingerprint: 'PAX/A50/A50:8.1.0/OPM2.171019.012/10:user/release-keys'
09-12 15:18:08.675  9691  9691 F DEBUG   : Revision: '0'
09-12 15:18:08.675  9691  9691 F DEBUG   : ABI: 'arm'
09-12 15:18:08.675  9691  9691 F DEBUG   : pid: 9672, tid: 9672, name: nyname.mauiapp9  >>> com.companyname.mauiapp9 <<<
09-12 15:18:08.675  9691  9691 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
09-12 15:18:08.677  9691  9691 F DEBUG   :     r0 00000000  r1 000025c8  r2 00000006  r3 00000008
09-12 15:18:08.677  9691  9691 F DEBUG   :     r4 000025c8  r5 000025c8  r6 bea181cc  r7 0000010c
09-12 15:18:08.677  9691  9691 F DEBUG   :     r8 00000000  r9 910200c9  sl 8f3f46e8  fp a286e680
09-12 15:18:08.677  9691  9691 F DEBUG   :     ip bea181f0  sp bea181b8  lr b0b3dc1b  pc b0b37734  cpsr 20000030
09-12 15:18:08.690  9691  9691 F DEBUG   : 
09-12 15:18:08.690  9691  9691 F DEBUG   : backtrace:
09-12 15:18:08.691  9691  9691 F DEBUG   :     #00 pc 00019734  /system/lib/libc.so (abort+63)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#1 pc 0001c10b  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x195b000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#2 pc 00094051  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#3 pc 001775e1  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#4 pc 00177569  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#5 pc 0017761f  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#6 pc 001095b3  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#7 pc 00153ef7  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#8 pc 000cf10f  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#9 pc 000d0a71  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#10 pc 000d1963  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#11 pc 000d45f3  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.692  9691  9691 F DEBUG   :     dotnet/maui#12 pc 000d3de7  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.692  9691  9691 F DEBUG   :     dotnet/maui#13 pc 0004c965  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.692  9691  9691 F DEBUG   :     dotnet/maui#14 pc 000453ab  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.692  9691  9691 F DEBUG   :     dotnet/maui#15 pc 00008e54  <anonymous:af430000>

Steps to Reproduce

This can be recreated by creating a fresh MAUI app and renaming the Debug configuration e.g.

Debug.Pax

Version with bug

6.0.486 (current)

Last version that worked well

Unknown/Other

Affected platforms

Android

Affected platform versions

8.1

Did you find any workaround?

No

Relevant log output

See: #76192 (comment)

@jfversluis
Copy link
Member

Does dotnet/maui#9627 have any information that might help you?

@ghost
Copy link

ghost commented Aug 30, 2022

Hi @peter-chapman. We have added the "s/needs-info" label to this issue, which indicates that we have an open question for you before we can take further action. This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.

@peter-chapman
Copy link
Author

That didn't fix it for us.
We are running on a specific piece of Hardware, a PAX A920 Pro POS unit and we haven't been able to recreate the issue on any other HW or emulator but the app works correctly when we use a configuration called Debug and only crashes when we use a configuration called Pax.Debug. It seems likely that there is something in the build system that is picking up the fact that the configuration is called Debug and changing the behaviour, is there anything we can do to determine what this might be?

@iain-mcandrew
Copy link

iain-mcandrew commented Aug 31, 2022

I have the same issue on my Pax A920 Pro. I've attached the adb log.
logcat.txt

In the logs I can see "unknown opcode name for 400"; is this possibly related to this unreseolved bug? dotnet/android#6865

@PureWeen
Copy link
Member

PureWeen commented Sep 1, 2022

@jonathanpeppers is this supported?

@jonathanpeppers
Copy link
Member

@iain-mcandrew does the app run on this device in any configuration?

The crash says unknown opcode name for 400, which is the same as here: dotnet/android#6865

The suggestion was to try turning off hot reload / $(UseInterpreter), and I don't think we heard back if that solved anything.

@iain-mcandrew
Copy link

iain-mcandrew commented Sep 2, 2022

@jonathanpeppers The app launches and runs fine on this device if the project Configuration is the default "Debug"; creating a project configuration with a differnt name causes the issue.

Disabling hot reload and fast deployment does not resolve the issue.

@ghost
Copy link

ghost commented Sep 6, 2022

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.

@peter-chapman
Copy link
Author

@jonathanpeppers
Would it help if you had a device to debug this issue on? We are happy to ship you the device that has the issue to aid with investigation.

@jonathanpeppers
Copy link
Member

So both Debug and Release configurations work fine?

Can you build the project with -c Debug -bl:Debug.binlog, -c Release -bl:Release.binlog, and -c Debug.Pax -bl:Debug.Pax.binlog.

Then share these .binlog files?

@iain-mcandrew
Copy link

@jonathanpeppers Here are the requested logs. I had to add ".txt" to the end to upload them here.
Debug.binlog.txt
Debug.Pax.binlog.txt
Release.binlog.txt

@jonathanpeppers
Copy link
Member

One difference between the Debug & Debug.Pax logs is UseInterpreter.

What if you enable it for every configuration except Release:

<PropertyGroup Condition=" '$(Configuration)' != 'Release' ">
  <UseInterpreter>true</UseInterpreter>
</PropertyGroup>

Does that solve anything?

@iain-mcandrew
Copy link

iain-mcandrew commented Sep 12, 2022

Setting UseInterpreter to true does seem to fix the Debug.Pax build!
To answer your previous question, it seems Release doesn't work either. Enabling UseInterpreter for release build doesn't seem to fix it though.

@jonathanpeppers
Copy link
Member

@iain-mcandrew does Release work if you do:

<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
  <RunAOTCompilation>true</RunAOTCompilation>
  <AndroidEnableProfiledAot>false</AndroidEnableProfiledAot>
</PropertyGroup>

This will AOT the entire app, instead of using Profiled AOT (the default).

It might be there is an issue with the JIT on a specific device? This is a "PAX A920 Pro POS unit"?

@iain-mcandrew
Copy link

Unfortunately, I still get the opcode error.
logcat.txt
Release.binlog.txt

Correct we're using a Pax A920 Pro https://www.paxtechnology.com/a920pro

@jonathanpeppers
Copy link
Member

@grendello any idea what would cause an app on a specific device to crash with:

09-12 15:18:08.578  9672  9672 E         : unknown opcode name for 400
--------- beginning of crash
09-12 15:18:08.579  9672  9672 F libc    : Fatal signal 6 (SIGABRT), code -6 in tid 9672 (nyname.mauiapp9), pid 9672 (nyname.mauiapp9)

@iain-mcandrew does even a dotnet new android template fail the same way?

@grendello
Copy link
Contributor

Stack trace from the log file is very weird:

09-12 15:18:08.578  9672  9672 E         : unknown opcode name for 400
--------- beginning of crash
09-12 15:18:08.579  9672  9672 F libc    : Fatal signal 6 (SIGABRT), code -6 in tid 9672 (nyname.mauiapp9), pid 9672 (nyname.mauiapp9)
09-12 15:18:08.672  9691  9691 I crash_dump32: obtaining output fd from tombstoned, type: kDebuggerdTombstone
09-12 15:18:08.673   475   475 I /system/bin/tombstoned: received crash request for pid 9672
09-12 15:18:08.674  9691  9691 I crash_dump32: performing dump of process 9672 (target tid = 9672)
09-12 15:18:08.675  9691  9691 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-12 15:18:08.675  9691  9691 F DEBUG   : Native Crash TIME: 25743471
09-12 15:18:08.675  9691  9691 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-12 15:18:08.675  9691  9691 F DEBUG   : Build fingerprint: 'PAX/A50/A50:8.1.0/OPM2.171019.012/10:user/release-keys'
09-12 15:18:08.675  9691  9691 F DEBUG   : Revision: '0'
09-12 15:18:08.675  9691  9691 F DEBUG   : ABI: 'arm'
09-12 15:18:08.675  9691  9691 F DEBUG   : pid: 9672, tid: 9672, name: nyname.mauiapp9  >>> com.companyname.mauiapp9 <<<
09-12 15:18:08.675  9691  9691 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
09-12 15:18:08.677  9691  9691 F DEBUG   :     r0 00000000  r1 000025c8  r2 00000006  r3 00000008
09-12 15:18:08.677  9691  9691 F DEBUG   :     r4 000025c8  r5 000025c8  r6 bea181cc  r7 0000010c
09-12 15:18:08.677  9691  9691 F DEBUG   :     r8 00000000  r9 910200c9  sl 8f3f46e8  fp a286e680
09-12 15:18:08.677  9691  9691 F DEBUG   :     ip bea181f0  sp bea181b8  lr b0b3dc1b  pc b0b37734  cpsr 20000030
09-12 15:18:08.690  9691  9691 F DEBUG   : 
09-12 15:18:08.690  9691  9691 F DEBUG   : backtrace:
09-12 15:18:08.691  9691  9691 F DEBUG   :     #00 pc 00019734  /system/lib/libc.so (abort+63)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#1 pc 0001c10b  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x195b000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#2 pc 00094051  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#3 pc 001775e1  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#4 pc 00177569  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#5 pc 0017761f  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#6 pc 001095b3  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#7 pc 00153ef7  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#8 pc 000cf10f  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#9 pc 000d0a71  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#10 pc 000d1963  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.691  9691  9691 F DEBUG   :     dotnet/maui#11 pc 000d45f3  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.692  9691  9691 F DEBUG   :     dotnet/maui#12 pc 000d3de7  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.692  9691  9691 F DEBUG   :     dotnet/maui#13 pc 0004c965  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.692  9691  9691 F DEBUG   :     dotnet/maui#14 pc 000453ab  /data/app/com.companyname.mauiapp9-LeLjmierad7gzvqYMRibag==/split_config.armeabi_v7a.apk (offset 0x19a2000)
09-12 15:18:08.692  9691  9691 F DEBUG   :     dotnet/maui#15 pc 00008e54  <anonymous:af430000>

It's impossible to say what leads to the abort, but we think it's happening in this function (I think it might be line 86, since that would call the abort() function eventually), which is called mostly to form error/warning messages. That said, the .so file might contain code that's not supported by the CPU in the device. The runtime team would need to examine the binary, I think.

@jonathanpeppers
Copy link
Member

I believe the above app crashes even in Debug mode if UseInterpreter is toggled off (it's on by default).

If it still happens with a dotnet new android app, it is probably an issue specific to this device? @iain-mcandrew let us know.

@ghost
Copy link

ghost commented Sep 15, 2022

Hi @peter-chapman. We have added the "s/needs-info" label to this issue, which indicates that we have an open question for you before we can take further action. This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.

@iain-mcandrew
Copy link

A dotnet new android app runs on the device. But if I add <UseInterpreter>false</UseInterpreter> to the .csproj, then it crashes on launch (after successfully building)

@iain-mcandrew
Copy link

iain-mcandrew commented Sep 16, 2022

Looking at the existing bug, mentioned previously dotnet/android#6865, the user experienced unknown opcode name for 400 on their ZTE Blade A3 2020. This device also has a Cortex-A53 CPU like the Pax A920 Pro. Is it possible that this could be part of the problem?

@jonathanpeppers jonathanpeppers changed the title Cannot change configuration name in MAUI app [android] unknown opcode name for 400, only workaround is UseInterpreter=true Sep 26, 2022
@jonathanpeppers
Copy link
Member

Moving this one to dotnet/runtime.

@ghost ghost added the untriaged New issue has not been triaged by the area owner label Sep 26, 2022
@ghost
Copy link

ghost commented Sep 26, 2022

Tagging subscribers to this area: @dotnet/area-extensions-configuration
See info in area-owners.md if you want to be subscribed.

Issue Details

Description

Changing the name of the configuration causes MAUI apps to crash a few seconds into execution on Android.

Steps to Reproduce

This can be recreated by creating a fresh MAUI app and renaming the Debug configuration e.g.

Debug.Pax

Version with bug

6.0.486 (current)

Last version that worked well

Unknown/Other

Affected platforms

Android

Affected platform versions

8.1

Did you find any workaround?

No

Relevant log output

No response

Author: peter-chapman
Assignees: -
Labels:

untriaged, area-Extensions-Configuration

Milestone: -

@jonathanpeppers jonathanpeppers added area-Codegen-JIT-mono and removed untriaged New issue has not been triaged by the area owner area-Extensions-Configuration labels Sep 26, 2022
@jonathanpeppers jonathanpeppers transferred this issue from dotnet/maui Sep 26, 2022
@marek-safar marek-safar added this to the 7.0.x milestone Sep 27, 2022
@SamMonoRT
Copy link
Member

cc @vargaz @BrzVlad

@peter-chapman
Copy link
Author

Is there anything we can do to help with this? This is critical to our business so we are happy to support in anyway we can and can provide a device to assist if that would help.

@BrzVlad
Copy link
Member

BrzVlad commented Sep 27, 2022

Could we get a stack trace with symbols ? I remember the properties <_AndroidAotStripLibraries>false</_AndroidAotStripLibraries> or <AndroidIncludeDebugSymbols>true</AndroidIncludeDebugSymbols> were disabling stripping but not 100% sure. @jonathanpeppers @grendello Is this correct ?

@BrzVlad BrzVlad self-assigned this Sep 27, 2022
@grendello
Copy link
Contributor

_AndroidAotStripLibraries=False should prevent stripping of the libraries, yes

@iain-mcandrew
Copy link

@BrzVlad Here's the binlog for a dotnet new android release build with <_AndroidAotStripLibraries>false</_AndroidAotStripLibraries> in the .csproj. Is this what you wanted?
release_symobl.binlog.txt

@BrzVlad
Copy link
Member

BrzVlad commented Sep 28, 2022

@iain-mcandrew I was interested in seeing the stacktrace of the crash. So the device logs.

@iain-mcandrew
Copy link

@BrzVlad Logcat of the crash when opening the app.
logcat_symobl.txt

@BrzVlad
Copy link
Member

BrzVlad commented Sep 28, 2022

@grendello @jonathanpeppers Any idea why there are still no symbols in the stack trace ?

@iain-mcandrew
Copy link

I built it again with <AndroidIncludeDebugSymbols>true</AndroidIncludeDebugSymbols> as well, don't know if this helps?
logcat_symobl2.txt

@jonathanpeppers
Copy link
Member

Normally the way I get symbols is...

Find the path to the .so file:

C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.android-arm\6.0.8\runtimes\android-arm\native\libmonosgen-2.0.so

(I found this in the .binlog above)

Get the symbols:

dotnet tool install -g dotnet-symbol
dotnet-symbol 'C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.android-arm\6.0.8\runtimes\android-arm\native\*'

(you might need admin prompt or copy these files somewhere else instead)

Use ndk-stack to symbolicate the crash log:

ndk-stack -sym 'C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.android-arm\6.0.8\runtimes\android-arm\native' -dump logcat_symobl2.txt

But since the crash doesn't say it's inside libmonosgen-2.0.so, I just get:

********** Crash dump: **********
Build fingerprint: 'PAX/A50/A50:8.1.0/OPM2.171019.012/10:user/release-keys'
#00 0x00019734 /system/lib/libc.so (abort+63)
#01 0x0001c10b /data/app/com.companyname.tempmaui-yF71FEglR3eFksYnFE4EDA==/split_config.armeabi_v7a.apk (offset 0x35d000)
#02 0x00094051 /data/app/com.companyname.tempmaui-yF71FEglR3eFksYnFE4EDA==/split_config.armeabi_v7a.apk (offset 0x3a4000)
#03 0x001775e1 /data/app/com.companyname.tempmaui-yF71FEglR3eFksYnFE4EDA==/split_config.armeabi_v7a.apk (offset 0x3a4000)
#04 0x00177569 /data/app/com.companyname.tempmaui-yF71FEglR3eFksYnFE4EDA==/split_config.armeabi_v7a.apk (offset 0x3a4000)
#05 0x0017761f /data/app/com.companyname.tempmaui-yF71FEglR3eFksYnFE4EDA==/split_config.armeabi_v7a.apk (offset 0x3a4000)
#06 0x001095b3 /data/app/com.companyname.tempmaui-yF71FEglR3eFksYnFE4EDA==/split_config.armeabi_v7a.apk (offset 0x3a4000)
#07 0x00153ef7 /data/app/com.companyname.tempmaui-yF71FEglR3eFksYnFE4EDA==/split_config.armeabi_v7a.apk (offset 0x3a4000)
#08 0x000cf10f /data/app/com.companyname.tempmaui-yF71FEglR3eFksYnFE4EDA==/split_config.armeabi_v7a.apk (offset 0x3a4000)
#09 0x000d0a71 /data/app/com.companyname.tempmaui-yF71FEglR3eFksYnFE4EDA==/split_config.armeabi_v7a.apk (offset 0x3a4000)
#10 0x000d1963 /data/app/com.companyname.tempmaui-yF71FEglR3eFksYnFE4EDA==/split_config.armeabi_v7a.apk (offset 0x3a4000)
#11 0x000d45f3 /data/app/com.companyname.tempmaui-yF71FEglR3eFksYnFE4EDA==/split_config.armeabi_v7a.apk (offset 0x3a4000)
#12 0x000d3de7 /data/app/com.companyname.tempmaui-yF71FEglR3eFksYnFE4EDA==/split_config.armeabi_v7a.apk (offset 0x3a4000)
#13 0x0004c965 /data/app/com.companyname.tempmaui-yF71FEglR3eFksYnFE4EDA==/split_config.armeabi_v7a.apk (offset 0x3a4000)
#14 0x000453ab /data/app/com.companyname.tempmaui-yF71FEglR3eFksYnFE4EDA==/split_config.armeabi_v7a.apk (offset 0x3a4000)
#15 0x000065dc <anonymous:abd92000>
Crash dump is completed

@grendello
Copy link
Contributor

@BrzVlad Android ignores symbols most of the time, for some reason. What @jonathanpeppers suggest above is a way to do it. I also often just run llvm-addr2line (or addr2line if using GNU toolchain) on the the frame addresses in the stack trace, after getting the symbols for the particular version of the shared library.

@iain-mcandrew could you attach libmonosgen-2.0.so from your app's apk here? That will allow @BrzVlad to fetch the correct symbols for it, thanks!

@grendello
Copy link
Contributor

Also, sometimes running adb bugreport just after the crash causes Android to include a bit more useful information about it.

@iain-mcandrew
Copy link

iain-mcandrew commented Sep 28, 2022

This is the .so file from the path @jonathanpeppers mentioned.
libmonosgen-2.0.so.txt

@iain-mcandrew
Copy link

Here is the result of running adb bugreport just after the crash
bugreport-A50-OPM2.171019.012-2022-09-28-16-16-17.zip

@BrzVlad
Copy link
Member

BrzVlad commented Sep 28, 2022

doesn't look like libmonosgen was uploaded.

@iain-mcandrew
Copy link

Not sure why that failed. Hopefully this works:
libmonosgen-2.0.so.txt

@BrzVlad
Copy link
Member

BrzVlad commented Sep 28, 2022

@iain-mcandrew I have an idea about a potential fix. I would like to get you to try out a custom build of mono. Could we move this discussion somewhere else ? You could reach me on dotnet evolution discord server (I'm Brz_Vlad#8554 there)

@iain-mcandrew
Copy link

Request apk
com.companyname.tempmaui-Signed.apk.zip

@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Sep 29, 2022
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Oct 3, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Nov 2, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants