You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Let's say I have data of dict type, and the data consists of various types including RapidWright objects like PIP.
And I tried to pickle/serialize the dict-type data, but failed.
from jpype.pickle import JPickler
with open('myData.pickle', 'wb') as f:
JPickler(f).dump(my_dict)
The code fails with the following error: java.lang.java.lang.InternalError: java.lang.InternalError: java.io.InvalidClassException: com.xilinx.rapidwright.device.PIP; imcompatible types for field a
RapidWright does not support JPickler?
Thank you in advance
The text was updated successfully, but these errors were encountered:
It looks like most classes in RapidWright implement Serializable, but there are some that do not. This inconsistency could be resolved in the next release as it is not a significant change to make. However, if JPickler is using the Java Serializable interface, it might not produce very efficient results/performance.
I've attempted to update the rest of the RapidWright classes to implement Serializable, but I still can't get JPickler to work. It is now complaining that java.lang.Object does not implement Serializable. I'm not sure if there is any easy fix at this point.
Unfortunately, the Serializable interface in Java is not very performant and we don't typically use it.
I tried using Kryo (which is bundled with RapidWright) as a Java serialization solution, but had issues with it as well as it requires all classes to have a no-arg constructor. I'm afraid I don't have a good automatic solution for serializing Java objects at the moment, and there would certainly be some work to integrate it to work correctly with Python.
Can you share a bit more about what you are trying to accomplish? Perhaps we can help you better find an alternative solution.
Let's say I have data of dict type, and the data consists of various types including RapidWright objects like PIP.
And I tried to pickle/serialize the dict-type data, but failed.
The code fails with the following error:
java.lang.java.lang.InternalError: java.lang.InternalError: java.io.InvalidClassException: com.xilinx.rapidwright.device.PIP; imcompatible types for field a
RapidWright does not support JPickler?
Thank you in advance
The text was updated successfully, but these errors were encountered: