Status Update
Comments
sa...@google.com <sa...@google.com>
sa...@google.com <sa...@google.com> #2
Hi,
Does this issue still persist?
Any additional information you provide will help us better understand and resolve the problem.Thank you for your trust and continued support to improve Google Cloud Platform products. In case you want to report a new issue, please do not hesitate to create a new
an...@gmail.com <an...@gmail.com> #3
Hi,
Yes, this is still happening. Stack traces are cut at the first async stack frame. The problem persists with the Node.js 18 and 20 runtimes as well.
sa...@google.com <sa...@google.com> #4
Hello,
Thank you for reaching out to us with your request.
We have duly noted your feedback and will thoroughly validate it. While we cannot provide an estimated time of implementation or guarantee the fulfillment of the issues, please be assured that your input is highly valued. Your feedback enables us to enhance our products and services.
We appreciate your continued trust and support in our Google Cloud Platform products. Should you encounter any further issues or wish to report a new concern, please feel free to create a new thread on the
Once again, we sincerely appreciate your valuable feedback; Thank you for your understanding and collaboration.
Description
Problem you have encountered:
Stack traces for Node.js services are incomplete if they contain calls to async functions, even though the messages in Logs Explorer contain the complete call stack. This can cause unrelated errors to be grouped.
For example, I see the following log entry in Logs Explorer:
On the Error Reporting Details page, it looks like this (in both the raw and parsed modes):
What you expected to happen:
The error details should contain the complete stack trace.
Steps to reproduce:
Here's the code that was used to generate the logs. It creates two different errors in order to demonstrate that they end up as a single Error Reporting group. Removing the
await Promise.resolve()
line separates them into two different errors, which is what I'd expect in both cases.function.js
It was deployed as a Cloud Function with the command
gcloud functions deploy --runtime=nodejs16 --trigger-http --entry-point=handler stack-trace
.