Description of problem: The serialization logic for exception chains is not correct and will output exponentially too many instances of chained exceptions, which can lead to out of memory conditions.
Created attachment 917161 [details] Fixed .jar
Created attachment 917162 [details] Fixed client jar
Delta from source change used for this fix: [rwagner@dev113 DV1]$ diff Orig/ExceptionHolder.java Changed/ExceptionHolder.java 129,140c129,144 < SQLException se = (SQLException)exception; < SQLException next = se.getNextException(); < int count = 0; < while (next != null) { < count++; < next = next.getNextException(); < } < out.writeInt(count); < next = se.getNextException(); < while (next != null) { < out.writeObject(new ExceptionHolder(next, true)); < next = next.getNextException(); --- > if (nested) { > out.writeInt(0); > } else { > SQLException se = (SQLException)exception; > SQLException next = se.getNextException(); > int count = 0; > while (next != null) { > count++; > next = next.getNextException(); > } > out.writeInt(count); > next = se.getNextException(); > while (next != null) { > out.writeObject(new ExceptionHolder(next, true)); > next = next.getNextException(); > }
Created attachment 917314 [details] Single Zip of patch.
Johnathon Lee <jolee> updated the status of jira TEIID-3021 to Reopened
Steven Hawkins <shawkins> updated the status of jira TEIID-3021 to Resolved
All tests passed. Verified on DV 6.0. The patch is in the attachment.
Steven Hawkins <shawkins> updated the status of jira TEIID-3021 to Closed
Employee 'felias' has left the company.
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.