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

DdRum addError message being ommited #693

Open
dalmago opened this issue Jul 11, 2024 · 3 comments
Open

DdRum addError message being ommited #693

dalmago opened this issue Jul 11, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@dalmago
Copy link

dalmago commented Jul 11, 2024

Describe the bug

While using DdRum.addError to send errors to Datadog, under some conditions the error message is replaced by the stack trace.

From empirical testing, I noticed that these conditions happen when the stack trace parameter starts with some words and a colon. Then the error message is replaced with what's after the colon in the stack trace.

Reproduction steps

From the errors below, the only ones that I can see the error message on Datadog are the 2nd and 4th messages.

// Error stack will start with "Error:", so message is replaced with stack trace
try {
  throw new Error("my test error 1");
} catch (e) {
  void DdRum.addError(
    "Error: my 1st message",
    ErrorSource.CUSTOM,
    (e as Error).stack ?? "empty stack",
    {
      a: 1,
    }
  );
}

// If a regular string is placed in the stack trace parameter, it works fine!
void DdRum.addError(
  "Error: my 2nd message",
  ErrorSource.CUSTOM,
  "my 2nd stack info",
  {
    a: 2,
  }
);    

// If stack trace param has a colon, error message is replaced! Not exclusive for Error objects
void DdRum.addError(
  "Error: my 3rd message",
  ErrorSource.CUSTOM,
  "Error: my 3rd stack info",
  {
    a: 3,
  }
);

// Works fine if I add a linebreak before the stack trace (my current workaround)
try {
  throw new Error("my test error 4");
} catch (e) {
  void DdRum.addError(
    "Error: my 4th message",
    ErrorSource.CUSTOM,
    "\n" + ((e as Error).stack ?? "empty stack"),
    {
      a: 4,
    }
  );
}

// Issue not exclusive to "Error:", any work preceding a colon will have the same effect
void DdRum.addError(
  "Error: my 5th message",
  ErrorSource.CUSTOM,
  "ABCD: my 5th stack info",
  {
    a: 5,
  }
);
image

SDK logs

No response

Expected behavior

No response

Affected SDK versions

2.4.0

Latest working SDK version

NA

Did you confirm if the latest SDK version fixes the bug?

Yes

Integration Methods

Yarn

React Native Version

0.73.6

Package.json Contents

"@datadog/mobile-react-native": "^2.4.0"

iOS Setup

No response

Android Setup

No response

Device Information

No response

Other relevant information

No response

@dalmago dalmago added the bug Something isn't working label Jul 11, 2024
@marco-saia-datadog
Copy link
Member

Hello @dalmago, thank you for reaching out and for providing a clear report of the issue. I will get back to you soon!

@marco-saia-datadog
Copy link
Member

Hello @dalmago, does the issue occur on iOS, Android or both?

@dalmago
Copy link
Author

dalmago commented Jul 17, 2024

It happens on both

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants