Exceptions on IBM WebSphere

Hi,

I have problems on IBM WebSphere again.

After creating about 300 excel reports that are same I got this exception. After restarting application I can create reports (about 300 times again) and then it crash again. On Tomcat 6 everything works.

Aspose Cells 2.1.0.36d, IBM 1.5 JDK

java.io.IOException: It is not a valid excel file.

at com.aspose.cells.Workbook.a(Unknown Source)
at com.aspose.cells.Workbook.a(Unknown Source)
at com.aspose.cells.Workbook.open(Unknown Source)
at com.aspose.cells.Workbook.open(Unknown Source)
at com.aspose.cells.WorkbookDesigner.open(Unknown Source)
at cz.tigra.agos.prognose.vystupy.prognoza.standardni.AbstractORPSestava.addMusterSheet(AbstractORPSestava.java:65)
at cz.tigra.agos.prognose.vystupy.prognoza.standardni.SestavaPrognozaSystem.generovatXls(SestavaPrognozaSystem.java:140)
at cz.tigra.agos.prognose.wicket.page.vystupy.VystupyPrognozaPage.generovatVystupy(VystupyPrognozaPage.java:649)
at cz.tigra.agos.prognose.wicket.page.vystupy.VystupyPrognozaPage.access$0(VystupyPrognozaPage.java:537)
at cz.tigra.agos.prognose.wicket.page.vystupy.VystupyPrognozaPage$GenerovatButton.onSubmit(VystupyPrognozaPage.java:831)
at org.apache.wicket.ajax.markup.html.form.AjaxButton$1.onSubmit(AjaxButton.java:102)
at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:143)
at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)
at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:299)
at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:113)
at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:456)
at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:907)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:696)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:641)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:475)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:193)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:725)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:847)

at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)


Exception above is from my environment. I was simulating another exception, that occurred on customers environment.

Exception from customers environment is below. It is similar to exception, that I’ve reported about 2 weeks ago - NullPointerException in addChart()

But I can’t simulate this on my enviroment because of previous exception.

Thanks

Exception type:

class java.lang.NullPointerException

Exception message:

null

Stack trace:

com.aspose.cells.Row.b(Unknown Source)

com.aspose.cells.Cells.c(Unknown Source)

com.aspose.cells.Cells.a(Unknown Source)

com.aspose.cells.O.b(Unknown Source)

com.aspose.cells.O.a(Unknown Source)

com.aspose.cells.ChartShape.(Unknown Source)

com.aspose.cells.Chart.(Unknown Source)

com.aspose.cells.Charts.addChart(Unknown Source)

cz.tigra.agos.prognose.vystupy.SestavaStavPrognozyDleVW.vytvoritObjektGrafu(SestavaStavPrognozyDleVW.java:348)

cz.tigra.agos.prognose.vystupy.SestavaStavPrognozyDleVW.vytvoritGraf(SestavaStavPrognozyDleVW.java:254)

cz.tigra.agos.prognose.vystupy.SestavaStavPrognozyDleVW.generovatXls(SestavaStavPrognozyDleVW.java:221)

cz.tigra.agos.prognose.wicket.page.vystupy.VystupyUtils.vygenerovatSestavuToResource(VystupyUtils.java:90)

cz.tigra.agos.prognose.wicket.page.vystupy.VystupStavPrognozyDleVWPage.generovatSestavu(VystupStavPrognozyDleVWPage.java:335)

cz.tigra.agos.prognose.wicket.page.vystupy.VystupStavPrognozyDleVWPage.access$0(VystupStavPrognozyDleVWPage.java:304)

cz.tigra.agos.prognose.wicket.page.vystupy.VystupStavPrognozyDleVWPage$GenerovatButton$1.onOk(VystupStavPrognozyDleVWPage.java:388)

cz.tigra.agos.prognose.wicket.panel.DialogResultCallback.onButtonPressed(DialogResultCallback.java:49)

cz.tigra.agos.prognose.wicket.validator.warnings.ModalWindowWarningValidatorHandler$1.onClose(ModalWindowWarningValidatorHandler.java:71)

org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow$WindowClosedBehavior.respond(ModalWindow.java:920)

org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:299)

org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:113)

org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)

org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)

org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)

org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)

org.apache.wicket.RequestCycle.request(RequestCycle.java:545)

org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:456)

org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138)

javax.servlet.http.HttpServlet.service(HttpServlet.java:743)

javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)

com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1087)

com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)

com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)

com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)

com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:837)

com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:680)

com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:588)

com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:524)

com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)

com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:751)

com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478)

com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:125)

com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)

com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)

com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)

com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818)

com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)

com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)

com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)

com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)

com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)

com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)

com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)

com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)

Hi,

Thanks for providing us some details about the issue(s).

We will look into it soon.

Thank you.

Hi,

Thank you for considering Aspose.

Just as we have said, I am afraid the root solution of such issue is that the bugs of IBM’s JDK be fixed. It is really hard for us to change all logics (even sometimes by adding some “meaningless” code like in 2.1.0.36d) in our component to be compatible with this version of IBM’s JDK. We think you can try following solutions:

  1. Please try the version of Aspose.Cells for JDK1.4 which is under the JDK 1.4 directory in the archive.

  2. If possible, please upgrade your JDK to the newest one, or downgrade the JDK to 1.4 to test whether it work fine with Aspose.Cells. And would you please give us some information about your environment, such as the machine and OS, version of JDK and Websphere. With the information we will try to search whether there is other possibility for solving such issue.

Thank You & Best Regards,

Hi,

ad. 1 - I've tried version 2.1.1 for JDK 1.4, but result is same as with 1.5 version.

ad. 2 - On both enviroments are latest versions of WebSphere. Downgrade to 1.4 is not possible.

my test enviroment:

Java vendor: IBM Corporation

Java version: 1.5.0

OS name: Windows XP (32bit)

WebSphere version: 6.1.0.27

machine is standard x86 with Intel processor

customers enviroment:

Host Operating System is AIX, version 5.3
Java version = 1.5.0, Java Compiler = j9jit23, Java VM name = IBM J9 VM

WebSphere Network Deployment 6.1.0.27 [cf270937.16]


Have you opened ticket with IBM? Our customer is partner of IBM, so they solve issues with them. If you could provide us with some informations where the problem is, we could report this to IBM, which could help with solving issue.


And another hint - we are using Aspose Cells version 2.0.1 without problems. So if you diff this version against latest you get "problematic" code.


Thanks

Best regards

Hi,

Thanks for your feedback and providing us further details.

We will get back to you soon


Thank you.

Hi,

Would you please try this version (attached)? We have changed some steps of releasing the component to be same with V2.0.1. For Aspose.Cells of Java itself, there are many fixed bugs, enhancements and new features from V2.0.1 and it is impossible for us to figure out all the differences between current version and V2.0.1. If it is needed to figure out current issue you are facing and reporting it to IBM, we need to add some debug messages in the code and trace it with your help by reproducing the issue in your enviornment. Please try this version first, if it cannot solve your problem, we will try to trace this issue with you as long as you would like to do that.

Thank you.

Hi,

Sorry for delay.. I wanted to be sure that the system behaves as expected.
The problem is not in the library itself, but in deployment.
After you deploy (or redeploy) the application on the server, the system behaves incorrectly. Does not help restart the application. But when restart the entire application server, so everything is fine. I do not know what happens when application is redeployed on WebSphere, but it seems that it breaks Aspose Cells.

Thanks for help with this issue.

Best regards