Multithreading issues

Hi,


I’m using Aspose.Slides 14.4.0 with the new API. I have a multithreaded application, and when I try to use aspose.slides for the first time (i.e. my app just started) in multiple threads, the lib gets locked in this place:

com.aspose.slides.p7cce53cf.ax
com.aspose.slides.aad.do
com.aspose.slides.PPImage

If I first use the library once in a thread (for rendering something) and then I increase the number of threads to do the same, the library works fine, so I’m assuming you have some kind of static initialization in that com.aspose.slides.p7cce53cf.ax that is not thread safe. Aso, this wasn’t happening with 8.5.0 if I remember correctly.

Can this be fixed? Thank you!

Hi,


I have observed the feedback shared by you. Can you please share the sample application with us with which you are able to reproduce the issue on your end. Please also share the Java details along with Operating System with us so that I may add ticket for you in our issue tracking system for further investigation and resolution.

Many Thanks,

Hi,


I won’t be able to share the application, but just creating 10 threads and making all of them convert a relatively big powerpoint file at the same time should get you all the info you need.

For the record, I’ve tested this on Mac 10.9, with Java 1.7.0_60, but I’m sure this happens no matter what the OS and Java version.

Thanks.

This is a more complete stack trace:


com.aspose.slides.p7cce53cf.ax.()(unknown line)
com.aspose.slides.aad.do(byte[])(unknown line)
com.aspose.slides.PPImage.(byte[])(unknown line)
com.aspose.slides.PPImage.(aj, ax, byte[], long)(unknown line)
com.aspose.slides.ImageCollection.do(byte[], aj)(unknown line)
com.aspose.slides.ImageCollection.do(ad)(unknown line)
com.aspose.slides.ImageCollection.addImage(byte[])(unknown line)
com.aspose.slides.aqu.do(io)(unknown line)
com.aspose.slides.aqu.for()(unknown line)
com.aspose.slides.aqu.if()(unknown line)
com.aspose.slides.aqu.do(am, ILoadOptions)(unknown line)
com.aspose.slides.Presentation.if(am)(unknown line)
com.aspose.slides.Presentation.do(am)(unknown line)
com.aspose.slides.Presentation.(am, LoadOptions)(unknown line)
com.aspose.slides.Presentation.(am)(unknown line)
com.aspose.slides.Presentation.(InputStream)(unknown line)

Hi,


I have observed the scenario shared by you and have created an issue with ID SLIDESJAVA-34409 in our issue tracking system to further investigate and resolve the issue. This thread has been linked with the issue so that you may be automatically notified once the issue will be resolved.

We are sorry for your inconvenience,

Hi,


Thanks Mudassir!

Hi,

Our development team has initiated the investigation on their end and are requesting the sample application with which you are able to reproduce the issue on your end. Please share the sample application so that we may proceed further with investigation.

Many Thanks,

Hi,


As I already replied, I cannot share the application with you, but here’s some sample code that does the same:

for (int j = 0; j < n; j++) {
new Thread() {
@Override
public void run() {
try {
Presentation doc = new Presentation(new FileInputStream("/tmp/test.ppt"));
for (ISlide iSlide : doc.getSlides()) {
ImageIO.write(iSlide.getThumbnail(), “png”, new ByteOutputStream());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
}

Hi,

Thanks for sharing the piece of code. We will try to reproduce the issue on our end with shared information and will share the feedback with you as soon as it will be shared our development team.

Many Thanks,

The issues you have found earlier (filed as SLIDESJAVA-34409) have been fixed in this update.


This message was posted using Notification2Forum from Downloads module by Aspose Notifier.