[ python-Bugs-880990 ] Float infinity unpicklable with BINFLOAT-using protocols

SourceForge.net noreply at sourceforge.net
Tue Jan 20 20:28:31 EST 2004


Bugs item #880990, was opened at 2004-01-20 19:20
Message generated for change (Comment added) made by tim_one
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=880990&group_id=5470

Category: Python Library
Group: Python 2.3
>Status: Closed
>Resolution: Duplicate
Priority: 5
Submitted By: Jp Calderone (kuran)
Assigned to: Tim Peters (tim_one)
Summary: Float infinity unpicklable with BINFLOAT-using protocols

Initial Comment:
>>> import pickle
>>> pickle.dumps(1e100000, 2)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib/python2.3/pickle.py", line 1386, in dumps
    Pickler(file, protocol, bin).dump(obj)
  File "/usr/lib/python2.3/pickle.py", line 231, in dump
    self.save(obj)
  File "/usr/lib/python2.3/pickle.py", line 293, in save
    f(self, obj) # Call unbound method with explicit self
  File "/usr/lib/python2.3/pickle.py", line 489, in
save_float
    self.write(BINFLOAT + pack('>d', obj))
SystemError: frexp() result out of range


Prior to BINFLOAT, float infinity could successfully be
pickled.  The right thing to do here seems to be to
catch the exception and fall back to a FLOAT (string
representation) token.


----------------------------------------------------------------------

>Comment By: Tim Peters (tim_one)
Date: 2004-01-20 20:28

Message:
Logged In: YES 
user_id=31435

Closed as Duplicate.  See 
<http://www.python.org/sf/445484>.  The feature request is 
part of PEP 42.  Python currently has no support for infinities, 
NaNs, or signed zeroes in pickles; if you think you saw one of 
those work now, it's a platform accident (in particular, 
whether the string form of an infinity works depends entirely 
on your platform C library, and such pickles are not portable).

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=880990&group_id=5470



More information about the Python-bugs-list mailing list