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(ClientTransacti
onManagerImpl.java:364)

        at
com.tc.object.tx.ClientTransactionManagerImpl.fieldChanged(ClientTransaction
ManagerImpl.java:658)

        at
com.tc.object.TCObjectImpl.objectFieldChanged(TCObjectImpl.java:317)

        at
org.jasig.cas.ticket.ServiceTicketImpl.__tc_setgrantedTicketAlready(ServiceT
icketImpl.java)

        at
org.jasig.cas.ticket.ServiceTicketImpl.grantTicketGrantingTicket(ServiceTick
etImpl.java:97)

        at
org.jasig.cas.CentralAuthenticationServiceImpl.delegateTicketGrantingTicket(
CentralAuthenticationServiceImpl.java:281)

        at
org.jasig.cas.web.ServiceValidateController.handleRequestInternal(ServiceVal
idateController.java:126)

        at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(Abstrac
tController.java:153)

        at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(Si
mpleControllerHandlerAdapter.java:48)

        at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServl
et.java:875)

        at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServle
t.java:807)

        at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkSer
vlet.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.j
ava: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(ClientI
nfoThreadLocalFilter.java:48)

        at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestF
ilter.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(SessionValv
e55.java:63)

        at
org.terracotta.modules.tomcat.tomcat_5_5.SessionValve55.invoke(SessionValve5
5.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(U
nknown Source)

        at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(Unknown Source)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja
va:886)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:9
08)

        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?pgtU
rl=https%3A%2F%2Fposeidon.xteconline.com%2Fdesktop%2Fsecure%2Freceptor&ticke
t=ST-14-rdLQkdgdTNrK4mu2t56X-cas&service=https%3A%2F%2Fposeidon.xteconline.c
om%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?pgtU
rl=https%3A%2F%2Fposeidon.xteconline.com%2Fdesktop%2Fsecure%2Freceptor&ticke
t=ST-14-rdLQkdgdTNrK4mu2t56X-cas&service=https%3A%2F%2Fposeidon.xteconline.c
om%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(HttpsURLCon
nectionImpl.java:234)

        at
org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.r
etrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:35
)

        at
org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(Abs
tractUrlBasedTicketValidator.java:178)

        at
org.springframework.security.cas.authentication.CasAuthenticationProvider.au
thenticateNow(CasAuthenticationProvider.java:131)

        at
org.springframework.security.cas.authentication.CasAuthenticationProvider.au
thenticate(CasAuthenticationProvider.java:117)

        at
org.springframework.security.authentication.ProviderManager.doAuthentication
(ProviderManager.java:120)

        at
org.springframework.security.authentication.AbstractAuthenticationManager.au
thenticate(AbstractAuthenticationManager.java:48)

        at
org.springframework.security.cas.web.CasAuthenticationFilter.attemptAuthenti
cation(CasAuthenticationFilter.java:104)

        at
org.springframework.security.web.authentication.AbstractAuthenticationProces
singFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)

        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte
r(FilterChainProxy.java:355)

        at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter
(LogoutFilter.java:105)

        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte
r(FilterChainProxy.java:355)

        at
org.springframework.security.web.context.SecurityContextPersistenceFilter.do
Filter(SecurityContextPersistenceFilter.java:79)

        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte
r(FilterChainProxy.java:355)

        at
org.springframework.security.web.access.channel.ChannelProcessingFilter.doFi
lter(ChannelProcessingFilter.java:109)

        at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte
r(FilterChainProxy.java:355)

        at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.
java:149)

        at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Delegati
ngFilterProxy.java:237)

        at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilt
erProxy.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(DefaultFilterPipeli
ne.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(SessionValv
e55.java:63)

        at
org.terracotta.modules.tomcat.tomcat_5_5.SessionValve55.invoke(SessionValve5
5.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(U
nknown Source)

        at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(Unknown Source)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja
va:886)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:9
08)

        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

Reply via email to