Document conversion are hanging in 24.1 Version of groupdocs conversion

HI
We are in middle of upgrading our jar of 22.8.1 to 24.1 of Groupdocs conversion . Recently when we tried deploying our wars into our servers even simple conversions are hanging as threads are in hanging state for very long period .
Here is the stack trace we are getting

java.base@11.0.21/java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
java.base@11.0.21/java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:253)
java.base@11.0.21/java.io.File.isFile(File.java:894)
com.groupdocs.conversion.internal.c.a.pd.internal.ms.System.IO.lt$lI.accept(Unknown Source)
java.base@11.0.21/java.io.File.list(File.java:1212)
com.groupdocs.conversion.internal.c.a.pd.internal.ms.System.IO.lt.lf(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.ms.System.IO.lt.ld(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l21p.l10p.lI(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l21p.l22u.lI(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.l0l(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lc(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lv(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.a(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v$2.a(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v$2.lI(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l14n.lI.lb(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.internal.l6u.l0v.lj(Unknown Source)
com.groupdocs.conversion.internal.c.a.pd.FontRepository.loadFonts(Unknown Source)
com.groupdocs.conversion.utils.common.FontsHelper.gm(Unknown Source)
com.groupdocs.conversion.utils.common.FontsHelper.setFonts(Unknown Source)
com.groupdocs.conversion.pipeline.a.a(Unknown Source)
com.groupdocs.conversion.b.ch(Unknown Source)
com.groupdocs.conversion.b.convert(Unknown Source)
com.groupdocs.conversion.Converter.convert(Unknown Source)
com.groupdocs.conversion.Converter.convert(Unknown Source)

Post our inspections we found out that it has been failing since 23.10 update as we tried earlier jars and those are working fine for us .

1 Like

@sandeepsuthari

Please share following details and we’ll investigate this issue at our end:

  • Development environment details (e.g. OS, Java version)
  • Sample application/code
  • Do you face this issue on local server as well?
  • Do you face this issue for all types of Conversions (e.g. Word to PDF)

2 posts were split to a new topic: JPG to PNG and Tiff conversion issue in .NET

Hi @atir.tahir

  • OS we are using is CentOS 7 and RHEL 8 with JDK 8 and 11
  • We are using sample code
    `Converter converter = new Converter();
    PdfConvertOptions options = new PdfConvertOptions();

converter.convert(, options);
`

  • I am facing this issue only on prod server not on local sever
  • I am facing for all types of conversion i.e. pdf2img also.

@sandeepsuthari

Do you mean on local server, API version 24.1 works without any issue and same application creates issue on production server?
Could you please share a screencast of this scenario as well?

Yes @atir.tahir
There is nothing for recording as threads are hanging and requests are not going forward . One thing which can give you was stacktrace at which it is hanging which I have already attached to the ticket.

@sandeepsuthari

Please spare us some time to complete the investigation. Your investigation ticket ID is CONVERSIONJAVA-2294.

HI @atir.tahir do we have any update on this ?

@sandeepsuthari

This issue is still under investigation.

HI @atir.tahir we dont have much time for this could you please help us in involving your DEV team over a call so that this can resolved faster.

@sandeepsuthari

Please note that your ticket status is already set to enterprise support. We already have escalated this issue.

A post was split to a new topic: Document conversion is hanging using Java

Hi @sandeepsuthari
Did you try this build (I shared it today 30.04.2024): groupdocs-conversion-24.3.jar - Google Drive
?
It will help to understand your server directory structure (you should share the log) and I hope find the cause of the bug.
Best regards.

Hi @vsevolod.orefin
I have shared the stacktrace of exception in our task ticket which I am getting because of new jar.

@sandeepsuthari can you please share the log, not stacktrace?

Hi @vsevolod.orefin
I am getting this trace , not any logs

java.lang.IllegalAccessError: class com.groupdocs.conversion.utils.common.FontsHelper (in unnamed module @0x2dcb9b3c) cannot access class com.sun.org.slf4j.internal.LoggerFactory (in module java.xml.crypto) because module java.xml.crypto does not export com.sun.org.slf4j.internal to unnamed module @0x2dcb9b3c
at com.groupdocs.conversion.utils.common.FontsHelper.(Unknown Source)
at com.groupdocs.conversion.pipeline.a.a(Unknown Source)
at com.groupdocs.conversion.b.cf(Unknown Source)
at com.groupdocs.conversion.b.convert(Unknown Source)
at com.groupdocs.conversion.Converter.convert(Unknown Source)
at com.groupdocs.conversion.Converter.convert(Unknown Source)
at com.snc.documentconversion.groupdocs.GroupDocsConverter.convertToPdfAsFilePath(GroupDocsConverter.java:102)
at com.snc.documentconversion.groupdocs.GroupDocsConverter.convert(GroupDocsConverter.java:59)
at com.snc.documentconversion.groupdocs.GroupDocsConverter$Proxy$_$$WeldClientProxy.convert(Unknown Source)
at com.snc.documentconversion.ConversionHandler.handleConversionRequest(ConversionHandler.java:91)
at com.snc.documentconversion.ConversionHandler$Proxy$
$$_WeldClientProxy.handleConversionRequest(Unknown Source)
at com.snc.documentconversion.service.ConverterServlet.doPost(ConverterServlet.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:515)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:583)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:212)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)
at com.snc.commons.servlet.security.AuthenticationFilter.doHttpFilter(AuthenticationFilter.java:92)
at com.snc.commons.servlet.security.AuthenticationFilter.doFilter(AuthenticationFilter.java:62)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:679)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:617)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:934)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1698)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)

You should include these dependencies into your project for logging:

       <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>2.7</version>
        </dependency>

Has this issue been resolved?

It also works fine for me when running locally (spring boot app on windows laptop). However, it fails when deployed to kubernetes (on ubuntu) using same code. Switching to version 22.8.1 from 24.6 fixed the issue.

This problem is concerning because we’re still evaluating the library for purchase.

I will prepare a little test application today or tomorrow for deploying into kubernetes to test what is wrong.

Please find here a jar bug1262maven-1.0-SNAPSHOT-jar-with-dependencies.jar - Google Drive
Run it please in your kubernetes environment and attach the output. Please run it from your application directory.
java -jar bug1262maven-1.0-SNAPSHOT-jar-with-dependencies.jar .