On Friday, November 22, 2013 7:52:12 AM UTC-8, William wrote:

> Is the pickling issue a bug in Sage? 
>

I'd say so. It's a subtle one:

loads(dumps(cremona_curves(37).next().gens(descent_second_limit=10)))

tends to work but loading the saved pickle from a file does not. Executing

V=loads(dumps(cremona_curves(37).next().gens(descent_second_limit=10)))

is also iffy.

The call that goes wrong is

create_object(self, version, key, **extra_args)
with:
  self = <class 'sage.schemes.generic.homset.SchemeHomsetFactory'>
  version = (5, 13, 'beta2')
  key = (113771600, 113729872, Category of schemes over Integer Ring)
  extra_args = {}

The last argument being empty could be a consequence of circularity: the 
dict would only be filled during its setstate, so during unpickling it 
might not have run if its contents (indirectly) refer to this category 
itself again, which sounds rather likely to be the case.

Another point: key[0] and key[1] are ids. It makes no sense to pickle those 
[on the bright side, they don't seem to be used in this bit of code]


-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to