[PING] RFR: JDK-8150704 XALAN: ERROR: 'No more DTM IDs are available' when transforming with lots of temporary result trees

huizhe wang huizhe.wang at oracle.com
Mon Mar 7 02:26:56 UTC 2016

Hi Christoph,

Thanks for reporting and providing patch for the issue!  Looks like a 
nice solution that may potentially reduce memory requirement for some 
large templates. Could you also verify that the patch also fixes 
JDK-8150699 [1] that was created the same day as yours?

I assume the stylesheet is created to just illustrate the issue. If it's 
a real use case, then it should have made the variable global to avoid 
creating a lot of RTFs, and therefore avoid the whole "No more DTM IDs" 
issue. It would make the process a lot more efficient.

Some classes, such as Sort.java, still contain the old header, please 
update them with the new ones such as that in DOM.java.

The $Id section, such as the following, can all be removed, they were 
from legacy repository, misleading since it implies the file was last 
updated, in this case, in 2005:

   20 /*
   21  * $Id: Sort.java,v 2005/09/12 11:08:12 pvedula Exp $
   22  */

For the new test, it's probably better to add some kind of assertion in 
the test, e.g. expected result, than failing on a broad Exception. What 
if the test passes but the transform operation isn't because of the changes?

The test is also not sufficient. The release methods seem to be okay. 
However, they don't seem to have been fully exercised in the test (only 
simple RTs were created?).  In that sense, the sample attached in 
JDK-8150699 provided an opportunity to better verify the changes.

It would be good to add some javadoc or dev notes to the test. While 
consolidating tests (into TransformerTest), please make sure 
notes/javadoc are copied over or added.

[1] https://bugs.openjdk.java.net/browse/JDK-8150699


On 3/3/2016 11:50 PM, Langer, Christoph wrote:
> Hi,
> Ping - any comments or reviews for this bugfix?
> Thanks
> Christoph
> From: Langer, Christoph
> Sent: Freitag, 26. Februar 2016 16:02
> To: core-libs-dev at openjdk.java.net
> Subject: RFR: JDK-8150704 XALAN: ERROR: 'No more DTM IDs are available' when transforming with lots of temporary result trees
> Hi,
> I've created a fix proposal for the issue I have reported in this bug:
> https://bugs.openjdk.java.net/browse/JDK-8150704
> The webrev can be found here:
> http://cr.openjdk.java.net/~clanger/webrevs/8150704.1/
> The Xalan parser would eventually run out of DTM IDs if xsl transformations involve lots of temporary result trees. Those are never released although they could. A testcase is included for this. I've also done some cleanups in the Xalan code and in the tests.
> Thanks in advance for looking at this :)
> Best regards
> Christoph

More information about the core-libs-dev mailing list