Seeing a "gray screen" and Javascript error when using Synthetic Canaries

0

Overview

The synthetic canaries job page goes gray and does not display any of the Synthetic Canaries. This happens in all major browsers.

Could this be a bug?

This occurs when ALL test steps pass in a canary job however if the test reports a “FAILED” status the page goes gray after you click on the blue dot for the latest failed job. There appears to be some javascript that throws an exception when these statuses contradict each other.

Here is an example of when a canary job shows “Failed” status yet it shows blue indicated in the graph as all steps passed and is available. Notice the red background highlighted on the most recent blue indicated passed job on the right of the graph. Now click on that last blue dot.

Synthetic Canary Job Failed but Steps All Passed

After you click the last blue dot you will get a gray screen. See javascript errors below.

Synthetic Canary Job Gray Screen

I was able to check the console log and found a Javascript error below.

main.js:2 TypeError: Cannot read properties of undefined (reading 'Status')
    at t.isIssue (main.js:2:32811942)
    at t.componentDidUpdate (main.js:2:32812908)
    at hs (main.js:2:5280314)
    at Il (main.js:2:5297278)
    at t.unstable_runWithPriority (main.js:2:5323041)
    at Hr (main.js:2:5239189)
    at Dl (main.js:2:5293823)
    at hl (main.js:2:5289937)
    at main.js:2:5239412
    at t.unstable_runWithPriority (main.js:2:5323041)
ss @ main.js:2
main.js:2 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'Status')
    at t.isIssue (main.js:2:32811942)
    at t.componentDidUpdate (main.js:2:32812908)
    at hs (main.js:2:5280314)
    at Il (main.js:2:5297278)
    at t.unstable_runWithPriority (main.js:2:5323041)
    at Hr (main.js:2:5239189)
    at Dl (main.js:2:5293823)
    at hl (main.js:2:5289937)
    at main.js:2:5239412
    at t.unstable_runWithPriority (main.js:2:5323041)

AWS
asked 10 months ago300 views
1 Answer
0

The error you're seeing seems to be a JavaScript error that occurs when the page tries to access a property called 'Status' of an undefined object. This suggests that the error occurs because the JavaScript code expects a certain data structure (probably a JSON object), but that structure doesn't exist or is different from what's expected.

The fact that the error only occurs when there's a discrepancy between the overall job status and individual step statuses, and that the error is related to reading a 'Status' property, suggests that the issue might be tied to the handling of the job and step statuses.

This could indeed be a bug in the application. It seems like the frontend code doesn't handle certain edge cases correctly. It is also possible that there's a backend issue where the data being sent to the frontend is not in the correct format or missing essential information.

Here are some steps you can take to troubleshoot:

  • Verify data integrity: If you have access to the data (like a network tab in browser dev tools or access to backend), check if the data returned for both "Passed" and "Failed" scenarios is correctly structured and contains all necessary information.

  • Review code: If you can access the codebase, look for where 'Status' is being read from an object and check for null or undefined cases. You may need to add conditionals to handle these cases.

  • Report the bug: If you are a user and not a developer (I see from your user badge that you're an AWS employee, but not sure in which department), you should report this bug to the service team with all the details you've gathered, including the steps to reproduce the error and any error messages you've received. They should be able to investigate further and fix the issue.

Without more specifics about the internals of the application, it's hard to pinpoint exactly where the issue lies. It could be in the frontend code, backend code, or even the data being stored in the database. However, the general troubleshooting steps above should be a good starting point and provide enough context to the service team.

profile picture
EXPERT
answered 10 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions