Opened 5 years ago

Closed 5 years ago

#3735 closed defect (fixed)

vr meeting: float division by zero

Reported by: goddard@… Owned by: Tom Goddard
Priority: normal Milestone:
Component: VR Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description (last modified by pett)

The following bug report has been submitted:
Platform:        Windows-10-10.0.18362
ChimeraX Version: 1.2.dev202009170327 (2020-09-17 03:27:25 UTC)
Description
3 person vr, Phil tried moving model, got divide by zero.

Log:
UCSF ChimeraX version: 1.2.dev202009170327 (2020-09-17)  
© 2016-2020 Regents of the University of California. All rights reserved.  

> open C:/cygwin64/home/goddard/ucsf/data/sars-cov-2-pore/sars-pores.cxs

Log from Fri Sep 18 10:47:56 2020UCSF ChimeraX version: 1.2.dev202009020044
(2020-09-02)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open /Users/goddard/ucsf/data/sars-cov-2-pore/emd_11514.map

Opened emd_11514.map, grid size 96,96,96, pixel 7.02, shown at level 3.21,
step 1, values float32  

> volume #1 level 2.022

> open /Users/goddard/ucsf/data/sars-cov-2-pore/models/QHD43415_3.pdb

Chain information for QHD43415_3.pdb #2  
---  
Chain | Description  
| No description available  
  

> rainbow #2

Drag select of 287 residues  

> ui mousemode right translate

> ui mousemode right "translate selected models"

> select clear

> open /Users/goddard/ucsf/data/sars-cov-2-pore/F1.large.png

Opened multi-channel map F1.large.png, 3 channels, grid size 1280,639,1, pixel
1, shown at step 1, values uint8  

> volume #3.1 level 105,0 level 120,0.8 level 255,1

> volume #3.1 level 120,0.8 level 255,1 color red color red

> volume #3.1 level 0.4713,0 level 255,1

> volume #3.2 level 107,0 level 121.8,0.8 level 255,1

> volume #3.2 level 107,0 level 255,1 color lime color lime

> volume #3.2 level 0,0 level 255,1

> volume #3.3 level 86.99,0 level 103.8,0.8 level 255,1

> volume #3.3 level 86.99,0 level 255,1 color blue color blue

> volume #3.3 level 0,0 level 255,1

> select #3

7 models selected  

> select clear

> lighting full

> save sars-pores.cxs

opened ChimeraX session  

> vr true

> lighting simple

started SteamVR rendering  

> hide #!3 models

> meeting start

Meeting at DESKTOP-J8FC2Q4 or 192.168.0.2 port 52194  
Connection accepted from 169.230.25.18 port 60062  
Connection accepted from 73.128.52.221 port 51146  
Connection accepted from 68.84.133.89 port 62249  

> vr false

> vr false

> vr true

started SteamVR rendering  
Connection accepted from 73.128.52.221 port 51239  
Connection accepted from 68.84.133.89 port 63201  

> vr true

> show #!3 models

Connection accepted from 68.84.133.89 port 63426  

> vr true

C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\vive\vr.py:807: RuntimeWarning: overflow encountered in
double_scalars  
return 1/sqrt(x*x + y*y + z*z)  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\core\triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 719, in _vr_tracking_cb  
'vr head': self._head_position(c), # In room coordinates  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 746, in _head_position  
return _place_matrix(vr_camera.room_position * scale(1/vr_camera.scene_scale))  
ZeroDivisionError: float division by zero  
  
Error processing trigger "vr update":  
ZeroDivisionError: float division by zero  
  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 746, in _head_position  
return _place_matrix(vr_camera.room_position * scale(1/vr_camera.scene_scale))  
  
See log for complete Python traceback.  
  
An error occurred in drawing the scene. Redrawing graphics is now stopped to
avoid a continuous stream of error messages. To restart graphics use the
command "graphics restart" after changing the settings that caused the error.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\core\updateloop.py", line 73, in draw_new_frame  
view.draw(check_for_changes = False)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\graphics\view.py", line 165, in draw  
self._draw_scene(camera, drawings)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\graphics\view.py", line 240, in _draw_scene  
draw_transparent(r, transparent_drawings)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 1503, in draw_transparent  
lambda: _draw_multiple(drawings, r, Drawing.TRANSPARENT_DRAW_PASS))  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\graphics\opengl.py", line 1174, in draw_transparent  
draw()  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 1503, in <lambda>  
lambda: _draw_multiple(drawings, r, Drawing.TRANSPARENT_DRAW_PASS))  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 1509, in _draw_multiple  
d.draw(renderer, draw_pass)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\map\image3d.py", line 770, in draw  
bi.draw(renderer, draw_pass)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\map\image3d.py", line 1361, in draw  
Image3d.draw(self, renderer, draw_pass)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\map\image3d.py", line 780, in draw  
pd = self._update_planes(renderer)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\map\image3d.py", line 542, in _update_planes  
view_dir = self._view_direction(renderer)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\map\image3d.py", line 663, in _view_direction  
return -render.current_view_matrix.inverse().z_axis() # View direction, scene
coords  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\geometry\place.py", line 187, in inverse  
self._inverse = Place(m34.invert_matrix(self._matrix))  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\geometry\matrix.py", line 130, in invert_matrix  
rinv[:, :] = matrix_inverse(r)  
File "<__array_function__ internals>", line 6, in inv  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\numpy\linalg\linalg.py", line 546, in inv  
ainv = _umath_linalg.inv(a, signature=signature, extobj=extobj)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\numpy\linalg\linalg.py", line 88, in _raise_linalgerror_singular  
raise LinAlgError("Singular matrix")  
numpy.linalg.LinAlgError: Singular matrix  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 384, in _message_received  
msg = self._decode_socket_message(socket)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 450, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 46, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 35, in parse  
return compile(source, filename, mode, PyCF_ONLY_AST)  
ValueError: source code string cannot contain null bytes  
  
ValueError: source code string cannot contain null bytes  
  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 35, in parse  
return compile(source, filename, mode, PyCF_ONLY_AST)  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 384, in _message_received  
msg = self._decode_socket_message(socket)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 450, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 46, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 35, in parse  
return compile(source, filename, mode, PyCF_ONLY_AST)  
ValueError: source code string cannot contain null bytes  
  
ValueError: source code string cannot contain null bytes  
  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 35, in parse  
return compile(source, filename, mode, PyCF_ONLY_AST)  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 384, in _message_received  
msg = self._decode_socket_message(socket)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 450, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 46, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 35, in parse  
return compile(source, filename, mode, PyCF_ONLY_AST)  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 35, in parse  
return compile(source, filename, mode, PyCF_ONLY_AST)  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 384, in _message_received  
msg = self._decode_socket_message(socket)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 450, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 46, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 35, in parse  
return compile(source, filename, mode, PyCF_ONLY_AST)  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 35, in parse  
return compile(source, filename, mode, PyCF_ONLY_AST)  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 384, in _message_received  
msg = self._decode_socket_message(socket)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 450, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 46, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 35, in parse  
return compile(source, filename, mode, PyCF_ONLY_AST)  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 35, in parse  
return compile(source, filename, mode, PyCF_ONLY_AST)  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 384, in _message_received  
msg = self._decode_socket_message(socket)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 450, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 46, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 35, in parse  
return compile(source, filename, mode, PyCF_ONLY_AST)  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 35, in parse  
return compile(source, filename, mode, PyCF_ONLY_AST)  
  
See log for complete Python traceback.  
  

[deleted quite a few of these]

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 384, in _message_received  
msg = self._decode_socket_message(socket)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 450, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 46, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 35, in parse  
return compile(source, filename, mode, PyCF_ONLY_AST)  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Sep-17-2020\bin\lib\ast.py", line 35, in parse  
return compile(source, filename, mode, PyCF_ONLY_AST)  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 NVIDIA 442.19
OpenGL renderer: GeForce GTX 1080 Ti/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Gigabyte Technology Co., Ltd.
Model: Z270X-Gaming K7
OS: Microsoft Windows 10 Home (Build 18362)
Memory: 17,129,693,184
MaxProcessMemory: 137,438,953,344
CPU: 8 Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz"
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.9
Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    Babel: 2.8.0
    backcall: 0.2.0
    blockdiag: 2.0.1
    certifi: 2020.6.20
    chardet: 3.0.4
    ChimeraX-AddH: 2.1.1
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.1
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.8.2
    ChimeraX-AtomSearch: 2.0
    ChimeraX-AxesPlanes: 2.0
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 1.1
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.2
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.0
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.1
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.1
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-CommandLine: 1.1.3
    ChimeraX-ConnectStructure: 2.0
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.2.dev202009170327
    ChimeraX-CoreFormats: 1.0
    ChimeraX-coulombic: 1.0.1
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-DataFormats: 1.0
    ChimeraX-Dicom: 1.0
    ChimeraX-DistMonitor: 1.1
    ChimeraX-DistUI: 1.0
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0
    ChimeraX-FunctionKey: 1.0
    ChimeraX-Geometry: 1.1
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.0
    ChimeraX-Hbonds: 2.1
    ChimeraX-Help: 1.0
    ChimeraX-HKCage: 1.0
    ChimeraX-IHM: 1.0
    ChimeraX-ImageFormats: 1.0
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0
    ChimeraX-Label: 1.0
    ChimeraX-ListInfo: 1.0
    ChimeraX-Log: 1.1.1
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Map: 1.0.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.0
    ChimeraX-Markers: 1.0
    ChimeraX-Mask: 1.0
    ChimeraX-MatchMaker: 1.1
    ChimeraX-MDcrds: 2.0
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.0
    ChimeraX-mmCIF: 2.2
    ChimeraX-MMTF: 2.0
    ChimeraX-Modeller: 1.0
    ChimeraX-ModelPanel: 1.0
    ChimeraX-ModelSeries: 1.0
    ChimeraX-Mol2: 2.0
    ChimeraX-Morph: 1.0
    ChimeraX-MouseModes: 1.0
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0
    ChimeraX-OpenCommand: 1.2.1
    ChimeraX-PDB: 2.1.1
    ChimeraX-PDBBio: 1.0
    ChimeraX-PickBlobs: 1.0
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.0
    ChimeraX-PubChem: 2.0.1
    ChimeraX-Read-Pbonds: 1.0
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    ChimeraX-RestServer: 1.0
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.2
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SeqView: 2.2.1
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0
    ChimeraX-Shortcuts: 1.0
    ChimeraX-ShowAttr: 1.0
    ChimeraX-ShowSequences: 1.0
    ChimeraX-SideView: 1.0
    ChimeraX-Smiles: 2.0.1
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.1
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-Struts: 1.0
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0
    ChimeraX-SwapRes: 2.0
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.0
    ChimeraX-ToolshedUtils: 1.0
    ChimeraX-Tug: 1.0
    ChimeraX-UI: 1.3
    ChimeraX-uniprot: 2.0
    ChimeraX-ViewDockX: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0
    ChimeraX-WebServices: 1.0
    ChimeraX-Zone: 1.0
    colorama: 0.4.3
    comtypes: 1.1.7
    cxservices: 1.0
    cycler: 0.10.0
    Cython: 0.29.20
    decorator: 4.4.2
    distlib: 0.3.1
    docutils: 0.16
    filelock: 3.0.12
    funcparserlib: 0.3.6
    gdcm: 2.8.8
    grako: 3.16.5
    h5py: 2.10.0
    html2text: 2020.1.16
    idna: 2.10
    ihm: 0.16
    imagecodecs: 2020.5.30
    imagecodecs-lite: 2020.1.31
    imagesize: 1.2.0
    ipykernel: 5.3.0
    ipython: 7.15.0
    ipython-genutils: 0.2.0
    jedi: 0.17.2
    Jinja2: 2.11.2
    jupyter-client: 6.1.3
    jupyter-core: 4.6.3
    kiwisolver: 1.2.0
    line-profiler: 2.1.2
    lxml: 4.5.1
    MarkupSafe: 1.1.1
    matplotlib: 3.2.1
    msgpack: 1.0.0
    netifaces: 0.10.9
    networkx: 2.4
    numexpr: 2.7.1
    numpy: 1.19.2
    numpydoc: 1.0.0
    openvr: 1.12.501
    packaging: 20.4
    parso: 0.7.1
    pickleshare: 0.7.5
    Pillow: 7.1.2
    pip: 20.2.2
    pkginfo: 1.5.0.1
    prompt-toolkit: 3.0.7
    psutil: 5.7.0
    pycollada: 0.7.1
    pydicom: 2.0.0
    Pygments: 2.6.1
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 2.4.7
    PyQt5-commercial: 5.12.3
    PyQt5-sip: 4.19.19
    PyQtWebEngine-commercial: 5.12.1
    python-dateutil: 2.8.1
    pytz: 2020.1
    pywin32: 228
    pyzmq: 19.0.2
    qtconsole: 4.7.4
    QtPy: 1.9.0
    RandomWords: 0.3.0
    requests: 2.24.0
    scipy: 1.5.2
    setuptools: 49.4.0
    sfftk-rw: 0.6.6.dev0
    six: 1.15.0
    snowballstemmer: 2.0.0
    sortedcontainers: 2.2.2
    Sphinx: 3.1.1
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 2.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 1.0.3
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.4
    suds-jurko: 0.6
    tables: 3.6.1
    tifffile: 2020.6.3
    tinyarray: 1.2.2
    tornado: 6.0.4
    traitlets: 5.0.4
    urllib3: 1.25.10
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.34.2
    WMI: 1.5.1

Change History (4)

comment:1 by pett, 5 years ago

Component: UnassignedVR
Description: modified (diff)
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionvr meeting: float division by zero

comment:2 by Tom Goddard, 5 years ago

Looks like the scene was scaled to a single point causing this divide by zero. No indication of what caused that. There was a 3 person VR meeting so it probably happened on one person's machine then was copied to the rest. Phil had a stuck controller button that might have something to do with it.

Try zoom mode to see how hard it is to produce this error. Maybe someone's VR controller flew off into space due to a tracking problem while they had the zoom button held down.

comment:3 by Tom Goddard, 5 years ago

Somehow the room to scene matrix had huge values so that the scene scale became 0. One way for this to happen is to zoom the scene down to near zero size. That should be very difficult to achieve with the zoom vr mode. For the double values to overflow when squared requires sizes 10150 (since double can handle 10300) which would require a 50 meter pinch gesture or about 2 minutes holding the thumbstick in zoom mode. Well before that is reached the scene will black out with all graphics gone because of limited float precision. We did see that but I am not sure if it happened when the error occurred or earlier. Phil had a stuck controller button, so that could have caused it, or a controller drifting off due to tracking problems. Possibly something other than zoom mode led to the bad scene transform.

comment:4 by Tom Goddard, 5 years ago

Resolution: fixed
Status: assignedclosed

Fixed maybe.

I put in code to limit the scene scale during zooming to 1e12. Tested using an accelerated thumbstick zoom and limit is working. Not sure if this caused the reported bug.

Note: See TracTickets for help on using tickets.