Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#1385 closed defect (fixed)

Session restore ValueError: Places place_array argument must have type <class 'numpy.float64'>, got float32

Reported by: Greg Couch Owned by: Tom Goddard
Priority: normal Milestone:
Component: Core Version:
Keywords: Cc: pett
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-4.15.0-38-generic-x86_64-with-debian-buster-sid
ChimeraX Version: 0.8 (2018-09-28)
Description
Tried to open session file from February 2018.  A secondary bug is that the traceback is hidden in log summary, so I can to separately start the bug reporter.

Log:
UCSF ChimeraX version: 0.8 (2018-09-28)  
How to cite UCSF ChimeraX  

open /home/gregc/src/chimerax/goo.cxs

open /home/gregc/src/chimerax/goo.cxs

Summary of feedback from opening /home/gregc/src/chimerax/goo.cxs  
---  
error | Unable to restore session, resetting.  
  
Traceback (most recent call last):  
File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-
packages/chimerax/core/session.py", line 590, in restore  
obj = sm.restore_snapshot(self, data)  
File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-
packages/chimerax/atomic/structure.py", line 2224, in restore_snapshot  
Structure.set_state_from_snapshot(s, session, data)  
File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-
packages/chimerax/atomic/structure.py", line 183, in set_state_from_snapshot  
Model.set_state_from_snapshot(self, session, data['model state'])  
File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-
packages/chimerax/core/models.py", line 274, in set_state_from_snapshot  
self.positions = Places(place_array=data['positions'])  
File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-
packages/chimerax/core/geometry/place.py", line 512, in __init__  
self._check_array('place_array', place_array, double=True)  
File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-
packages/chimerax/core/geometry/place.py", line 524, in _check_array  
raise ValueError('Places %s argument must have type %s, got %s' % (name,
str(dtype), str(array.dtype)))  
ValueError: Places place_array argument must have type <class
'numpy.float64'>, got float32  
  
opened ChimeraX session  

help help:contact.html

help help:contact.html

toolshed show "Bug Reporter"

toolshed show "Bug Reporter"




OpenGL version: 4.5 (Core Profile) Mesa 18.0.5
OpenGL renderer: AMD TAHITI (DRM 2.50.0 / 4.15.0-38-generic, LLVM 6.0.0)
OpenGL vendor: X.Org
File attachment: goo.cxs

goo.cxs

Attachments (1)

goo.cxs (363.8 KB ) - added by Greg Couch 7 years ago.
Added by email2trac

Download all attachments as: .zip

Change History (5)

by Greg Couch, 7 years ago

Attachment: goo.cxs added

Added by email2trac

comment:1 by Greg Couch, 7 years ago

Component: UnassignedCore
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned

comment:2 by Tom Goddard, 7 years ago

Resolution: fixed
Status: assignedclosed
Summary: ChimeraX bug report submissionSession restore ValueError: Places place_array argument must have type <class 'numpy.float64'>, got float32

Fixed.

Code I put in a couple days ago now verifies that Place matrices have 64-bit float values. Older sessions used 32-bit floats. Added code to convert 32-bit float to 64-bit when restoring old sessions.

comment:3 by pett, 7 years ago

Changed session restore to log complete restore failures as bugs instead of errors; changed collating log to not collate bugs.

comment:4 by pett, 7 years ago

Cc: pett added
Note: See TracTickets for help on using tickets.