You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by Dominik Stadler <do...@gmx.at> on 2020/02/01 09:34:10 UTC
Re: next release?
Hi,
target "jenkins" works fine for me with
export ANT_OPTS="-Xmx1024m"
and no changes to the build.xml both with JDK 8_201 and OpenJDK 8_232
Dominik.
On Fri, Jan 31, 2020 at 9:01 PM Andreas Beeker <ki...@apache.org> wrote:
> I'm running into 4x OOMs when running the integration tests in Open or
> Oracle Jdk 8, even when raising the heap from 1512 to 2048 mb.
> This didn't happen with OpenJDK 12 - which was my default setting before :|
>
> It looks like there's a problem with XSLF (see below, although this is
> probably not the location where the memory leak is happening)
>
> Andi
>
>
> Testcase: testAllFiles[845: slideshow/Divino_Revelado.pptx using
> org.apache.poi.stress.XSLFFileHandler@396a51ab] took 2.339 sec
> Caused an ERROR
> Java heap space
> java.lang.OutOfMemoryError: Java heap space
> at java.util.Arrays.copyOf(Arrays.java:3332)
> at
> java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
> at
> java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:649)
> at java.lang.StringBuilder.append(StringBuilder.java:202)
> at
> org.apache.poi.sl.draw.DrawTextParagraph.tab2space(DrawTextParagraph.java:427)
> at
> org.apache.poi.sl.draw.DrawTextParagraph.getRenderableText(DrawTextParagraph.java:386)
> at
> org.apache.poi.sl.draw.DrawTextParagraph.getRenderableText(DrawTextParagraph.java:381)
> at
> org.apache.poi.sl.draw.DrawTextParagraph.getAttributedString(DrawTextParagraph.java:564)
> at
> org.apache.poi.sl.draw.DrawTextParagraph.breakText(DrawTextParagraph.java:258)
> at
> org.apache.poi.sl.draw.DrawTextShape.drawParagraphs(DrawTextShape.java:158)
> at
> org.apache.poi.sl.draw.DrawTextShape.getTextHeight(DrawTextShape.java:220)
> at
> org.apache.poi.sl.draw.DrawTextShape.drawContent(DrawTextShape.java:104)
> at
> org.apache.poi.sl.draw.DrawSimpleShape.draw(DrawSimpleShape.java:107)
> at org.apache.poi.sl.draw.DrawSheet.draw(DrawSheet.java:71)
> at org.apache.poi.sl.draw.DrawSlide.draw(DrawSlide.java:41)
> at org.apache.poi.xslf.usermodel.XSLFSlide.draw(XSLFSlide.java:373)
> at
> org.apache.poi.stress.SlideShowHandler.renderSlides(SlideShowHandler.java:152)
> at
> org.apache.poi.stress.SlideShowHandler.handleSlideShow(SlideShowHandler.java:46)
> at
> org.apache.poi.stress.XSLFFileHandler.handleFile(XSLFFileHandler.java:43)
> at org.apache.poi.TestAllFiles.testAllFiles(TestAllFiles.java:433)
>
>
>
Re: next release?
Posted by Dominik Stadler <do...@gmx.at>.
Hi,
problem seems to be at DrawTextParagraph.java:417, TextLayout.getAdvance()
sometimes returns 0 for OpenJDK. In the statements "(int)Math.ceil(tabSz /
wspace)" the division by zero leads to "Infinity", which Math.ceil()
converts to Integer.MAX_VALUE, thus we try to create a string with that
many spaces.
Simple fix may be to adjust wspace to non-zero in this case as it probably
is not useful to use "0" for wspace here.
I didn't see any related change in POI for some time, so it may be caused
by changes in recent OpenJDK versions.
Dominik.
On Sat, Feb 1, 2020 at 10:48 AM Dominik Stadler <do...@gmx.at>
wrote:
>
> Sorry, I was wrong, it actually only works with JDK 8_201, but fails with
> OOM on OpenJKD 8_232, so some change between those two versions of the JDK
> might be related.
>
> BTW, CI on Jenkins still uses patch-level 191, which is quite outdated
> nowadays...
>
> Dominik.
>
> On Sat, Feb 1, 2020 at 10:34 AM Dominik Stadler <do...@gmx.at>
> wrote:
>
>> Hi,
>>
>> target "jenkins" works fine for me with
>>
>> export ANT_OPTS="-Xmx1024m"
>>
>> and no changes to the build.xml both with JDK 8_201 and OpenJDK 8_232
>>
>> Dominik.
>>
>> On Fri, Jan 31, 2020 at 9:01 PM Andreas Beeker <ki...@apache.org>
>> wrote:
>>
>>> I'm running into 4x OOMs when running the integration tests in Open or
>>> Oracle Jdk 8, even when raising the heap from 1512 to 2048 mb.
>>> This didn't happen with OpenJDK 12 - which was my default setting before
>>> :|
>>>
>>> It looks like there's a problem with XSLF (see below, although this is
>>> probably not the location where the memory leak is happening)
>>>
>>> Andi
>>>
>>>
>>> Testcase: testAllFiles[845: slideshow/Divino_Revelado.pptx using
>>> org.apache.poi.stress.XSLFFileHandler@396a51ab] took 2.339 sec
>>> Caused an ERROR
>>> Java heap space
>>> java.lang.OutOfMemoryError: Java heap space
>>> at java.util.Arrays.copyOf(Arrays.java:3332)
>>> at
>>> java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
>>> at
>>> java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:649)
>>> at java.lang.StringBuilder.append(StringBuilder.java:202)
>>> at
>>> org.apache.poi.sl.draw.DrawTextParagraph.tab2space(DrawTextParagraph.java:427)
>>> at
>>> org.apache.poi.sl.draw.DrawTextParagraph.getRenderableText(DrawTextParagraph.java:386)
>>> at
>>> org.apache.poi.sl.draw.DrawTextParagraph.getRenderableText(DrawTextParagraph.java:381)
>>> at
>>> org.apache.poi.sl.draw.DrawTextParagraph.getAttributedString(DrawTextParagraph.java:564)
>>> at
>>> org.apache.poi.sl.draw.DrawTextParagraph.breakText(DrawTextParagraph.java:258)
>>> at
>>> org.apache.poi.sl.draw.DrawTextShape.drawParagraphs(DrawTextShape.java:158)
>>> at
>>> org.apache.poi.sl.draw.DrawTextShape.getTextHeight(DrawTextShape.java:220)
>>> at
>>> org.apache.poi.sl.draw.DrawTextShape.drawContent(DrawTextShape.java:104)
>>> at
>>> org.apache.poi.sl.draw.DrawSimpleShape.draw(DrawSimpleShape.java:107)
>>> at org.apache.poi.sl.draw.DrawSheet.draw(DrawSheet.java:71)
>>> at org.apache.poi.sl.draw.DrawSlide.draw(DrawSlide.java:41)
>>> at org.apache.poi.xslf.usermodel.XSLFSlide.draw(XSLFSlide.java:373)
>>> at
>>> org.apache.poi.stress.SlideShowHandler.renderSlides(SlideShowHandler.java:152)
>>> at
>>> org.apache.poi.stress.SlideShowHandler.handleSlideShow(SlideShowHandler.java:46)
>>> at
>>> org.apache.poi.stress.XSLFFileHandler.handleFile(XSLFFileHandler.java:43)
>>> at org.apache.poi.TestAllFiles.testAllFiles(TestAllFiles.java:433)
>>>
>>>
>>>
Re: next release?
Posted by Dominik Stadler <do...@gmx.at>.
Sorry, I was wrong, it actually only works with JDK 8_201, but fails with
OOM on OpenJKD 8_232, so some change between those two versions of the JDK
might be related.
BTW, CI on Jenkins still uses patch-level 191, which is quite outdated
nowadays...
Dominik.
On Sat, Feb 1, 2020 at 10:34 AM Dominik Stadler <do...@gmx.at>
wrote:
> Hi,
>
> target "jenkins" works fine for me with
>
> export ANT_OPTS="-Xmx1024m"
>
> and no changes to the build.xml both with JDK 8_201 and OpenJDK 8_232
>
> Dominik.
>
> On Fri, Jan 31, 2020 at 9:01 PM Andreas Beeker <ki...@apache.org>
> wrote:
>
>> I'm running into 4x OOMs when running the integration tests in Open or
>> Oracle Jdk 8, even when raising the heap from 1512 to 2048 mb.
>> This didn't happen with OpenJDK 12 - which was my default setting before
>> :|
>>
>> It looks like there's a problem with XSLF (see below, although this is
>> probably not the location where the memory leak is happening)
>>
>> Andi
>>
>>
>> Testcase: testAllFiles[845: slideshow/Divino_Revelado.pptx using
>> org.apache.poi.stress.XSLFFileHandler@396a51ab] took 2.339 sec
>> Caused an ERROR
>> Java heap space
>> java.lang.OutOfMemoryError: Java heap space
>> at java.util.Arrays.copyOf(Arrays.java:3332)
>> at
>> java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
>> at
>> java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:649)
>> at java.lang.StringBuilder.append(StringBuilder.java:202)
>> at
>> org.apache.poi.sl.draw.DrawTextParagraph.tab2space(DrawTextParagraph.java:427)
>> at
>> org.apache.poi.sl.draw.DrawTextParagraph.getRenderableText(DrawTextParagraph.java:386)
>> at
>> org.apache.poi.sl.draw.DrawTextParagraph.getRenderableText(DrawTextParagraph.java:381)
>> at
>> org.apache.poi.sl.draw.DrawTextParagraph.getAttributedString(DrawTextParagraph.java:564)
>> at
>> org.apache.poi.sl.draw.DrawTextParagraph.breakText(DrawTextParagraph.java:258)
>> at
>> org.apache.poi.sl.draw.DrawTextShape.drawParagraphs(DrawTextShape.java:158)
>> at
>> org.apache.poi.sl.draw.DrawTextShape.getTextHeight(DrawTextShape.java:220)
>> at
>> org.apache.poi.sl.draw.DrawTextShape.drawContent(DrawTextShape.java:104)
>> at
>> org.apache.poi.sl.draw.DrawSimpleShape.draw(DrawSimpleShape.java:107)
>> at org.apache.poi.sl.draw.DrawSheet.draw(DrawSheet.java:71)
>> at org.apache.poi.sl.draw.DrawSlide.draw(DrawSlide.java:41)
>> at org.apache.poi.xslf.usermodel.XSLFSlide.draw(XSLFSlide.java:373)
>> at
>> org.apache.poi.stress.SlideShowHandler.renderSlides(SlideShowHandler.java:152)
>> at
>> org.apache.poi.stress.SlideShowHandler.handleSlideShow(SlideShowHandler.java:46)
>> at
>> org.apache.poi.stress.XSLFFileHandler.handleFile(XSLFFileHandler.java:43)
>> at org.apache.poi.TestAllFiles.testAllFiles(TestAllFiles.java:433)
>>
>>
>>