Error opening version 3.40 file in 4.20: could not open xstream for org.diylc.components.passive.ElectrolyticCanCapacitor

28 views
Skip to first unread message

mikevi...@gmail.com

unread,
Apr 10, 2020, 6:06:12 PM4/10/20
to diy-layout-creator
Hi
I am an infrequent user, so it was a long time between updates. I recently upgraded from 3.40 to 4.20. But now I cannot open any 3.40 files in 4.20. I can still open them in 3.40.

Regards
M

Here is the thread dump:

07:54:21,217  INFO [SwingWorker-pool-1-thread-4] ProjectFileManager - loadProjectFromFile(D:\Documents\myfile.diy)
07:54:21,310  WARN [SwingWorker-pool-1-thread-4] ProjectFileManager - Could not open with the new xStream, trying the old one
com.thoughtworks.xstream.converters.ConversionException: org.diylc.components.passive.ElectrolyticCanCapacitor : org.diylc.components.passive.ElectrolyticCanCapacitor
---- Debugging information ----
message             : org.diylc.components.passive.ElectrolyticCanCapacitor
cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message       : org.diylc.components.passive.ElectrolyticCanCapacitor
class               : java.util.ArrayList
required-type       : java.util.ArrayList
converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter
path                : /org.diylc.core.Project/components/org.diylc.components.passive.ElectrolyticCanCapacitor
class[1]            : org.diylc.core.Project
converter-type[1]   : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
version             : null
-------------------------------
 at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:79)
 at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
 at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
 at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:355)
 at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:306)
 at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:234)
 at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
 at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
 at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
 at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
 at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
 at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
 at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1058)
 at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1042)
 at com.thoughtworks.xstream.XStream.fromXML(XStream.java:913)
 at org.diylc.presenter.ProjectFileManager.parseV3File(Unknown Source)
 at org.diylc.presenter.ProjectFileManager.deserializeProjectFromFile(Unknown Source)
 at org.diylc.presenter.Presenter.loadProjectFromFile(Unknown Source)
 at org.diylc.swing.ActionFactory$OpenAction$1.doInBackground(Unknown Source)
 at org.diylc.swing.ActionFactory$OpenAction$1.doInBackground(Unknown Source)
 at org.diylc.swing.gui.MainFrame$6.doInBackground(Unknown Source)
 at javax.swing.SwingWorker$1.call(Unknown Source)
 at java.util.concurrent.FutureTask.run(Unknown Source)
 at javax.swing.SwingWorker.run(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)
Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: org.diylc.components.passive.ElectrolyticCanCapacitor
 at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:56)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:79)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:74)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
 at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:45)
 at com.thoughtworks.xstream.core.util.HierarchicalStreams.readClassType(HierarchicalStreams.java:29)
 at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:70)
 at com.thoughtworks.xstream.converters.collections.CollectionConverter.addCurrentElementToCollection(CollectionConverter.java:79)
 at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:72)
 at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:66)
 at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:61)
 at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
 ... 26 more

mikevi...@gmail.com

unread,
Apr 10, 2020, 6:09:50 PM4/10/20
to diy-layout-creator
I should note - I can work around the issue by removing the can cap from the layout in 3.40, saving the file, then opening in 4.20. I then need to add the can cap back into the new 4.20 version.
M

Bancika

unread,
Apr 11, 2020, 9:22:50 AM4/11/20
to diy-layout-creator
Can you please upload one of the problematic files?

Doug Hoffman

unread,
Apr 11, 2020, 9:45:31 AM4/11/20
to diy-layout-creator
I answered his email this morning and told him it is most likely that old multi section can cap that you deleted because it was not constructed properly

I also told him to dlete that cap and use one of the new cap can you created  

 

Doug Hoffman

unread,
Apr 11, 2020, 9:56:51 AM4/11/20
to diy-layout-creator
Mike
Did you do what I said to do?
Look at your java error message

Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: org.diylc.components.passive.ElectrolyticCanCapacitor

Delete that cap in 3.4, save the file, then open it in the new version and add a new cap

Michael

unread,
Apr 11, 2020, 7:03:09 PM4/11/20
to hoffm...@comporium.net, diy-layou...@googlegroups.com

Hi

Happy Easter folks. 

I will jump in later today and confirm Doug’s fix. From my last trial, I could open 3.40, delete the multi section can cap, save then open the file in 4.20. 

If the multi section can cap has been moved to A different library then I suggest we close the issue. I will confirm I have a containment for the issue and I doubt this will be a big problem as not many people will have version 3.40 files. 

I will upload the layout file to the thread later today too. 

Cheers
Mike 



Sent from my iPhone

On 11 Apr 2020, at 23:57, Doug Hoffman <hoffm...@comporium.net> wrote:

 Mike

Did you do what I said to do?
Look at your java error message

Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: org.diylc.components.passive.ElectrolyticCanCapacitor

Delete that cap in 3.4, save the file, then open it in the new version and add a new cap



cra...@gmail.com

unread,
Apr 23, 2020, 10:18:58 AM4/23/20
to diy-layout-creator
Hello,

The procedure of opening with a previous version 3.4, removing the multicap can and adding the caps again in version 4.5 resolved the error opening the older file.
Thanks for the fix procedure.
Reply all
Reply to author
Forward
0 new messages