Getting OOM error while converting vsdx file

I have one .vsdx file which is of around 23 MB.
trying to attach file but it is failing
I am getting OOM error while converting it.
We are using aspose.diagram version 29.3 and java 11
I have set -Xmx to 15GB but still OOM.

@Zahid29480

Thanks for the report. I have not confirmed this yet and can only confirm it after reproducing on our side. Based on your description, this might be a bug in Aspose.Vsdx when converting vsdx to unknown. To confirm and log it internally, I need a few details.

  • Which format are you converting the .vsdx to (e.g., PDF, PNG, SVG, etc.)?
  • Could you share the code snippet you use to load and convert the diagram, including any load or save options?
  • What is the operating system and JVM architecture (32‑bit vs 64‑bit) you are running?

A support engineer will review your details and get back to you.

Once I have the missing details, I’ll try to reproduce this. If I can confirm it, I’ll log it internally and follow up here.

A support engineer will follow up in this thread if needed.

I am converting .vsdx to PDF.
Here is the code snippet
protected File convertToTempPdf(File inputFile, File converted) throws Exception {

    try {
        String sourcePath = inputFile.getAbsolutePath();
        InputStream stream = new FileInputStream(sourcePath);
        // load diagram
        Diagram diagram = new Diagram(stream);
        diagram.save(converted.getAbsolutePath(), SaveFileFormat.PDF);
        stream.close();
        return converted;
    } catch (Exception e) {
        throw new Exception(e);
    }
}

We are using Windows 11 and JVM is OpenJDK 64-Bit Server VM Zulu11.78+15-CA

@Zahid29480

Thanks for the sample file(s); that should help with reproduction. I have not confirmed this yet and can only confirm it after reproducing on our side. Based on your description, this might be a bug in Aspose.Vsdx when converting vsdx to pdf. To confirm and log it internally, I need a few details.

  • Could you paste the full Out‑Of‑Memory exception stack trace you receive?
  • Are you using any LoadOptions or SaveOptions when loading the diagram or saving to PDF?
  • Have you verified that the JVM is actually starting with the -Xmx15g setting (e.g., via jcmd or a startup log)?

A support engineer will review these details and follow up in this thread.

I’ll try to reproduce this using your samples. If I can confirm it, I’ll log it internally and follow up here.

A support engineer will follow up in this thread if needed.

Here is the stacktrace
2026-02-13 11:46:16,974 INFO http-nio-8010-exec-4 com.smartbear.util.PoolThreadFactory - Thread document-converter-1 created by thread http-nio-8010-exec-4
2026-02-13 11:46:16,982 INFO http-nio-8010-exec-4 com.smartbear.ccollab.datamodel.Engine - admin added 1 files(Version #141: original_7.vsdx) to Review #82
2026-02-13 11:46:26,168 INFO document-converter-1 com.smartbear.ccollab.binary.AbstractDocumentConverterFactory - Generate the temp pdf file C:\repo\collab-core\tomcat\temp\aspdf-5681598145156740893.pdf for input file C:\repo\collab-core\tomcat\collaborator-content-cache\5d\a6\97\5da697cd42feabf4a4228518f9703cff
2026-02-13 12:00:39,304 WARN http-nio-8010-exec-8 com.smartbear.database.QueryExecutionMonitor - Query (UUID: f6b3123f-740e-4290-8ff3-396ec84e26b9) finished running after 17854ms. Originated at: com.smartbear.database.BeforeAndAfterExecutionStatementDecorator.executeQuery(BeforeAndAfterExecutionStatementDecorator.java:92)
com.smartbear.database.DatabaseConnection.executeTableIterator(DatabaseConnection.java:666)
com.smartbear.database.DatabaseConnection.querySql(DatabaseConnection.java:538)
com.smartbear.database.DatabaseConnection.query(DatabaseConnection.java:560)
com.smartbear.ccollab.datamodel.database.DatabaseEngineImplementation.query(DatabaseEngineImplementation.java:414)
com.smartbear.ccollab.datamodel.EngineImplementationDataStoreBase.queryObjectsSimple(EngineImplementationDataStoreBase.java:80)
com.smartbear.ccollab.datamodel.EngineImplementationDataStoreBase.loadById(EngineImplementationDataStoreBase.java:52)
com.smartbear.ccollab.datamodel.Engine$DataObjectCache.lambda$loadObjectById$0(Engine.java:10495)
com.smartbear.ccollab.datamodel.Engine$DataObjectCache.loadObjectById(Engine.java:10500)
com.smartbear.ccollab.datamodel.Engine.loadById(Engine.java:900)
com.smartbear.ccollab.datamodel.Engine.loadEngineObjectById(Engine.java:928)
com.smartbear.ccollab.datamodel.CommonClientApiImpl.assertReviewSummary(CommonClientApiImpl.java:266)
com.smartbear.ccollab.service.impl.unversioned.UnversionedClientApiImpl.getReviewSummary(UnversionedClientApiImpl.java:723)
jdk.internal.reflect.GeneratedMethodAccessor83.invoke(Unknown Source)
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.base/java.lang.reflect.Method.invoke(Method.java:566)
com.smartbear.ccollab.rpc.RpcGwtServlet$GwtInvocationHandler.invoke(RpcGwtServlet.java:471)
com.smartbear.util.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:28)
com.sun.proxy.$Proxy77.getReviewSummary(Unknown Source)
jdk.internal.reflect.GeneratedMethodAccessor83.invoke(Unknown Source)
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.base/java.lang.reflect.Method.invoke(Method.java:566)
com.smartbear.ccollab.service.impl.ServerNotInitializedExceptionProxy.invoke(ServerNotInitializedExceptionProxy.java:45)
com.smartbear.util.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:28)
com.smartbear.ccollab.rpc.RpcGwtServlet$LoggingInvocationHandler.invoke(RpcGwtServlet.java:1269)
com.smartbear.util.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:28)
com.smartbear.ccollab.rpc.RpcGwtServlet$TimingInvocationHandler.invoke(RpcGwtServlet.java:1328)
com.smartbear.util.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:28)
com.sun.proxy.$Proxy77.getReviewSummary(Unknown Source)
jdk.internal.reflect.GeneratedMethodAccessor83.invoke(Unknown Source)
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.base/java.lang.reflect.Method.invoke(Method.java:566)
com.smartbear.ccollab.service.impl.ExposeExceptionsProxy.invoke(ExposeExceptionsProxy.java:29)
com.sun.proxy.$Proxy77.getReviewSummary(Unknown Source)
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.base/java.lang.reflect.Method.invoke(Method.java:566)
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:587)
com.smartbear.ccollab.rpc.RpcGwtServlet.processCall(RpcGwtServlet.java:318)
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373)
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
javax.servlet.http.HttpServlet.service(HttpServlet.java:555)
javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:129)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
com.smartbear.ccollab.ContentSecurityPolicyFilter.doFilter(ContentSecurityPolicyFilter.java:94)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
com.smartbear.ccollab.AuthTicketFilter.doFilter(AuthTicketFilter.java:126)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
com.smartbear.ccollab.CollabCleanupFilter.doFilter(CollabCleanupFilter.java:46)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:656)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1826)
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
java.base/java.lang.Thread.run(Thread.java:829)
2026-02-13 12:00:39,270 ERROR PeriodicTaskManager-1 com.smartbear.ccollab.datamodel.periodic.PeriodicTaskManager - Task couldn’t execute normally
java.lang.OutOfMemoryError: Java heap space

  • Are you using any LoadOptions or SaveOptions when loading the diagram or saving to PDF?
    No we are not
  • Have you verified that the JVM is actually starting with the -Xmx15g setting (e.g., via jcmd or a startup log)?
    2026-02-13 12:52:08,971 INFO main com.smartbear.ccollab.CollaboratorInitializationListener - VM Max Memory: 16106127360
    2026-02-13 12:52:08,972 INFO main com.smartbear.ccollab.CollaboratorInitializationListener - VM Current Memory: 553648128

@Zahid29480
Thanks for your inqueries
Please compress the vsdx file then upload it(The maximum size is 25MB), or share it via Dropbox, or send it to me as an internal message.
We need to evaluate your issue in details.
Thanks.

I have a 22MB file but it is not allowing me to upload
Eventhough the allowed limit is of 200MB
How can I send it as internal message?

Here is the dropbox link for the file
https://www.dropbox.com/scl/fi/4e8kv7zkdxe4ajp0ui3cy/original_7.vsdx?rlkey=p6qz13qeb5w0a9bo8j3wyqu3m&st=321gz1bq&dl=0

@Zahid29480

Thanks for the template file.
After an initial testing, I am able to reproduce the issue as you mentioned by using your template file.
We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.

Issue ID(s): DIAGRAMJAVA-51287

You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.