You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Carsten Ziegeler (Jira)" <ji...@apache.org> on 2021/03/06 14:34:00 UTC

[jira] [Closed] (FELIX-6322) Unable to read persisted state from state.ser

     [ https://issues.apache.org/jira/browse/FELIX-6322?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Carsten Ziegeler closed FELIX-6322.
-----------------------------------

> 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
>            Assignee: Carsten Ziegeler
>            Priority: Major
>             Fix For: configurator-1.0.14
>
>
> The following exception occurs in runtime if we update the configurator from v1.0.10 to v1.0.12:
> {code:java}
> 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){code}
> 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)