History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: CWD-726
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Justin Koke [Atlassian]
Reporter: Justin Koke [Atlassian]
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Crowd

java.lang.IllegalStateException: Can't overwrite cause exception seen in Crowd

Created: 09/Jan/08 09:32 PM   Updated: 12/Feb/08 12:18 AM
Component/s: Integration Kit
Affects Version/s: 1.2.1
Fix Version/s: 1.3

Time Tracking:
Not Specified

Participants: Bob Swift and Justin Koke [Atlassian]
Since last comment: 22 weeks, 4 days ago
Resolution Date: 12/Feb/08 12:18 AM
Labels:


 Description  « Hide
We need to up the version of wstx-asl to the latest 3.2.3 version to fix a Java 1.4 vs 1.5 incompatibility.

The related WSTX issue: http://jira.codehaus.org/browse/WSTX-110



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Justin Koke [Atlassian] - 09/Jan/08 11:45 PM
The error being shown in our log files, WSTX is a dependency of XFire
21:32:36,973 ERROR codehaus.xfire.transport.http.XFireServletController: Couldn't invoke servlet request.
java.lang.IllegalStateException: Can't overwrite cause
	at java.lang.Throwable.initCause(Throwable.java:320)
	at com.ctc.wstx.compat.Jdk14Impl.setInitCause(Jdk14Impl.java:70)
	at com.ctc.wstx.exc.WstxException.<init>(WstxException.java:46)
	at com.ctc.wstx.exc.WstxIOException.<init>(WstxIOException.java:16)
	at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:536)
	at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:592)
	at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:617)
	at com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:312)
	at org.codehaus.xfire.util.STAXUtils.createXMLStreamReader(STAXUtils.java:762)
	at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:297)
	at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
	at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at com.atlassian.core.filters.gzip.GzipFilter.doFilter(GzipFilter.java:55)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
	at java.lang.Thread.run(Thread.java:619)

Bob Swift - 01/Feb/08 03:06 PM
I am seeing this on 1.2.2 using Java 1.6. What does this error mean to Crowd?

14:58:25,470 ERROR org.codehaus.xfire.handler.DefaultFaultHandler: Could not send fault.
java.lang.IllegalStateException: Can't overwrite cause
at java.lang.Throwable.initCause(Throwable.java:320)
at com.ctc.wstx.compat.Jdk14Impl.setInitCause(Jdk14Impl.java:70)
at com.ctc.wstx.exc.WstxException.<init>(WstxException.java:46)
at com.ctc.wstx.exc.WstxIOException.<init>(WstxIOException.java:16)
at com.ctc.wstx.sw.BaseStreamWriter.writeCharacters(BaseStreamWriter.java:505)
at org.codehaus.xfire.fault.Soap11FaultSerializer.writeMessage(Soap11FaultSerializer.java:148)
at org.codehaus.xfire.fault.SoapFaultSerializer.writeMessage(SoapFaultSerializer.java:41)
at org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerializer.java:80)
at org.codehaus.xfire.transport.http.HttpChannel.writeWithoutAttachments(HttpChannel.java:56)
at org.codehaus.xfire.transport.http.XFireServletChannel.sendViaServlet(XFireServletChannel.java:87)
at org.codehaus.xfire.transport.http.XFireServletChannel.send(XFireServletChannel.java:44)
at org.codehaus.xfire.fault.FaultSender.invoke(FaultSender.java:37)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.handler.DefaultFaultHandler.sendFault(DefaultFaultHandler.java:88)
at org.codehaus.xfire.handler.DefaultFaultHandler.invoke(DefaultFaultHandler.java:51)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler$1.run(ServiceInvocationHandler.java:99)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler.execute(ServiceInvocationHandler.java:134)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler.invoke(ServiceInvocationHandler.java:109)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.atlassian.core.filters.gzip.GzipFilter.doFilter(GzipFilter.java:55)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)


Justin Koke [Atlassian] - 04/Feb/08 12:04 AM
Bob,

Some quick background on this issue, it was discovered via our private Crowd instance and was never actually replicated except for on the live instance.

I was still able to work out what the fix for the issue was (see above). But the underlying problem is that XFire (the SOAP framework in Crowd) is trying to create an exception fault and is failing. So something went bad (perhaps a failed authentication) and then Crowd failed to report the problem to the client (e.g. JIRA) because it failed to create the SOAP fault.

An upgrade to the following library: http://repo1.maven.org/maven2/woodstox/wstx-asl/3.2.3/ will fix this issue.

Justin


Justin Koke [Atlassian] - 12/Feb/08 12:18 AM
This has now been fixed for the 1.3 release. It was actually a little tricky with Maven 2