Need a special offer?Find out if your project fits.
+

Pivot loading hangs from time to time, especially on slow computers

Answered
Ducarme Olivier asked on July 27, 2020

Hello flexmonster,
 
We are experiencing an annoying behaviour with our integration of flexmonster into Emasphere. From time to time, especially on slow computers, the "Analyzing data" step hangs forever and the user cannot see the result.
I've included a GIF file showing this behaviour.
The biggest problem is that it doesn't happen all the time. And anyway, any time it happens, if the user clicks again on the same cell from Emasphere, the flexmonster pivot will load flawlessly this time. So it is quite difficult to reproduce. It helps a lot when we use the Chrome developer tools and feature to throttle down your CPU (in the performance tab). Then the rate is much higher.
Here are some insights about how we use flexmonster into our app:

  • We use version 2.8.6 of flexmonster (but it also occured in previous versions)
  • It is a javascript integration (ExtJs)
  • We always use a JSON data source.
  • We call a backend endpoint to retrieve the data related to the chosen cell, and use the response as the JSON source
  • The flexmonster window is initialized once we get the response from the backend
  • To do that, we call the setReport() function
  • When the problem occurs, an error is visible in the console in the call stack behind setReport():
TypeError: Cannot read property 'push' of undefined

We conducted some investigations and debugging which led us to the original error. It seems that two arrays are copied one into the other at some point. When the problem occurs, the two arrays have different size.
See the screenshots here under for more information.
Could you please guide us to solve this issue? As you can imagine, it is quite annoying for our users, and it happens quite often for some of them in production, so we consider it as critical on ou side.
Thanks in advance for your guidance.
 
Olivier

15 answers

Public
Ducarme Olivier July 27, 2020

Here is a screenshot of the call stack while debugging
 

Attachments:
image (4).png

Public
Ducarme Olivier July 27, 2020

And here is another one where you can see that the 2 arrays have a different size, and that a push is attempted on an undefined item

Attachments:
image (5).png

Public
Dmytro Zvazhii Dmytro Zvazhii Flexmonster July 28, 2020

Hello Ducarme Olivier,

Thank you for providing us with such a detailed explanation.
For now, we have not managed to reproduce the issue on our side.
 
Could you please provide us with the link to the webpage where the issue occurs?
That would help us a lot in our further investigation.
 
Waiting to hear from you.
Regards,
Dmytro

Public
Ducarme Olivier July 28, 2020

Hello,
thanks a lot for your answer. I'll check what I can do to provide you with access to our test environment or something.
I'll have to give you credentials. Would it be possible to communicate them via e-mail or anything less public than a forum ?
Olivier

Public
Ducarme Olivier July 28, 2020

If possible, organizing a web meeting with the possibility to share a screen would be perfect, so I can give you some explanation on how to reproduce the problem.
What do you think ?

Public
Dmytro Zvazhii Dmytro Zvazhii Flexmonster July 28, 2020

Hello Ducarme Olivier,
Thank you for your quick reaction.
 
Access to the test environment would be great.
You can send all the sensitive information to our e-mail. As for the screen sharing session, we can discuss all the details through the e-mail.
 
Best regards,
Dmytro

Public
Sébastien Couturiaux August 3, 2020

Hi Dmytro, 
Olivier is off until Thursday. In the meantime, did you receive the access to our test environment ? 
Otherwise please tell me at what mail address I can send the user / password and the URL to connect, together with the scenario to reproduce (we'll make it extremely simple). 
Kind regards, 
Sébastien 

Public
Dmytro Zvazhii Dmytro Zvazhii Flexmonster August 3, 2020

Hello Sébastien Couturiaux,
Thank you for writing.
Currently, we have not received any updates from Olivier.
You are welcome to send all the sensitive information to our e-mail.
Regards,
Dmytro

Public
Sébastien Couturiaux August 5, 2020

Hello Dmytro,
Did you receive the mail I sent on Monday with the credentials to access our environment? Did you manage to test and reproduce it ? 

 
I am sorry to insist, but it becomes really tense on our side, with more and more customers and internal users complaining (including our CEO).
From our analyse (see initial post), the issue does not seems to be in our code, but if you have another feeling about the origin of the issue, please tell us ... If there is anything we should do to circumvent the issue or anything we could do to help you solve it, don't hesitate to suggest. 
 
Thanks in advance, 
 
Sébastien 

Public
Dmytro Zvazhii Dmytro Zvazhii Flexmonster August 5, 2020

Hello Sébastien Couturiaux,
Thank you for writing to us.
 
The provided access to your environment was extremely helpful in reproducing the issue.
We have prepared a fix so you can check it on your side. You are welcome to download the package here.
The fix is going to be officially released in the nearest minor update with ETA Aug 10.
 
Please let us know if everything works fine for you.
Best regards,
Dmytro

Public
Sébastien Couturiaux August 5, 2020

Hi Dmytro, 
 
This is great news ! We test this and we keep you posted. 
 
Thanks for your help, 
 
Sébastien 

Public
Ducarme Olivier August 7, 2020

Hello Dmytro,
Thanks a lot for your swift reaction on this issue. Your package has been deployed to the pre-production environment and the issue seems to be fixed. At least, we could not reproduce it since then. We are now testing for regression.
Talking about this, could you provide us with some information about the package you provided in your previous message? Is it a nightly build or is it a stable version with the patch added on it?
I ask because our next release for production is planned for the 12th of August, so waiting for your minor update of the 10th is risky. But, on the other hand, we don't want to throw an unstable flexmonster package to production.
Thanks in advance.
 
Olivier

Public
Milena Pechura Milena Pechura Flexmonster August 7, 2020

Hello, Olivier!
 
We are glad that our fix helped. Please keep us posted about testing progress.
 
Our team would like to confirm that the provided package is stable. We have run all the tests for this version, so you are welcome to add it to your next release.
Please kindly note that the package contains some of the features and fixes of the 2.8.13 minor. 
 
Also, we would like to mention that it is recommended to upgrade to the officially released version. Our team will notify you about the minor in case you decide to update after a while.
 
Kind regards,
Milena

Public
Milena Pechura Milena Pechura Flexmonster August 11, 2020

Hello, Olivier,
 
We are pleased to inform you that the version with a fix is officially released.
 
Please see https://www.flexmonster.com/release-notes/.
 
You are welcome to update the component.
Here is our updating to the latest version tutorial for guidance: https://www.flexmonster.com/doc/updating-to-the-latest-version/.
 
Please let us know if everything works.
 
Best regards,
Milena

Public
Ducarme Olivier August 13, 2020

Hello Milena,
Thank you for coming back to us and for all the details. We will plan this upgrade as soon as possible on our side.
In the meantime, the provided package has made its way to production and the problem seems to be gone.
Thanks again to the team for the very good handling of this issue.
 
Regards,
Olivier

Please login or Register to Submit Answer