HTML to PDF / DOCX / RTF Java converter library › Forums › PD4ML Forums › Technical questions / Troubleshooting › BufferOverflowException when generating PDFs on WebSphere Open Liberty

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #41181

    Hello,

    We’re experiencing an issue with PD4ML when generating PDFs on IBM Open Liberty.

    Environment:

    Open Liberty / WebSphere Liberty 24.0.0.2
    JDK 21.0.1
    Jakarta EE 10
    PD4ML 4.0.17, 4.1.0, and 4.1.1 (same behavior on all versions)

    Issue:
    PDF generation works correctly on Tomcat but consistently fails on Open Liberty with:

    java.nio.BufferOverflowException
    at java.nio.HeapByteBuffer.put()
    at com.ibm.ws.bytebuffer.internal.WsByteBufferImpl.put()
    at com.pd4ml.taglib.jakarta.PD4MLTransformerTag.doEndTag(…)

    After the failure, Liberty reports:

    java.lang.IllegalStateException: SRVE0199E: OutputStream already obtained

    This is a secondary error caused while rendering the error page.

    What we’ve already tried:

    Tested PD4ML 4.0.17, 4.1.0, and 4.1.1.
    Removed custom response wrappers and GZIP filter.
    Increased servlet response buffer (response.setBufferSize()).
    Increased JSP page buffer.
    Removed embedded TrueType fonts (<pd4ml:usettf>).
    The issue only occurs on Open Liberty; the same application works correctly on Tomcat.

    Do you know if this is a known compatibility issue with Open Liberty, or is there a recommended configuration or workaround?

    Thank you.

    #41182

    Thank you for the issue report! We have created a helpdesk ticket for further investigation.

    #41186

    BTW, have you received the helpdesk message with the additional info request?

    #41188

    I haven’t received it, please provide it.

    #41204

    As we can see, all notification emails go to Jeff’s email.
    To simplify things, please send an email to helpdesk pd4ml com (with all other request participants in CC, if any), so we do not need to manually create new user accounts. Thank you!

    #41290

    Hi Team,

    I’ve sent a few emails to helpdesk@pd4ml.com from my vitaliy…@…ai email address, but I haven’t received a response yet.

    Could you please follow up or let me know if my emails were received? I’d appreciate any update.

    Thank you!

    #41680

    Hi PD4ML Team,

    We haven’t heard from you for a while, and this issue is still high priority for us. We need your assistance in identifying the root cause and finding a resolution.

    Could you please let us know what next steps you would recommend to troubleshoot and resolve the issue? If you need any additional logs, configuration details, or test cases from our side, please let us know.

    One additional observation: after removing the following line, the PDF is generated, but the resulting file cannot be opened:

    <pd4ml:usettf embed=”true” from=”java:/pdffonts”/>
    I’ve attached the JSP files with and without this line for comparison.

    However, removing this line does not resolve the issue in our real-world case; it only appears to help with the test file.

    We would appreciate your guidance on what we should check next, especially regarding the TTF font configuration and PDF generation.

    Thanks!

    #41681

    See attachments

    Attachments:
    You must be logged in to view attached files.
    #41686

    Hello! We replied in the HELPD-853 thread back in August and were awaiting your feedback, as the issue appears to be primarily related to the CF configuration. Could you please perform some minimal testing of the suggested options to help pinpoint the root cause of the problem?

    Obviously one of the ColdFusion tags implicitly opens the HTTP output stream and writes to it, whereas all nested tags are expected to write data that forms the body content of the enclosing pd4ml tag. You can remove the CF tags or blocks one by one to narrow down to the problematic elements. We suspect it is <cfoutput> . Or perhaps the loop generates too much output, causing the buffer to be flushed to the HTTP channel.
    If the JSP page using PD4ML and CF works in other environments, we hope there is a configuration that prevents CF tags from immediately initiating the HTTP response write.
    AI provides some hints like <cfsetting showdebugoutput=”false”>, <cfcontent reset=”false”> or to significantly increase CF output buffer. But right now we can’t test these proposals.

Viewing 9 posts - 1 through 9 (of 9 total)

You must be logged in to reply to this topic.