as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
AWS
Documentation
Support
Contact Us
My Cases
Get Started
Design and Develop
Publish
Reference
Support

Detect Where the App Crash Originates

This document helps you determine whether a crash in your app originates from your code or Amazon's code. Understanding the source of a crash is crucial for efficient debugging and deciding when to contact Amazon support.

Prerequisites

Before analyzing crash sources, read Debug App Crash Using Vega Studio to learn how to pull and symbolicate aggregated crash report (ACR) files from your device.

Stack traces and stack frames

Stack traces are the sequence of functions that occurred leading up to the crash, while stack frames are the individual function calls that make up the stack trace.

Native stack frames

For native crashes, stack frames include frame number, address of the function, and library name corresponding to the address.

If debug symbols are available, the frame can also show function name, file where the function is located, and line number in the function where the address corresponds.

Example of a native stack frame:

#0  0xa1a701bc in VegaProjectTMTurboModule::VegaProjectTM::voidFunc (this=0xa1d99838) at /Users/developer_name/workspace/kepler/testapp/VegaProjectTM/kepler/turbo-modules/VegaProjectTM.cpp:33

JavaScript stack frames

For JavaScript, stack frames include function name, file where the function is located, and line number.

Example of a JavaScript stack frame:

at onPress (node_modules/@amazon-devices/react-native-kepler/Libraries/Pressability/Pressability.js:587:18)

Types of apps and their stack traces

Different types of apps produce different stack traces when they crash. Understanding which type of app you're working with helps you analyze the crash data correctly.

JavaScript-only apps

In JavaScript-only apps, you should only see JavaScript stack traces like this:

TypeError: Cannot read property 'crash' of undefined
    at onPress (node_modules/@amazon-devices/react-native-kepler/Libraries/Pressability/Pressability.js:587:18)
    [additional stack frames...]

To identify the source in JavaScript stack traces:

Your stack frame points to your app source files and doesn’t include @amazon-devices.

Example:

/Users/developer_name/workspace/kepler/testapp/VegaProjectApp/src/App.tsx:47:crash

Amazon stack frame includes @amazon-devices in the path.

Example:

node_modules/@amazon-devices/react-native-kepler/Libraries/...

Mixed JavaScript and native apps

In mixed JavaScript and native apps, you might see native stack traces.

Vega Studio shows one of two types of stack traces:

  • A JavaScript stack trace (if available in the ACR file)

  • A native stack trace (if no JavaScript trace is present)

The automatic symbolicator in Vega Studio prioritizes showing JavaScript traces when they exist in the ACR file.

Example of native stack trace:

#0 0xb6e01b26 in ?? () from /private/var/folders/_p/.../lib/libc.so.6 
#1 0xb6e8d5d0 in epoll_wait () from /private/var/folders/_p/.../lib/libc.so.6
[additional stack frames...]

To identify the source in native stack traces:

Your stack frame contains your workspace directory and shows your symbol path.

Example:

#0 0xa1a701bc in VegaProjectTMTurboModule::VegaProjectTM::voidFunc (this=0xa1d99838) at /Users/developer_name/workspace/******/testapp/VegaProjectTM/kepler/turbo-modules/VegaProjectTM.cpp:33

Amazon stack frame has no workspace directory reference and shows system paths.

Example:

#0 0xb6e01b26 in ?? () from /private/var/folders/_p/.../lib/libc.so.6

Contact Amazon support

Please contact Amazon support when you see any of the following issues:

  • You see native stack traces in a JavaScript-only app
  • Stack traces don't reference your code
  • In JavaScript stack traces, the topmost frame doesn’t point to your app code

Last updated: Sep 30, 2025