JVM crash on IBM AIX

Hello,

We are developing a webservice, that generates ppt slides and pdf documents with aspose. This webservice is deployed on a SAP Netweaver Application Server 7.0 on an IBM / AIX 5.3. (Power PC 64 bit architecture) machine.

If we call the aspose pdf library the jvm crashes.

We have had a similar problem with aspose slides (see <A href="https://forum.aspose.com/t/101888</A>), that was fixed by a version of aspose.slides.jar without any optimizations.</P> <P>Could you please do the same for aspose.pdf (i.e. send me a version of aspose pdf without optimizations)?</P> <P>This issue is rather urgent, since the application is scheduled to go live in 2 weeks and the customer is rather large (Daimler).</P> <P>Thank you for your help.</P> <P>Best regards,</P> <P>Andreas Bellmann</P>

Hello,

I have been able to create a Core Dump from the VM for this issue. The relevant thread looks like this:

at sun/awt/font/NativeFontWrapper.getGlyphInfo(Native Method)
at sun/awt/font/StandardGlyphVector.getGlyphInfo(StandardGlyphVector.java:1271)
at sun/awt/font/AdvanceCache.initLatinAdvances(AdvanceCache.java:210)
at sun/awt/font/AdvanceCache.(AdvanceCache.java:271)
at sun/awt/font/AdvanceCache.get(AdvanceCache.java:200)
at java/awt/font/TextLayout$OptInfo.getAdvance(TextLayout.java:272)
at java/awt/font/TextLayout.getAdvance(TextLayout.java:1040)
at com/aspose/slides/dA.do(SourceFile:1080)
at com/aspose/slides/dA.do(SourceFile:715)
at com/aspose/slides/TextFrame.do(SourceFile:126)
at com/aspose/slides/Rectangle.do(SourceFile:130)
at com/aspose/slides/Slide.getThumbnail(SourceFile:1417)
at com/aspose/slides/Slide.getThumbnail(SourceFile:1275)
at de/mhp/reportEngine/persistence/bo/impl/BinaryReportImpl.createPdfStream(BinaryReportImpl.java:293)
at de/mhp/reportEngine/persistence/bo/impl/BinaryReportImpl.readFromStream(BinaryReportImpl.java:96)
at de/mhp/reportEngine/jobs/impl/JobManagerImpl.getSingleReport(JobManagerImpl.java:161)
at de/mhp/reportEngine/jobs/impl/JobManagerImpl.read(JobManagerImpl.java:110)
at sun/reflect/NativeMethodAccessorImpl.invoke0(Native Method)
at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85(Compiled Code))
at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58(Compiled Code))
at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60(Compiled Code))
at java/lang/reflect/Method.invoke(Method.java:391(Compiled Code))
at org/springframework/aop/support/AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at org/springframework/aop/framework/ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org/springframework/aop/framework/ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org/springframework/aop/aspectj/MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:77)
at de/mhp/reportEngine/jobs/JobScope.manageScope(JobScope.java:68)
at sun/reflect/NativeMethodAccessorImpl.invoke0(Native Method)
at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85(Compiled Code))
at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58(Compiled Code))
at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60(Compiled Code))
at java/lang/reflect/Method.invoke(Method.java:391(Compiled Code))
at org/springframework/aop/aspectj/AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:627)
at org/springframework/aop/aspectj/AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:616)
at org/springframework/aop/aspectj/AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:64)
at org/springframework/aop/framework/ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org/springframework/aop/interceptor/ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org/springframework/aop/framework/ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org/springframework/aop/framework/JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy51.read(Bytecode PC:31)
at de/mhp/reportEngine/web/servlet/ReportDeliveryServlet.doPost(ReportDeliveryServlet.java:72)
at de/mhp/reportEngine/web/servlet/ReportDeliveryServlet.doGet(ReportDeliveryServlet.java:37)
at javax/servlet/http/HttpServlet.service(HttpServlet.java:740)
at javax/servlet/http/HttpServlet.service(HttpServlet.java:853)
at com/sap/engine/services/servlets_jsp/server/HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com/sap/engine/services/servlets_jsp/server/HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com/sap/engine/services/httpserver/server/RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com/sap/engine/services/httpserver/server/RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com/sap/engine/services/httpserver/server/RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com/sap/engine/services/httpserver/server/RequestAnalizer.handle(RequestAnalizer.java:266)
at com/sap/engine/services/httpserver/server/Client.handle(Client.java:95)
at com/sap/engine/services/httpserver/server/Processor.request(Processor.java:174)
at com/sap/engine/core/service630/context/cluster/session/ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com/sap/engine/core/cluster/impl6/session/MessageRunner.run(MessageRunner.java:41)
at com/sap/engine/core/thread/impl3/ActionObject.run(ActionObject.java:37)
at java/security/AccessController.doPrivileged(AccessController.java:219)
at com/sap/engine/core/thread/impl3/SingleThread.execute(SingleThread.java:100)
at com/sap/engine/core/thread/impl3/SingleThread.run(SingleThread.java:170)

This indicates, that you are using awt functions to generate a thumbprint from a slide (I am using this prior to pdf generation to "paste" the images into the pdf . Since we are running under AIX, the system runs with the jvm param java.awt.headless=true, which might be causing the problem?

Do you have an alternative version, that does not use awt?

I still would like to have the unoptimized pdf library, if possible...

Thank you for your help.

Best regards,

Andreas Bellmann

Hello Andreas,

We apologies for the inconvenience that you have come accross in this regard. Your request has been forwarded and you will be contacted shortly. Once again we are sorry for this.

Hello Andreas,
I have checked your Core Dump carefully, it seems like the problem is caused by the code “com/aspose/slides/dA.do(SourceFile:1080)”. But our product’s namespace is “com/aspose/pdf”. Are you sure this problem is caused by our product? If you are sure, please give us more information, so we can find where the problem arise.
Thank you for considering our product.

Hello Sandy,

The problem occurs in the context of pdf creation. Before we are actually using the pdf Component, we try to extract the images from generated slides to add them to a pdf document.

So you are right, the actual problem occurs inside aspose.slides. Could you please forward this issue to your aspose.slides team?

Could you please also create an unoptimized version of aspose.pdf ? I will need this to prevent further problems with optimizations...

Best regards,

Andreas

Hello Andreas,
Aspose Slides and Aspose Pdf are developed by different teams.The difference between optimized version and unoptimized version of our product is trivial. I don’t think there are some problems related to it.
Best regards.