First published: Fri Mar 04 2022(Updated: )
A memory leak on the jboss client side, when using UserTransaction repeatedly. Such as: private void testTransaction() throws Exception { for(int i=1; i< 500000; i++) { System.out.println("Starting process " + i); // get the UserTransaction and EJB Proxy Context ctx = getInitialContext(host, port, username, password); UserTransaction tx = getUserTransaction(ctx); ControllerRemote cr = (ControllerRemote) ctx.lookup("Controller/Controller" + "!com.test.usertransaction.ControllerRemote"); try { tx.begin(); } catch(Exception ex1) { ex1.printStackTrace(); } //System.out.println("user transaction started"); cr.mainCall(); try { tx.commit();; } catch(Exception ex1) { ex1.printStackTrace(); throw ex1; } //System.out.println("commited user transaction"); if(ctx != null) ctx.close(); } } Transaction is executed by a remote client on a EJB deployed in EAP 7.3. Transaction is iterated for 50000 times. At the end of the iterations memory leakage is observed. 32% memory is occupied by org.wildfly.transaction.client.provider.remoting.TransactionClientChannel.
Affected Software | Affected Version | How to fix |
---|---|---|
Red Hat JBoss Enterprise Application Platform |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
REDHAT-BUG-2060725 is classified as a critical memory leak vulnerability affecting Red Hat JBoss EAP.
To mitigate REDHAT-BUG-2060725, you should update to the latest patched version of Red Hat JBoss EAP as recommended by Red Hat.
REDHAT-BUG-2060725 affects the Red Hat JBoss Enterprise Application Platform when using UserTransaction repeatedly.
Symptoms of REDHAT-BUG-2060725 include increased memory usage and potential application crashes when performing numerous transactions.
A potential workaround for REDHAT-BUG-2060725 is to limit the frequency and number of UserTransaction calls until a patch is applied.