Opened 9 years ago

Last modified 8 years ago

## #13636 closed defect

# %timeit unpickle_all() causes a SEGABRT — at Version 1

Reported by: | andrew.mathas | Owned by: | was |
---|---|---|---|

Priority: | major | Milestone: | sage-duplicate/invalid/wontfix |

Component: | pickling | Keywords: | |

Cc: | Merged in: | ||

Authors: | Reviewers: | ||

Report Upstream: | N/A | Work issues: | |

Branch: | Commit: | ||

Dependencies: | Stopgaps: |

### Description (last modified by )

The subject says it all: Sage gives a SEGABRT with the following:

sage: %timeit sage.structure.sage_object.unpickle_all() ------------------------------------------------------------------------ Unhandled SIGABRT: An abort() occurred in Sage. This probably occurred because a *compiled* component of Sage has a bug in it and is not properly wrapped with sig_on(), sig_off(). You might want to run Sage under gdb with 'sage -gdb' to debug this. Sage will now terminate. ------------------------------------------------------------------------ /usr/local/src/sage/sage-5.4.rc1/spkg/bin/sage: line 310: 60549 Abort trap: 6 sage-ipython "$@" -i

Note, however, that the following is OK:

sage: sage.structure.sage_object.unpickle_all() /usr/local/src/sage/sage-5.4.rc1/local/lib/python2.7/site-packages/IPython/iplib.py:2260: DeprecationWarning: This class is replaced by Matrix_modn_dense_float/Matrix_modn_dense_double. See http://trac.sagemath.org/4260 for details. exec code_obj in self.user_global_ns, self.user_ns Successfully unpickled 594 objects. Failed to unpickle 0 objects.

as is calling `unpickle()`

with an argument:

sage: sage: dir = tmp_dir() sage: sage: sage.structure.sage_object.picklejar('hello', dir) sage: sage: sage.structure.sage_object.unpickle_all(dir) Successfully unpickled 1 objects. Failed to unpickle 0 objects. sage: %timeit sage.structure.sage_object.unpickle_all(dir) 625 loops, best of 3: 91.5 Âµs per loop

I get this error for versions 5.3 and 5.4.rc1 running on a macbook pro with lion.

I initially thought that perhaps timeit did not like calling itself, however, this seems to be OK because the following does work:

sage: def fred():^J timeit('2^10000', preparse=False, number=100) ....: sage: fred() 100 loops, best of 3: 31 ns per loop sage: %timeit fred 625 loops, best of 3: 38.5 ns per loop

I tried running through sage -gdb but I don't know how to interpret the outout. Here is the tail of what it produces:

Reading symbols for shared libraries warning: .o file "/usr/local/src/sage/sage-5.3/devel/sage-main/build/temp.macosx-10.7-x86_64-2.7/sage/matrix/matrix_symbolic_dense.o" more recent than executable timestamp in "/usr/local/src/sage/sage-5.3/devel/sage-combinat/build/sage/matrix/matrix_symbolic_dense.so" warning: Could not open OSO file /usr/local/src/sage/sage-5.3/devel/sage-main/build/temp.macosx-10.7-x86_64-2.7/sage/matrix/matrix_symbolic_dense.o to scan for pubtypes for objfile /usr/local/src/sage/sage-5.3/devel/sage-combinat/build/sage/matrix/matrix_symbolic_dense.so . done Reading symbols for shared libraries warning: .o file "/usr/local/src/sage/sage-5.3/devel/sage-main/build/temp.macosx-10.7-x86_64-2.7/sage/rings/polynomial/symmetric_reduction.o" more recent than executable timestamp in "/usr/local/src/sage/sage-5.3/devel/sage-combinat/build/sage/rings/polynomial/symmetric_reduction.so" warning: Could not open OSO file /usr/local/src/sage/sage-5.3/devel/sage-main/build/temp.macosx-10.7-x86_64-2.7/sage/rings/polynomial/symmetric_reduction.o to scan for pubtypes for objfile /usr/local/src/sage/sage-5.3/devel/sage-combinat/build/sage/rings/polynomial/symmetric_reduction.so . done Program received signal SIGABRT, Aborted. 0x00007fff8d58f82a in __kill ()

**Note:**See TracTickets for help on using tickets.