cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Issue uploading dsym using Dynatrace Fastlane Plugin

KsAvsFan
Newcomer

I'm using the Fastlane plugin to upload our dsyms to Dynatrace.  I've started receiving this error:

INFO [2023-08-01 19:30:42.49]: ▸ 2023-08-01 19:30:42.493 DTXDssClient[26630:90673] WARNING Extract [DTXSymbolExtractor.mm:916-259] Demangled symbol name of length 6842 exceeds maximum length of 5000. The symbol will be truncated and not be included in full length. This behavior can be overridden by using the maxSymbolSize parameter.

Looking at the documentation (https://github.com/Dynatrace/fastlane-plugin-dynatrace), I don't see `maxSymbolSize` as an available parameter to provide:

From the log file, I see that we're using:

 

DTXDssClient version 8.271.2.1007 built on 2023-07-14

 

But the logs also show it was updated:

 

INFO [2023-08-01 19:30:02.11]: Found a different remote DTXDssClient client. Removing local version and updating.

 

 

I started digging into this after checking a crash, and seeing a message "The stack trace could not be processed correctly with the uploaded mapping file."

Any suggestions?

 

Jamie

6 REPLIES 6

Patrick_H
Dynatrace Leader
Dynatrace Leader

Hi!

 

  • the name length truncation was introduced as 5000 chars usually should be enough in a crash report line to identify the method name. This was added to reduce symbol file size as under certain conditions saving the full could lead to a multitude of the resulting symbol file size and hitting upload size limit problems. Is desired this can be overridden as mentioned n the log - it is just not yet in our online help, but listed when invoking ./DTXDssClient -help
    maxSymbolSize Limits the maximum length (characters) of the demangled symbols. Can be disabled by setting it to 0. (Default 5000)​
  • the update is to keep the DSS client in sync with highest compatible version to the cluster, this does not have any impact on the above name truncation
  • last message is something that needs more investigation and you should open a support ticket and provide the crash report ind the originals dSYM file that matches the app build for the crash report
iOS help: https://www.dynatrace.com/support/help/shortlink/ios-hub

Hi @Patrick_H,

I am getting the same issue. Does the fastlane plugin give the possibility to set the maxSymbolSize to 0 ? didn't find a way to do it
Available parameters are only the following : 

Key Description default value

action(iOS/tvOS only) Action to be performed by DTXDssClient (upload or decode).upload
username(iOS/tvOS only) The username/AppleID to use to download the dSYMs. Alternatively you can specify this in your AppFile as apple_id. 
osThe type of the symbol files, either ios, tvOS or android. 
apitokenDynatrace API token with mobile symbolication permissions. 
appIDThe application ID you get from your Dynatrace environment. 
bundleIdThe CFBundlebundleId (iOS, tvOS) / package (Android) of the application. Alternatively you can specify this in your AppFile as app_identifier. 
versionStrThe CFBundleShortVersionString (iOS, tvOS) / versionName (Android) 
versionThe CFBundleVersion (iOS, tvOS) / versionCode (Android). Is also used for the dSYM download. 
symbolsfilePath to the dSYM or Android mapping file to be processed. (Android only): If the file exceeds 10MiB and doesn't end with *.zip it's zipped before uploading. This can be disabled by setting symbolsfileAutoZip to false. 
symbolsfileAutoZip(Android only) Automatically zip symbolsfile if it exceeds 10MiB and doesn't already end with *.zip.true
serverThe API endpoint for the Dynatrace environment (e.g. https://{environmentid}.live.dynatrace.com or https://dynatrace-managed.com/e/environmentID). 
cleanBuildArtifactsClean build artifacts after processing.false
tempdir(OPTIONAL) Custom temporary directory for the DTXDssClient. The plugin does not take care of cleaning this directory. 
debugMode(OPTIONAL) Enable debug logging.false
customLLDBFrameworkPath(iOS/tvOS only) (OPTIONAL) Custom path to the LLDB framework used as runtime dependency by DTXDssClient (e.g. /Users/test/Documents/LLDB.framework). 
autoSymlinkLLDB(iOS/tvOS only) (OPTIONAL) Automatically find and create a symlink to the LLDB framework into the DTXDssClient's temporary folder.true

 

Thanks for your help

Patrick_H
Dynatrace Leader
Dynatrace Leader

Hi @jbaf!
we checked our plugin and that option is currently not there - we will add it to the next release.

Update: truncated symbol names are not really an issue - this just shortens autogenerated symbol names that would not really help on analyzing a crash report (a method call with a 5k char long name?). If your issue is that you got "The stack trace could not be processed correctly with the uploaded mapping file.", then this should not be related to the truncation - more likely to a symbol file uploaded not matching the app build it was uploaded for (has to be exactly from that one build that was published, not just from same repo checkout state).

iOS help: https://www.dynatrace.com/support/help/shortlink/ios-hub

Thanks a lot !

Patrick_H
Dynatrace Leader
Dynatrace Leader

The missing maxSymbolSize parameter is now available in the latest release: https://github.com/Dynatrace/fastlane-plugin-dynatrace/releases/tag/v2.1.5

iOS help: https://www.dynatrace.com/support/help/shortlink/ios-hub

urs_fischer
Helper

For the last point of the solution, did you create a support ticket and what was the solution? We also receive the following message for stack traces:
- The stack trace could not be processed correctly with the uploaded mapping file.

Could you please also specify in which log files you found the error messages (path to the logs)?


Many Thanks,
Urs

 

 

Featured Posts