Hi,
I'm trying to set up MemCacheTicketRegistry but I am facing some issue
and I can't really see what is going on. I have seen older Pull
Request/JIra issue saying that this problem is solved but I can see in
my logs some differences.
I use CAS 4.0.0 and followed all the steps on the CAS doc : see here
<https://jasig.github.io/cas/4.0.0/installation/Memcached-Ticket-Registry.html>
My CAS is configured to use remember me credential and the user are
loaded from our LDAP server.
To get a better idea of what my problem is I will paste my cas log below.
Thanks in advance !
Germain
*cas.log
*
------------------------------------------------------------------------
2014-07-16 14:32:04,299 ERROR
[org.jasig.cas.ticket.registry.MemCacheTicketRegistry] - <Failed
fetching
TGT-1-0mACeNCrT4SyfNCPqxFgCdlLfComxnOu3fLb7z95pkvamc3fK6-umob.univ-lr.fr >
java.lang.RuntimeException: Exception waiting for value
at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1132)
at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1151)
at
org.jasig.cas.ticket.registry.MemCacheTicketRegistry.getTicket(MemCacheTicketRegistry.java:150)
at
org.jasig.cas.web.flow.AuthenticationViaFormAction.submit(AuthenticationViaFormAction.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.springframework.expression.spel.support.ReflectiveMethodExecutor.execute(ReflectiveMethodExecutor.java:69)
at
org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:122)
at
org.springframework.expression.spel.ast.MethodReference.access$100(MethodReference.java:44)
at
org.springframework.expression.spel.ast.MethodReference$MethodValueRef.getValue(MethodReference.java:258)
at
org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:82)
at
org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:102)
at
org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:98)
at
org.springframework.binding.expression.spel.SpringELExpression.getValue(SpringELExpression.java:84)
at
org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:75)
at
org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
at
org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145)
at
org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
at
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:101)
at org.springframework.webflow.engine.State.enter(State.java:194)
at
org.springframework.webflow.engine.Transition.execute(Transition.java:227)
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:393)
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
at
org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:119)
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:555)
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:388)
at
org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
at
org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:232)
at
org.springframework.webflow.engine.ViewState.resume(ViewState.java:196)
at org.springframework.webflow.engine.Flow.resume(Flow.java:545)
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:258)
at
org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169)
at
org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at
org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:125)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
com.github.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:63)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.util.concurrent.ExecutionException:
com.esotericsoftware.kryo.SerializationException: Unable to deserialize
object of type: org.jasig.cas.ticket.TicketGrantingTicketImpl
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:188)
at
net.spy.memcached.transcoders.TranscodeService$Task.get(TranscodeService.java:97)
at net.spy.memcached.internal.GetFuture.get(GetFuture.java:63)
at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1125)
... 70 more
Caused by: com.esotericsoftware.kryo.SerializationException: Unable to
deserialize object of type: org.jasig.cas.ticket.TicketGrantingTicketImpl
at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:571)
at
org.jasig.cas.ticket.registry.support.kryo.KryoTranscoder.decode(KryoTranscoder.java:146)
at
net.spy.memcached.transcoders.TranscodeService$1.call(TranscodeService.java:63)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at
net.spy.memcached.transcoders.TranscodeService$Task.run(TranscodeService.java:110)
at
net.spy.memcached.transcoders.TranscodeService$Task.get(TranscodeService.java:96)
... 72 more
Caused by: com.esotericsoftware.kryo.SerializationException: Unable to
deserialize object of type: java.util.HashMap$KeySet
Serialization trace:
attributes (org.jasig.cas.authentication.ImmutableAuthentication)
authentication (org.jasig.cas.ticket.TicketGrantingTicketImpl)
at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:571)
at
com.esotericsoftware.kryo.serialize.MapSerializer.readObjectData(MapSerializer.java:129)
at
com.esotericsoftware.kryo.serialize.FieldSerializer.readObjectData(FieldSerializer.java:220)
at
com.esotericsoftware.kryo.serialize.FieldSerializer.readObjectData(FieldSerializer.java:200)
at
com.esotericsoftware.kryo.serialize.FieldSerializer.readObjectData(FieldSerializer.java:220)
at
com.esotericsoftware.kryo.serialize.FieldSerializer.readObjectData(FieldSerializer.java:200)
at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566)
... 77 more
Caused by: com.esotericsoftware.kryo.SerializationException: Class
cannot be created (non-static member class): java.util.HashMap$KeySet
at com.esotericsoftware.kryo.Kryo.newInstance(Kryo.java:686)
at com.esotericsoftware.kryo.Serializer.newInstance(Serializer.java:75)
at
com.esotericsoftware.kryo.serialize.CollectionSerializer.readObjectData(CollectionSerializer.java:101)
at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566)
... 83 more
Caused by: java.lang.InstantiationException: java.util.HashMap$KeySet
at java.lang.Class.newInstance(Class.java:359)
at com.esotericsoftware.kryo.Kryo.newInstance(Kryo.java:676)
... 86 more*
**
*
--
Germain Souquet
Direction du Système d'Information
Université de La Rochelle
http://dsi.univ-lr.fr
http://www.univ-larochelle.fr
--
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