Amit Mondal created FELIX-6322:
----------------------------------
Summary: Unable to read persisted state from state.ser
Key: FELIX-6322
URL: https://issues.apache.org/jira/browse/FELIX-6322
Project: Felix
Issue Type: Bug
Components: Configurator
Affects Versions: configurator-1.0.12
Reporter: Amit Mondal
The following exception occurs in runtime if we update the configurator from
v1.0.10 to v1.0.12:
java.io.StreamCorruptedException: unexpected block data
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1641)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2341)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2221)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2123)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1624)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:464)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
at
org.apache.felix.configurator.impl.model.State.createOrReadState(State.java:87)
at
org.apache.felix.configurator.impl.Configurator.<init>(Configurator.java:91)
at
org.apache.felix.configurator.impl.ServicesListener.notifyChange(ServicesListener.java:113)
at
org.apache.felix.configurator.impl.ServicesListener$1.addingService(ServicesListener.java:73)
at
org.apache.felix.configurator.impl.ServicesListener$1.addingService(ServicesListener.java:65)
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943)
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:871)
at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
at
org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:321)
at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:264)
at
org.apache.felix.configurator.impl.ServicesListener.<init>(ServicesListener.java:93)
at org.apache.felix.configurator.impl.Activator.start(Activator.java:36)
at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:698)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:2402)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2308)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984)
I had looked into it and found that the problem probably lies in the serial
version number of _*OrderedDictionary*_ which is part of
_*org.apache.felix.cm.json*_ and was never required for Configurator v1.0.10.
I have compared the hexdumps of both the _*state.ser*_ files and the files
started to differ in _*OrderedDictionary.*_
The exception doesn't harm since if the previous state cannot be read properly,
a new state gets created.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)