Skip to content

Application crashes on Nintendo Switch when reporting an error via Sentry #1804

@abond-sd

Description

@abond-sd

Environment

How do you use Sentry?
Sentry SaaS (sentry.io)

Which version of the SDK?
2.1.3

How did you install the package? (Git-URL, Assetstore)
Git URL

Which version of Unity?
2022.3.37f1

Is this happening in Unity (editor) or on a player like Android, iOS, Windows?
Nintendo Switch

Steps to Reproduce

  1. Start the application on Switch
  2. Have Switch report an error via Sentry
  3. --> The application closes

Expected Result

Reporting an error should not terminate the application

Actual Result

Based on previous advice for Sentry on Switch we had already set the following in a SentryBuildTimeOptionsConfiguration class

options.CacheDirectoryPath = null;
options.AutoSessionTracking = false;

It seems like the issue is that even when the above options are set, it still tries to use TryGetPersistentInstallationId which will always crash since files & directories cannot be created on the platform.

The error log that appears in the console when it generates a dump:

Error: nn::fs::CreateDirectory() failed because the operation is unsupported.
Search '2002-6364' on the following Error Code List for more information.
https://developer.nintendo.com/html/online-docs/g1kr9vj6-ja/Packages/Docs/Lists/ErrorCodeList/NintendoSwitch-ErrorCodeList-ja/2002.html
https://developer.nintendo.com/html/online-docs/g1kr9vj6-en/Packages/Docs/lists/NintendoSwitch-ErrorCodeList/2002.html

------------
AbortObserver called: Failed: nnFsResult
  Module: 2
  Description: 6364
  InnerValue: 0x0031b802
Condition: nn::Result::IsSuccess()
Function: CreateDirectory in D:\home\teamcity\work\sdk\Programs\Chris\Sources\Libraries\fs\fsa\fs_UserFileSystem.cpp:58

Any logs or screenshots

SymbolizedSwitchCrash.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status

    Done

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions