2

We recently migrate an application from Jboss EAP 6.1 to 7.1. Our application randomly start to go into a full GC death spiral (avg time 12s stop-the-world) and running out of memory in production environment.

From Jboss EAP 6.1 to 7.1 we migrate

  • Java from 7 to 8
  • JSF from 2.1(2.1.28.redhat-3) to 2.2(2.2.13.SP4-redhat-1)
  • Hibernate from 4 to 5

We also have:

  • Primefaces 6.1
  • Primefaces Extension 6.1.1 (massive use of DynaForm)

The application works fine in Jboss EAP 6 with PF 6.1 and PFE 6.1.1.

Before JBoss dead we make some heap dump and notice that there are a thread that occupy 3.28 GB in retained heap. 3.27 GB are a java.util.HashMap which each node contains millions of

 javax.faces.component.StateHolderSaver

enter image description here We already read this https://github.com/primefaces/primefaces/issues/4849 that seems similar to our issue but we don't have the component p:autoUpdate that cause the issue.

UPDATE 1

I notice that in local environment with downgrade to JSF 2.1 (custom module to JBoss) the number of javax.faces.component.StateHolderSaver doesn't icrease exponentially. What change from the two version?

What can cause this memory leak?

Thanks for the help.

Community
  • 1
  • 1
Rocco N.
  • 101
  • 1
  • 10
  • The StateHolderSaver is mostly stored in Arrays, not maps - did you find the GC root path to this map or massive StateHolderSaver instances? – Selaron Jul 16 '19 at 09:47
  • @Selaron Edit the question with screen of heapdump – Rocco N. Jul 16 '19 at 09:53
  • But do you have **something** that is updated (the dynaform?)? Or a `p:poll` And can you reproduce on a different environment? Then also try 6.2 or even 7.0 (try, not switch in production) – Kukeltje Jul 16 '19 at 10:12
  • @Kukeltje we don't have p:poll and can't reproduce the problem in differrent environment. We do every time component like checkbox, radiobox, calendar etc are used, and we also update the model of the dynaForm. – Rocco N. Jul 16 '19 at 10:40
  • ok, but over 3 milion entries??? Did you check if there were changes to Mojarra between the EAP 7.1 JSF version (2.2.11?) and 2.2.19? in this area? – Kukeltje Jul 16 '19 at 11:07
  • @Kukeltje i don't find the releases note of mojarra 2.2.x versions – Rocco N. Jul 16 '19 at 12:18
  • Add update1 to question – Rocco N. Jul 16 '19 at 14:33
  • And if you 'upgrade' to a server with JSF 2.3? – Kukeltje Jul 16 '19 at 14:54
  • @Kukeltje if we upgrade to jsf 2.3 we need to make change to application – Rocco N. Jul 22 '19 at 15:00
  • Downgrade to jsf 2.1 resolve the problem – Rocco N. Nov 26 '19 at 18:00
  • @Kukeltje today we try to switch in production environment to jboss eap 7.3 that ship with jsf 2.3 version but we faces the same exact problem – Rocco N. May 06 '21 at 11:18
  • Have you tested this on Jboss 7.3 with PrimeFaces 11 and PFE 11.0.4? I have a feeling its DyanForm related... – Melloware Jun 08 '22 at 15:01

0 Answers0