Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Empty dSYM issue #46243

Closed
greensoftstore opened this issue Aug 28, 2024 · 15 comments
Closed

Empty dSYM issue #46243

greensoftstore opened this issue Aug 28, 2024 · 15 comments
Labels
Resolution: Answered When the issue is resolved with a simple answer

Comments

@greensoftstore
Copy link

Description

React-Native : 0.73.9

Also when I run the project in debug mode, I encountered the issue log : "App empty dSYM file detected, dSYM was created with an executable with no debug info."

When I archive the app for appstoreconnect uploading, I faced this error.
The archive did not include a dSYM for the hermes.framework with the UUIDs [35FECC83-9599-34C1-813E-F020B2D0D382]. Ensure that the archive's dSYM folder includes a DWARF file for hermes.framework with the expected UUIDs.

I have no idea to fix this issue.
Can you guide me how to fix it?

Steps to reproduce

App empty dSYM file detected, dSYM was created with an executable with no debug info.

React Native Version

0.73.9

Affected Platforms

Runtime - iOS

Output of npx react-native info

System:
  OS: macOS 15.0
  CPU: (6) x64 Intel(R) Core(TM) i7-10700F CPU @ 2.90GHz
  Memory: 454.27 MB / 8.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 20.15.1
    path: /usr/local/bin/node
  Yarn: Not Found
  npm:
    version: 10.7.0
    path: /usr/local/bin/npm
  Watchman: Not Found
Managers:
  CocoaPods:
    version: 1.15.2
    path: /usr/local/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 24.0
      - iOS 18.0
      - macOS 15.0
      - tvOS 18.0
      - visionOS 2.0
      - watchOS 11.0
  Android SDK: Not Found
IDEs:
  Android Studio: Not Found
  Xcode:
    version: 16.0/16A5230g
    path: /usr/bin/xcodebuild
Languages:
  Java: Not Found
  Ruby:
    version: 2.6.10
    path: /usr/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.73.9
    wanted: 0.73.9
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false

Stacktrace or Logs

App empty dSYM file detected, dSYM was created with an executable with no debug info.

Reproducer

https://github.com/soft7store

Screenshots and Videos

No response

@react-native-bot
Copy link
Collaborator

⚠️ Missing Reproducible Example
ℹ️ We could not detect a reproducible example in your issue report. Please provide either:
  • If your bug is UI related: a Snack
  • If your bug is build/update related: use our Reproducer Template. A reproducer needs to be in a GitHub repository under your username.

@react-native-bot react-native-bot added Needs: Author Feedback Needs: Repro This issue could be improved with a clear list of steps to reproduce the issue. labels Aug 28, 2024
@react-native-bot
Copy link
Collaborator

⚠️ Missing Reproducible Example
ℹ️ We could not detect a reproducible example in your issue report. Please provide either:

@cipolleschi
Copy link
Contributor

As I mention in another issue, you can download the dSYMs from here.

Alternatively, you can open the hermes.xcframework file and remove the lines pointing to the dSYMs from the destroot/Library/Frameworks/universal/Info.plist:

<dict>
	<key>AvailableLibraries</key>
	<array>
		<dict>
			<key>BinaryPath</key>
			<string>hermes.framework/hermes</string>
-			<key>DebugSymbolsPath</key>
-			<string>dSYMs</string>
			<key>LibraryIdentifier</key>
			<string>xros-arm64-simulator</string>
			<key>LibraryPath</key>
			<string>hermes.framework</string>
			<key>SupportedArchitectures</key>
			<array>
				<string>arm64</string>
			</array>
			<key>SupportedPlatform</key>
			<string>xros</string>
			<key>SupportedPlatformVariant</key>
			<string>simulator</string>
		</dict>
		<dict>
			<key>BinaryPath</key>
			<string>hermes.framework/hermes</string>
-			<key>DebugSymbolsPath</key>
-			<string>dSYMs</string>
			<key>LibraryIdentifier</key>
			<string>ios-arm64_x86_64-maccatalyst</string>
			<key>LibraryPath</key>
			<string>hermes.framework</string>
			<key>SupportedArchitectures</key>
			<array>
				<string>arm64</string>
				<string>x86_64</string>
			</array>
			<key>SupportedPlatform</key>
			<string>ios</string>
			<key>SupportedPlatformVariant</key>
			<string>maccatalyst</string>
		</dict>
		<dict>
			<key>BinaryPath</key>
			<string>hermes.framework/hermes</string>
-			<key>DebugSymbolsPath</key>
-			<string>dSYMs</string>
			<key>LibraryIdentifier</key>
			<string>ios-arm64</string>
			<key>LibraryPath</key>
			<string>hermes.framework</string>
			<key>SupportedArchitectures</key>
			<array>
				<string>arm64</string>
			</array>
			<key>SupportedPlatform</key>
			<string>ios</string>
		</dict>
		<dict>
			<key>BinaryPath</key>
			<string>hermes.framework/hermes</string>
-			<key>DebugSymbolsPath</key>
-			<string>dSYMs</string>
			<key>LibraryIdentifier</key>
			<string>ios-arm64_x86_64-simulator</string>
			<key>LibraryPath</key>
			<string>hermes.framework</string>
			<key>SupportedArchitectures</key>
			<array>
				<string>arm64</string>
				<string>x86_64</string>
			</array>
			<key>SupportedPlatform</key>
			<string>ios</string>
			<key>SupportedPlatformVariant</key>
			<string>simulator</string>
		</dict>
		<dict>
			<key>BinaryPath</key>
			<string>hermes.framework/hermes</string>
-			<key>DebugSymbolsPath</key>
-			<string>dSYMs</string>
			<key>LibraryIdentifier</key>
			<string>xros-arm64</string>
			<key>LibraryPath</key>
			<string>hermes.framework</string>
			<key>SupportedArchitectures</key>
			<array>
				<string>arm64</string>
			</array>
			<key>SupportedPlatform</key>
			<string>xros</string>
		</dict>
	</array>
	<key>CFBundlePackageType</key>
	<string>XFWK</string>
	<key>XCFrameworkFormatVersion</key>
	<string>1.0</string>
</dict>
</plist>

@greensoftstore
Copy link
Author

Thanks for your response, by the way, I need your explanation more how to use the downloaded dSYMs file? I need you instruction how I can use this downloaded file...

@github-actions github-actions bot added Needs: Attention Issues where the author has responded to feedback. and removed Needs: Author Feedback labels Aug 29, 2024
@cipolleschi
Copy link
Contributor

the dSYM is used to symbolicate stack traces. If you don't need to symbolicate the stack traces, it's easier to just remove the entries above, honestly

@greensoftstore
Copy link
Author

Thanks.

@greensoftstore
Copy link
Author

I am sorry to reopen this issue since I got some crash issues from apple after upload the app.
I think these are related with dSYMs issue.
crashlog-71769718-682A-4262-B4E0-51B48FA7D3E0.txt
crashlog-A01C3CD3-E86F-48DC-8B6E-56677642976E.txt
Can you please let me know the solution?
Thanks.

@cipolleschi
Copy link
Contributor

@soft7store These are application errors as you can see by searching for NSException. i suggest you to run the app in Xcode to get the IDE point you to the exact line when the crash happens.
This is not related to the empty dSYM, so the issue must be closed.

Also, we are not a support channel for every app developer. You need to spend some time yourself to understand first if the problem is coming from React Native, a library or your app.
For issues coming from your app should be your responsibility to look into them
For issues coming from library, we advise to open the issue in the respective library
If, at the end, the issue is coming from React Native, we can look into that.

Let's try to investigate the problem and if it persists and comes from some React Native specific component, please open a dedicate issue as the crashes are unrelated to Hermes.

@cortinico cortinico added Resolution: Answered When the issue is resolved with a simple answer and removed Needs: Repro This issue could be improved with a clear list of steps to reproduce the issue. Needs: Attention Issues where the author has responded to feedback. labels Sep 11, 2024
@deb-crea
Copy link

deb-crea commented Oct 4, 2024

As I mention in another issue, you can download the dSYMs from here.

Alternatively, you can open the hermes.xcframework file and remove the lines pointing to the dSYMs from the destroot/Library/Frameworks/universal/Info.plist:

<dict>
	<key>AvailableLibraries</key>
	<array>
		<dict>
			<key>BinaryPath</key>
			<string>hermes.framework/hermes</string>
-			<key>DebugSymbolsPath</key>
-			<string>dSYMs</string>
			<key>LibraryIdentifier</key>
			<string>xros-arm64-simulator</string>
			<key>LibraryPath</key>
			<string>hermes.framework</string>
			<key>SupportedArchitectures</key>
			<array>
				<string>arm64</string>
			</array>
			<key>SupportedPlatform</key>
			<string>xros</string>
			<key>SupportedPlatformVariant</key>
			<string>simulator</string>
		</dict>
		<dict>
			<key>BinaryPath</key>
			<string>hermes.framework/hermes</string>
-			<key>DebugSymbolsPath</key>
-			<string>dSYMs</string>
			<key>LibraryIdentifier</key>
			<string>ios-arm64_x86_64-maccatalyst</string>
			<key>LibraryPath</key>
			<string>hermes.framework</string>
			<key>SupportedArchitectures</key>
			<array>
				<string>arm64</string>
				<string>x86_64</string>
			</array>
			<key>SupportedPlatform</key>
			<string>ios</string>
			<key>SupportedPlatformVariant</key>
			<string>maccatalyst</string>
		</dict>
		<dict>
			<key>BinaryPath</key>
			<string>hermes.framework/hermes</string>
-			<key>DebugSymbolsPath</key>
-			<string>dSYMs</string>
			<key>LibraryIdentifier</key>
			<string>ios-arm64</string>
			<key>LibraryPath</key>
			<string>hermes.framework</string>
			<key>SupportedArchitectures</key>
			<array>
				<string>arm64</string>
			</array>
			<key>SupportedPlatform</key>
			<string>ios</string>
		</dict>
		<dict>
			<key>BinaryPath</key>
			<string>hermes.framework/hermes</string>
-			<key>DebugSymbolsPath</key>
-			<string>dSYMs</string>
			<key>LibraryIdentifier</key>
			<string>ios-arm64_x86_64-simulator</string>
			<key>LibraryPath</key>
			<string>hermes.framework</string>
			<key>SupportedArchitectures</key>
			<array>
				<string>arm64</string>
				<string>x86_64</string>
			</array>
			<key>SupportedPlatform</key>
			<string>ios</string>
			<key>SupportedPlatformVariant</key>
			<string>simulator</string>
		</dict>
		<dict>
			<key>BinaryPath</key>
			<string>hermes.framework/hermes</string>
-			<key>DebugSymbolsPath</key>
-			<string>dSYMs</string>
			<key>LibraryIdentifier</key>
			<string>xros-arm64</string>
			<key>LibraryPath</key>
			<string>hermes.framework</string>
			<key>SupportedArchitectures</key>
			<array>
				<string>arm64</string>
			</array>
			<key>SupportedPlatform</key>
			<string>xros</string>
		</dict>
	</array>
	<key>CFBundlePackageType</key>
	<string>XFWK</string>
	<key>XCFrameworkFormatVersion</key>
	<string>1.0</string>
</dict>
</plist>

Hi were I need to move the downloaded dsym? And I am using RN 0.74.5, will be fine using this? I did tried the alternative by updating the Info.plist, but seems the issue still their

@cipolleschi
Copy link
Contributor

Hi were I need to move the downloaded dsym? And I am using RN 0.74.5, will be fine using this? I did tried the alternative by updating the Info.plist, but seems the issue still their

If you want to go down to that path, you have to:

  • unzip the dSYMs archive you downloaded
  • create the dSYMs folders in every subfolder of hermes.xcframework. For Example
mkdir -p destroot/Library/Frameworks/universal/hermes.xcframework/ios-arm64/dSYMs
  • copy the corresponding dSYM slice in the DSYMs folder of the architecture.

@mohammad-goldast
Copy link

mohammad-goldast commented Dec 9, 2024

My solution for RN 0.76.3 is here.

@nes123
Copy link

nes123 commented Dec 19, 2024

My solution for RN 0.76.3 is here.

does not work...

@luis-cicada
Copy link

I recently faced this issue with RN 76.3. What I did is to upgrade to 76.5 and it is working now. Hopefully it helps someone out there 😸

@chqamarali
Copy link

I'm facing this issue in the RN 0.75.4 Is there any solution other than upgrading RN project?

@cipolleschi
Copy link
Contributor

0.75 hasn't been released with the fix yet, sadly. So that's normal that the problem is still there. If you can, I suggest you to upgrade to 0.76.6.

For the other people, it could be that you are using a cached version of the hermes-engine artifacts.
I suggest you to run these commands:

rm -rf ios/Pods ios/build
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Caches/CocoaPods/Pods/External/hermes-engine

To make sure you clean up the whole system, and then rerun bundle exec pod install

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolution: Answered When the issue is resolved with a simple answer
Projects
None yet
Development

No branches or pull requests

9 participants