It wouldn't make any sense if it was Spring Security's fault. Spring Security uses the Jasig CAS Client for Java, which except for minor revisions hasn't had too many changes lately.
Do you know if the Terracotta configuration accidentally changed recently? On Fri, Jan 22, 2010 at 11:17 AM, Kevin Jordan <[email protected]>wrote: > I had CAS working under Terracotta when I was connecting to it from Spring > Security 2.0.5, but now it seems to be accessing something the sample > configuration won’t handle and I’m wondering how to get this error to go > away (I figure it has something to do with the locks section, but not sure > what I need to add/change/remove): > > com.tc.object.tx.UnlockedSharedObjectException: > > ********************************************************************* > > Attempt to access a shared object outside the scope of a shared lock. > > All access to shared objects must be within the scope of one or more > > shared locks defined in your Terracotta configuration. > > > > Caused by Thread: http-8443-exec-1 in VM(104) > > Shared Object Type: org.jasig.cas.ticket.ServiceTicketImpl > > > > The cause may be one or more of the following: > > * Terracotta locking was not configured for the shared code. > > * The code itself does not have synchronization that Terracotta > > can use as a boundary. > > * The class doing the locking must be included for instrumentation. > > * The object was first locked, then shared. > > > > For more information on how to solve this issue, see: > > http://www.terracotta.org/usoe > > ********************************************************************* > > > > at > com.tc.object.tx.ClientTransactionManagerImpl.getTransaction(ClientTransactionManagerImpl.java:364) > > at > com.tc.object.tx.ClientTransactionManagerImpl.fieldChanged(ClientTransactionManagerImpl.java:658) > > at > com.tc.object.TCObjectImpl.objectFieldChanged(TCObjectImpl.java:317) > > at > org.jasig.cas.ticket.ServiceTicketImpl.__tc_setgrantedTicketAlready(ServiceTicketImpl.java) > > at > org.jasig.cas.ticket.ServiceTicketImpl.grantTicketGrantingTicket(ServiceTicketImpl.java:97) > > at > org.jasig.cas.CentralAuthenticationServiceImpl.delegateTicketGrantingTicket(CentralAuthenticationServiceImpl.java:281) > > at > org.jasig.cas.web.ServiceValidateController.handleRequestInternal(ServiceValidateController.java:126) > > at > org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) > > at > org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) > > at > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875) > > at > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807) > > at > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) > > at > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501) > > at javax.servlet.http.HttpServlet.service(Unknown Source) > > at javax.servlet.http.HttpServlet.service(Unknown Source) > > at > org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown > Source) > > at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown > Source) > > at > org.inspektr.common.web.ClientInfoThreadLocalFilter.doFilterInternal(ClientInfoThreadLocalFilter.java:48) > > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown > Source) > > at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown > Source) > > at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown > Source) > > at org.apache.catalina.core.StandardContextValve.invoke(Unknown > Source) > > at org.apache.catalina.core.StandardHostValve.invoke(Unknown > Source) > > at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown > Source) > > at org.apache.catalina.core.StandardEngineValve.invoke(Unknown > Source) > > at > org.terracotta.modules.tomcat.tomcat_5_5.SessionValve55.tcInvoke(SessionValve55.java:63) > > at > org.terracotta.modules.tomcat.tomcat_5_5.SessionValve55.invoke(SessionValve55.java:50) > > at org.apache.catalina.connector.CoyoteAdapter.service(Unknown > Source) > > at org.apache.coyote.http11.Http11NioProcessor.process(Unknown > Source) > > at > org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Unknown > Source) > > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(Unknown Source) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > > at java.lang.Thread.run(Thread.java:619) > > > > > > Here’s what seems to be happening on the Spring Security side: > > [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] 2010-01-22 > 09:48:11,863 ERROR - <java.io.IOException: Server returned HTTP response > code: 500 for URL: > https://poseidon.xteconline.com/cas-server-webapp-3.3.3/serviceValidate?pgtUrl=https%3A%2F%2Fposeidon.xteconline.com%2Fdesktop%2Fsecure%2Freceptor&ticket=ST-14-rdLQkdgdTNrK4mu2t56X-cas&service=https%3A%2F%2Fposeidon.xteconline.com%2Fdesktop%2Fj_spring_cas_security_check > > > > java.io.IOException: Server returned HTTP response code: 500 for URL: > https://poseidon.xteconline.com/cas-server-webapp-3.3.3/serviceValidate?pgtUrl=https%3A%2F%2Fposeidon.xteconline.com%2Fdesktop%2Fsecure%2Freceptor&ticket=ST-14-rdLQkdgdTNrK4mu2t56X-cas&service=https%3A%2F%2Fposeidon.xteconline.com%2Fdesktop%2Fj_spring_cas_security_check > > at > sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1313) > > at > sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234) > > at > org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:35) > > at > org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:178) > > at > org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticateNow(CasAuthenticationProvider.java:131) > > at > org.springframework.security.cas.authentication.CasAuthenticationProvider.authenticate(CasAuthenticationProvider.java:117) > > at > org.springframework.security.authentication.ProviderManager.doAuthentication(ProviderManager.java:120) > > at > org.springframework.security.authentication.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:48) > > at > org.springframework.security.cas.web.CasAuthenticationFilter.attemptAuthentication(CasAuthenticationFilter.java:104) > > at > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199) > > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) > > at > org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) > > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) > > at > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) > > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) > > at > org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:109) > > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) > > at > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149) > > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) > > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown > Source) > > at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown > Source) > > at > com.google.inject.servlet.DefaultFilterPipeline.dispatch(DefaultFilterPipeline.java:43) > > at > com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown > Source) > > at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown > Source) > > at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown > Source) > > at org.apache.catalina.core.StandardContextValve.invoke(Unknown > Source) > > at org.apache.catalina.core.StandardHostValve.invoke(Unknown > Source) > > at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown > Source) > > at org.apache.catalina.core.StandardEngineValve.invoke(Unknown > Source) > > at > org.terracotta.modules.tomcat.tomcat_5_5.SessionValve55.tcInvoke(SessionValve55.java:63) > > at > org.terracotta.modules.tomcat.tomcat_5_5.SessionValve55.invoke(SessionValve55.java:50) > > at org.apache.catalina.connector.CoyoteAdapter.service(Unknown > Source) > > at org.apache.coyote.http11.Http11NioProcessor.process(Unknown > Source) > > at > org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Unknown > Source) > > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(Unknown Source) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > > at java.lang.Thread.run(Thread.java:619) > > -- > You are currently subscribed to [email protected] as: > [email protected] > > To unsubscribe, change settings or access archives, see > http://www.ja-sig.org/wiki/display/JSG/cas-user > > -- You are currently subscribed to [email protected] as: [email protected] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user
