Bug 25107

Summary: Compiled method names differ between 32 and 64 bit builds
Product: iOS Reporter: jesse.attas
Component: Mono runtime / AOT compilerAssignee: Zoltan Varga <vargaz>
Status: RESOLVED FIXED    
Severity: normal CC: akhileshk, kumpera, mono-bugs+monotouch, rolf, sebastien
Priority: Normal    
Version: 7.2.2   
Target Milestone: Untriaged   
Hardware: Macintosh   
OS: Mac OS   
Tags: Is this bug a regression?: ---
Last known good build:

Description jesse.attas 2014-12-05 10:51:35 UTC
When building with the unified API, sometimes the compiled method names will be slightly different on 32 and 64-bit iPads. For example:

Namespace_MoreNamespace_ClassName_MethodName     on 64 bit
Namespace_MoreNamespace_ClassName_MethodName_0   on 32 bit

This wouldn't matter except that crash reporting tools like HockeyApp will bucket crashes that occur in this method into two different groups, making it more difficult to analyze which crashes are the most common.
Comment 1 Rolf Bjarne Kvinge [MSFT] 2014-12-05 12:58:12 UTC
Do you have sample crash reports that shows this?
Comment 3 Rolf Bjarne Kvinge [MSFT] 2014-12-08 06:44:41 UTC
Zoltan, is this something we can do something about?
Comment 4 Zoltan Varga 2015-01-03 03:31:43 UTC
The _0 suffixes are added to distinguish similar method names from each other, but the aot process is mostly deterministic, so the same methods should get the same symbols in 32 and 64 bit mode. Would it be possible to get a test case for this ?
Comment 7 jesse.attas 2015-01-05 10:51:32 UTC
I added two private attachments. If you can't figure it out just by looking at those source files, let me know and I can try to pare it down to something that compiles.
Comment 8 Zoltan Varga 2015-01-05 11:41:19 UTC
Fixed in mono master 27fd291b19c50ce81facefb4ea2dac037290b454.
Comment 9 Sebastien Pouliot 2016-03-11 20:06:07 UTC
Closing based on comment #8 (that's been shipping in XI for a while)