Bug 25107 - Compiled method names differ between 32 and 64 bit builds
Summary: Compiled method names differ between 32 and 64 bit builds
Alias: None
Product: iOS
Classification: Xamarin
Component: Mono runtime / AOT compiler ()
Version: 7.2.2
Hardware: Macintosh Mac OS
: Normal normal
Target Milestone: Untriaged
Assignee: Zoltan Varga
Depends on:
Reported: 2014-12-05 10:51 UTC by jesse.attas
Modified: 2016-03-11 20:06 UTC (History)
5 users (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

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)