Closed pjbruin closed 6 years ago
Description changed:
---
+++
@@ -4,7 +4,7 @@
After unpacking `src/ext/pickle_jar/pickle_jar.tar.bz2` and changing to the resulting directory, run the following:
-```python
+```
sage: files = [f for f in os.listdir('.') if f.endswith('.sobj')]
sage: for f in files:
....: try:
Fixed by #24337.
There is a doctest in
sage/structure/sage_object.pyx
to verify that all objects in the pickle jar can be unpickled to some Python object without raising an error, but that is about it as far as checking of the unpickling functionality for old pickles goes.Dozens of unpickled objects are badly corrupted. For example, even asking for their string representation often fails and in at least one case causes Sage to crash.
After unpacking
src/ext/pickle_jar/pickle_jar.tar.bz2
and changing to the resulting directory, run the following:The following doctest marked "# not tested" from
sage.structure.sage_object.unpickle_all
also uncovers many errors, although many of these are due to theTestSuite
failing, as indicated in the docstring:It looks like we have lots of unpickling functions to repair.
Component: pickling
Keywords: corrupted pickle crash
Issue created by migration from https://trac.sagemath.org/ticket/16311