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)

Reply via email to