Skip to content

mono-symbolicate errors (on iOS only): "Warning: MVID directory does not exist: ..." #3653

@kingces95

Description

@kingces95

Description

We have several Xamarin.Forms apps that are instrumented with the HockeyApp SDK to send crash reports. The build environment is Visual Studio 2017 on Windows 10 with local builds for android and remote builds to a Mac for iOS builds. We've recently gotten the android versions to build in such a way that they produce the needed .mSym files and have been successful in using mono-symbolicate to view the filenames and line numbers from stack traces sent to HockeyApp for production builds. For iOS, on the build server in the "~/Library/Caches/Xamarin/mtbs/builds/<ourApp>/<someGuid>/bin/iPhone/Ad-Hoc/<ourApp>.mSYM" directory, there are a bunch of sub-directories. But when we run mono-symbolicate, every sub-directory that it's looking for isn't found. So each line of the input stack trace produces an error "Warning: MVID directory does not exist: <someSubDirectory>". Example error line:

Warning: MVID directory does not exist: /Users/derek.wheeler/Library/Caches/Xamarin/mtbs/builds/FieldSheet.iOS/b5f6c442719e634bde4b19906949135b/bin/iPhone/Ad-Hoc/FieldSheet.app.mSYM/1861ef8a8a87467c9c37202d50ff68b2 at FieldSheet.Pages.ConnectionSettingsPage.TestAppCrash () <0x100925550 + 0x0001f> in <1861ef8a8a87467c9c37202d50ff68b2#d25ebbac98c60d1ed35df16528c08be6>:0

Of note too, we get a build warning that sounds like a problem producing the mSYM stuff:

1>C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(777,3): warning : Aot files could not be copied to the destination directory /Users/derek.wheeler/Library/Caches/Xamarin/mtbs/builds/FieldSheet.iOS/b5f6c442719e634bde4b19906949135b/obj/iPhone/Ad-Hoc/mtouch-cache/64/Build/Msym/Msym/tmp: Could not start process.

We've tried a bunch of different build options but couldn't find a definitive source for this so we were basically just guessing. The latest version from the iOS csproj:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' "> <DebugType>pdbonly</DebugType> <Optimize>True</Optimize> <OutputPath>bin\iPhone\Ad-Hoc</OutputPath> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <ConsolePause>False</ConsolePause> <MtouchArch>ARMv7, ARM64</MtouchArch> <BuildIpa>True</BuildIpa> <CodesignKey>...redacted...</CodesignKey> <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies> <DebugSymbols>True</DebugSymbols> <MonoSymbolArchive>True</MonoSymbolArchive> <MtouchEnableSGenConc>false</MtouchEnableSGenConc> </PropertyGroup>

Steps to Reproduce

see Description

Expected Behavior

mono-symbolicate should be able to show filenames and line numbers for Ad-Hoc iOS builds

Actual Behavior

mono-symbolicate shows errors

Basic Information

  • Version with issue: Xamarin=4.8.0.760
  • Last known good version: This is the first time we're trying this.
  • IDE: Visual Studio Enterprise 2015, Version 14.0.25425.01 Update 3
  • Platform Target Frameworks:
    • iOS: Xamarin.iOS and Xamarin.Mac SDK = 11.6.1.4 (db807ec)

Screenshots

Reproduction Link

VS bug #588941, VS bug #591266

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIf an issue is a bug or a pull request a bug fixiOSIssues affecting iOSvs-sync*Only use when triaging (not before)* Syncs this bug with VSTS

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions