We have some Apps in the Marketplace and we have problems with the development version of one of our Apps. The key is, when we’re installing this version with the UPM, the installation process doesn’t end and it seems to be frozen.
Looking at the logs we can see a trace of OutOfMemoryError: GC overhead limit exceeded. We’re getting this on the addon installation process, as I told you.
We’re planning to launch a new version of this App in the Marketplace ASAP. In fact, it’s ready to be released but we’ve found this during the test phase.
An important point is that this problem is not being obtained on every installation. We’ve tested on many different Jira environments, all above 7.0+, and this problem only rises sometimes. But, as this App may be installed by anyone because it’s in the Marketplace, is really important for us that this problem won’t be obtained by any of our users.
If we raise the JVM memory, the problem is solved, but we want it to work well with default JVM memory config, as we don’t want to annoy any customer. Another important point is that, if the installation works well, there is never an error like this while using the App, it’s only produced by the installation process.
I have the support.zip and the thread dump of one of our Jira for testing where the problem is being obtained, but I cannot attach them here because of the extension limit of the attachments here in the Community. If they may help, I can upload them to anywhere and share it here.
Have you raised a ticket with our Developer Support team already?
They might be able to help you more quickly, and you can share your attachments with them.
How big is your app (the jar itself)? (You might be loading a lot of classes when things start).
Are you loading any large amounts of data into memory in the constructors, start of any services or just in general when the app starts?
My guess is that you’re only hitting it sporadically is because in the other cases the other apps haven’t used up the rest of the memory requiring GC to be run.
The bad thing about this though is if this is what’s happening - it’s a problem that will get more noticeable when there are multiple apps on the system and they’re all doing things…
Using a profiler is key for us in this case, jprofiler has helper us a lot. We can go through here improving the App, I will write here if we can go further or we have more problems.
Answering you, we’re not loading any huge data in the constructors nor managing huge amount of data when the App is being installed. Moreover, the App size is about 30mb.
After looking at your advice and doing the profiling process, we’ve improved our product and now it seems to be working well. There isn’t any problem with the installation process and the memory required has decreased a lot.
I’ll let you know if this comes up again, but with your help, it may not arise again.