-
Bug
-
Resolution: Done
-
Critical
-
1.4.6.Final
-
None
The method ByteBufferInput.read(byte[], off, len) don't use the offset parameter. The method starts always on the beginning of the target array.
This method is used by RiverUnmarschaller.read to read data.
The RiverUnmarschaller is used by Wildfly 8.1.0.Final to deserialize persistent session data at startup.
The Wildfly print out following exeption and don't load session data after a restart.
... WARN [io.undertow.servlet] (MSC service thread 1-12) UT015008: Failed to load development mode persistent sessions: java.lang.ClassNotFoundException: til.Collections$UnmodifiableListservic at java.net.URLClassLoader$1.run(URLClassLoader.java:366) [rt.jar:1.7.0_55] at java.net.URLClassLoader$1.run(URLClassLoader.java:355) [rt.jar:1.7.0_55] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_55] at java.net.URLClassLoader.findClass(URLClassLoader.java:354) [rt.jar:1.7.0_55] at java.lang.ClassLoader.loadClass(ClassLoader.java:425) [rt.jar:1.7.0_55] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) [rt.jar:1.7.0_55] at java.lang.ClassLoader.loadClass(ClassLoader.java:358) [rt.jar:1.7.0_55] at java.lang.Class.forName0(Native Method) [rt.jar:1.7.0_55] at java.lang.Class.forName(Class.java:270) [rt.jar:1.7.0_55] at org.jboss.marshalling.ModularClassResolver.resolveClass(ModularClassResolver.java:97) at org.jboss.marshalling.river.RiverUnmarshaller.doReadClassDescriptor(RiverUnmarshaller.java:943) at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1239) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209) at org.jboss.marshalling.river.RiverUnmarshaller.readFields(RiverUnmarshaller.java:1712) at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1628) at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1269) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209) at org.jboss.marshalling.river.RiverUnmarshaller.readFields(RiverUnmarshaller.java:1712) at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1628) at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1269) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209) at org.jboss.marshalling.river.RiverUnmarshaller.readFields(RiverUnmarshaller.java:1712) at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1628) at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1269) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272) at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209) at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41) at org.wildfly.extension.undertow.AbstractPersistentSessionManager.loadSessionAttributes(AbstractPersistentSessionManager.java:113) at io.undertow.servlet.handlers.SessionRestoringHandler.start(SessionRestoringHandler.java:56) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] at io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:485) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final] at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:88) at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start(UndertowDeploymentService.java:72) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_55] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_55] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_55]