Challenge Overview
Challenge Objectives
App environment:
Angularjs framework with Polymer components
Basic Requirements for this challenge:
- Create analysis for Memory Leak issue of Angularjs based application
Project Background
The Power Xpert Dashboard provides a graphical user interface to monitor, control, and diagnose Eaton switchgear from a safe location. It provides features required to maintain a switchgear assembly such as:
- Rich interface to monitor parameters of all devices and study the trends of those parameters
- Ability to configure and monitor alarms for devices
- Remotely open/close and enable/disable Arc flash Reduction Maintenance Systems (ARMs) on circuit breakers through control mode
- Configure, monitor, and control for various Main and Tie Breaker source arrangements
Main navigation on the application are:
- One-line view
- Elevation view
- Timeline view
- Documents Elevation view
Before you started, click around across the application to get familiar with the functionalities.
For this Bug Hunt challenge, our primary focus will be find the root cause of the memory leak shown in the attached example video.
Let’s discuss any questions you have on challenge forum.
Code access
Important: Check on challenge forum to get the application access.
Before you test the application!
You need accept the Browser SSL Certificate before can login correctly on Chrome or any other browsers. Refer the trick here: http://www.robpeck.com/2010/10/google-chrome-mac-os-x-and-self-signed-ssl-certificates
Power Xpert Memory Leak Analysis Submissions Requirements:
In this challenge, we need to find the root cause of the memory leak shown in the example video. The client believes the source has to do with the use of Polymer components within Angularjs
Memory Leak App Problem:
With the Memory tab open in Chrome Developer tools:
1. Navigate to any page on Dashboard (settings/network for example)
2. Click "Take a heap snapshot" in the upper left corner of the Chrome Developer tools window
3. Navigate to a different page on the Dashboard (settings/safety for example)
4. Click "Take a heap snapshot" again
5. Return to the page you navigated to in step 1
6. Click "Take a heap snapshot" again
7. Repeat steps 3 through 6 as many times as you want
- Check "Profiles section" in the Chrome Developer tools, you'll see all of the heap snapshots.
- Every time you took a snapshot, it garbage collected and saved a snapshot of what was in memory.
- Normally all the memory on the previous page should be freed after page navigation and garbage collection.
- So each time you return to a page, the memory use should be about the same as the last time you visited.
- In our case though, the heap snapshots just keep getting bigger each time we navigate which indicates that memory isn't being freed and is "leaking".
Check the video screenshots below: https://drive.google.com/open?id=15s47uOh9efoFsSDH3W2qx5mUCiqqkEmB
Challenge Boundaries
- Accepted types of bugs: Memory Leak Root Cause
Primary target device(s): Desktop
- Browser requirements: Latest Google Chrome, Firefox, Safari and Internet Explorer (Edge) on Windows/macOS. IE11 and below versions are out of scope. Safari on Windows is out of scope.
- Content Bugs are IN SCOPE [Any functionalities, pages, interactions that increase the memory usage]
- Content Bugs are OUT OF SCOPE [Spelling and Grammar, Text spacing issues inside a paragraph, Tooltips, Missing/Broken Images/Videos inside an article, Font mismatch, Broken links on news articles, blog posts, products details pages, FAQ, Privacy, Terms and Conditions and articles.]
- Also other minor UI, Usability, Content issues, Tooltip, Broken Link issues that are not affecting to the core functionality of the application are likely to be REJECTED.
- DON'T test the functions in the Login menu and also functionality of the login and registration. They are out of scope.
Important: Because you are testing a live website DO NOT Test/send data via contact forms. They are out of scope.
This challenge will be using subjective decision, we will score against the following:
1. Accuracy of written brief describing Power Xpert Memory Leak root cause
2. Documentation proving root cause (screenshots, logs, other resources)
3. Action plan which suggests ways to mitigate the issue (doesn't need to be code solutions or fixes, just suggestions like if caused by a specific framework interaction, these framework interactions can be changed as suggested in this resource: <example resource>)
- You may submit in PDF, Word, or any standard document type
- Submit and listed any issues you think are the the Memory Leak root cause.
What To Submit?
- Document describing the Power Xpert Memory Leak root cause
- Verification document contains steps to verify your solution.
- Video/Image screenshot for Validation Purposes
App environment:
Angularjs framework with Polymer components
Basic Requirements for this challenge:
- Create analysis for Memory Leak issue of Angularjs based application
Project Background
The Power Xpert Dashboard provides a graphical user interface to monitor, control, and diagnose Eaton switchgear from a safe location. It provides features required to maintain a switchgear assembly such as:
- Rich interface to monitor parameters of all devices and study the trends of those parameters
- Ability to configure and monitor alarms for devices
- Remotely open/close and enable/disable Arc flash Reduction Maintenance Systems (ARMs) on circuit breakers through control mode
- Configure, monitor, and control for various Main and Tie Breaker source arrangements
Main navigation on the application are:
- One-line view
- Elevation view
- Timeline view
- Documents Elevation view
Before you started, click around across the application to get familiar with the functionalities.
For this Bug Hunt challenge, our primary focus will be find the root cause of the memory leak shown in the attached example video.
Let’s discuss any questions you have on challenge forum.
Code access
Important: Check on challenge forum to get the application access.
Before you test the application!
You need accept the Browser SSL Certificate before can login correctly on Chrome or any other browsers. Refer the trick here: http://www.robpeck.com/2010/10/google-chrome-mac-os-x-and-self-signed-ssl-certificates
Power Xpert Memory Leak Analysis Submissions Requirements:
In this challenge, we need to find the root cause of the memory leak shown in the example video. The client believes the source has to do with the use of Polymer components within Angularjs
Memory Leak App Problem:
With the Memory tab open in Chrome Developer tools:
1. Navigate to any page on Dashboard (settings/network for example)
2. Click "Take a heap snapshot" in the upper left corner of the Chrome Developer tools window
3. Navigate to a different page on the Dashboard (settings/safety for example)
4. Click "Take a heap snapshot" again
5. Return to the page you navigated to in step 1
6. Click "Take a heap snapshot" again
7. Repeat steps 3 through 6 as many times as you want
- Check "Profiles section" in the Chrome Developer tools, you'll see all of the heap snapshots.
- Every time you took a snapshot, it garbage collected and saved a snapshot of what was in memory.
- Normally all the memory on the previous page should be freed after page navigation and garbage collection.
- So each time you return to a page, the memory use should be about the same as the last time you visited.
- In our case though, the heap snapshots just keep getting bigger each time we navigate which indicates that memory isn't being freed and is "leaking".
Check the video screenshots below: https://drive.google.com/open?id=15s47uOh9efoFsSDH3W2qx5mUCiqqkEmB
Challenge Boundaries
- Accepted types of bugs: Memory Leak Root Cause
Primary target device(s): Desktop
- Browser requirements: Latest Google Chrome, Firefox, Safari and Internet Explorer (Edge) on Windows/macOS. IE11 and below versions are out of scope. Safari on Windows is out of scope.
- Content Bugs are IN SCOPE [Any functionalities, pages, interactions that increase the memory usage]
- Content Bugs are OUT OF SCOPE [Spelling and Grammar, Text spacing issues inside a paragraph, Tooltips, Missing/Broken Images/Videos inside an article, Font mismatch, Broken links on news articles, blog posts, products details pages, FAQ, Privacy, Terms and Conditions and articles.]
- Also other minor UI, Usability, Content issues, Tooltip, Broken Link issues that are not affecting to the core functionality of the application are likely to be REJECTED.
- DON'T test the functions in the Login menu and also functionality of the login and registration. They are out of scope.
Important: Because you are testing a live website DO NOT Test/send data via contact forms. They are out of scope.
Final Submission Guidelines
Judging CriteriaThis challenge will be using subjective decision, we will score against the following:
1. Accuracy of written brief describing Power Xpert Memory Leak root cause
2. Documentation proving root cause (screenshots, logs, other resources)
3. Action plan which suggests ways to mitigate the issue (doesn't need to be code solutions or fixes, just suggestions like if caused by a specific framework interaction, these framework interactions can be changed as suggested in this resource: <example resource>)
- You may submit in PDF, Word, or any standard document type
- Submit and listed any issues you think are the the Memory Leak root cause.
What To Submit?
- Document describing the Power Xpert Memory Leak root cause
- Verification document contains steps to verify your solution.
- Video/Image screenshot for Validation Purposes