Opened 5 years ago

Closed 4 years ago

#3784 closed defect (can't reproduce)

meeting: _decode_socket_message: source code string cannot contain null bytes

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 Eric Pettersen)

The following bug report has been submitted:
Platform:        Windows-10-10.0.18362
ChimeraX Version: 1.2.dev202010010012 (2020-10-01 00:12:24 UTC)
Description
Error during 4 person VR session with Phil, Meghan and Victor connected via AWS.  Not sure what led to the error.  Surprisingly it was not fatal, we continued for 90 minutes without restarting the VR meeting, although Phil and Victor exited and rejoined and Meghan sometimes and a base64 encode error when clicking on toolbar buttons.

Log:
UCSF ChimeraX version: 1.2.dev202010010012 (2020-10-01)  
© 2016-2020 Regents of the University of California. All rights reserved.  

> open C:\cygwin64\home\goddard\ucsf\data\sars-cov-2-pore\sars-pores3.cxs
> format session

Log from Wed Sep 30 19:47:59 2020UCSF ChimeraX version: 1.2.dev202009300503
(2020-09-30)  
© 2016-2020 Regents of the University of California. All rights reserved.  

> open /Users/goddard/ucsf/data/sars-cov-2-pore/sars-pores2.cxs format session

Log from Wed Sep 30 17:54:31 2020UCSF ChimeraX version: 1.2.dev202009300503
(2020-09-30)  
© 2016-2020 Regents of the University of California. All rights reserved.  

> open /Users/goddard/ucsf/data/sars-cov-2-pore/sars-pores.cxs format session

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  

> close #3

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

Opened image F1.large.jpg  

> ui mousemode right "move picked models"

> view matrix models #3,1,0,0,-66.333,0,1,0,-644.48,0,0,1,343.15

> view matrix models
> #3,0.9918,-0.12365,0.032338,-66.333,-0.067921,-0.29559,0.9529,-644.48,-0.10826,-0.94728,-0.30156,343.15

> view matrix models
> #3,0.9853,-0.044457,0.16497,-66.333,-0.15335,0.19566,0.96861,-644.48,-0.07534,-0.97966,0.18597,343.15

> view matrix models
> #3,0.9611,-0.13297,0.2421,-66.333,-0.2303,0.098158,0.96816,-644.48,-0.1525,-0.98625,0.063716,343.15

> view matrix models
> #3,-0.95885,-0.090898,0.26896,-66.333,0.28389,-0.29665,0.91181,-644.48,-0.0030938,0.95065,0.31025,343.15

> open /Users/goddard/ucsf/data/sars-cov-2-pore/F2.large.jpg

Opened image F2.large.jpg  

> close #4

> open /Users/goddard/ucsf/data/sars-cov-2-pore/F2.large.jpg format photo

Opened image F2.large.jpg  

> view matrix models #4,1,0,0,-904.05,0,1,0,61.98,0,0,1,150.79

> view matrix models #4,1,0,0,-979.47,0,1,0,123.66,0,0,1,56.087

> view matrix models
> #4,-0.79402,0.52269,-0.31036,-979.47,-0.53392,-0.35559,0.76713,123.66,0.29061,0.77482,0.56142,56.087

> view matrix models
> #4,-0.97197,-0.21499,-0.095174,-979.47,0.0020878,-0.41268,0.91087,123.66,-0.2351,0.88514,0.40156,56.087

> view matrix models
> #4,-0.13764,0.28993,0.9471,-979.47,0.89258,-0.3782,0.24549,123.66,0.42937,0.87915,-0.20673,56.087

> view matrix models
> #4,-0.23117,-0.20228,0.95165,-1051.1,0.84163,-0.53228,0.09131,-2.5657,0.48808,0.82205,0.29329,564.7

> view matrix models
> #3,-0.95578,-0.11723,0.26969,-66.333,0.29382,-0.41838,0.85944,-644.48,0.012082,0.90068,0.43432,343.15

> save sars-pores2.cxs

opened ChimeraX session  

> usage rename

rename models [name] [id id]  
— rename a model or change its id number  
name: a text string  
id: a model id  

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

Chain information for QHD43415_4.pdb #5  
---  
Chain | Description  
| No description available  
  

> hide #5 models

> show #5 models

> hide #4 models

> hide #2 models

> hide #3 models

> show #2 models

> show #3 models

> hide #2 models

> show #4 models

> hide #4 models

> hide #3 models

> hide #!1 models

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

Chain information for QHD43415_6.pdb #6  
---  
Chain | Description  
| No description available  
  

> show #!1 models

> show #2 models

> hide #!1 models

> ui mousemode right "move picked models"

> view matrix models #5,1,0,0,46.693,0,1,0,215.51,0,0,1,83.347

> view matrix models #6,1,0,0,70.795,0,1,0,73.781,0,0,1,-79.717

> view matrix models #5,1,0,0,124.63,0,1,0,161.13,0,0,1,144.79

> view matrix models #6,1,0,0,143.28,0,1,0,22.959,0,0,1,-34.14

> show #!1 models

> hide #!1 models

> view matrix models #6,1,0,0,181.33,0,1,0,59.891,0,0,1,105.96

> show #!1 models

> hide #2 models

> hide #5-6 cartoons

> show #5-6 atoms

> style #5-6 sphere

Changed 12595 atom styles  

> show #2 models

> show #3 models

> show #4 models

> save /Users/goddard/ucsf/data/sars-cov-2-pore/sars-pores3.cxs

opened ChimeraX session  

> vr true

> lighting simple

started SteamVR rendering  
VR mode move picked models  

> view matrix models
> #4,-0.27849,-0.14028,0.95014,-918.5,0.86213,-0.47251,0.18293,116.01,0.42329,0.87009,0.25253,679.54

> view matrix models
> #1,0.99803,0.055103,0.029838,-166.48,-0.050121,0.98776,-0.14769,-108.25,-0.037611,0.1459,0.98858,72.945

> view matrix models
> #5,0.84127,0.49704,0.21265,-167.45,-0.4759,0.86748,-0.14486,90.048,-0.25647,0.020668,0.96633,186.23

> view matrix models
> #6,0.86874,0.49524,0.0041218,-81.17,-0.49114,0.86042,0.13583,-19.352,0.063726,-0.12003,0.99072,205.38

> view matrix models
> #2,0.86719,0.41069,-0.28164,-76.539,-0.40315,0.91098,0.08706,36.455,0.29232,0.038046,0.95556,244.68

VR mode move scene  

> meeting start faceImage C:\Users\goddard/Desktop/tomg.png

Meeting at DESKTOP-J8FC2Q4 or 192.168.0.2 port 52194  
Connection accepted from 192.168.0.169 port 61695  

> vr false

> vr true

started SteamVR rendering  
Connection accepted from 192.168.0.2 port 53818  

fromIccProfile: failed minimal tag size sanity  

Connection accepted from 192.168.0.2 port 53827  

fromIccProfile: failed minimal tag size sanity  

> view matrix models
> #3,-0.97806,-0.10792,0.17818,-10.095,0.2072,-0.41543,0.88571,-724.16,-0.021568,0.9032,0.42868,345.75

> view matrix models
> #4,-0.22015,-0.21306,0.95191,-848.56,0.9202,-0.36916,0.13019,161.74,0.32367,0.90461,0.27733,640.46

> view matrix models
> #5,0.79306,0.55368,0.25395,-259.09,-0.57035,0.82135,-0.0095943,59.119,-0.21389,-0.13723,0.96717,253.68

> view matrix models
> #6,0.82138,0.56698,0.062217,-245.72,-0.56948,0.80903,0.14548,134.94,0.032153,-0.15493,0.9874,261.4

> view matrix models
> #1,0.99971,-0.023225,0.0070015,-103.16,0.023762,0.99564,-0.090146,-114.85,-0.0048771,0.090286,0.9959,113.43

> view matrix models
> #5,0.86264,0.48574,0.14108,-152.14,-0.50037,0.86029,0.09761,35.306,-0.073958,-0.1548,0.98517,255.64

Connection accepted from 192.168.0.2 port 53884  
Connection accepted from 192.168.0.2 port 53897  

> hide #3 models

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
ValueError: source code string cannot contain null bytes  
  
The above exception was the direct cause of the following exception:  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 453, in _decode_socket_message  
raise ValueError('ChimeraX meeting message could not be parsed, length %d,
content "%s"' % (msg_len, msg)) from e  
ValueError: ChimeraX meeting message could not be parsed, length 86894,
content "{'name': 'Remote', 'color': (0, 255, 0, 255), 'vr head':
((0.9993635416030884, -0.03535265848040581, 0.004766273777931929,
-0.5674135088920593), (0.035318635404109955, 0.9618050456047058,
-0.2714472711086273, 0.9682030081748962), (0.005012156907469034,
0.27144283056259155, 0.9624415040016173, 0.22981619834899902)), 'vr hands':
[((0.9598342180252075, -0.23858065903186798, -0.14764060080051422,
-0.24126970767974854), (0.04689094424247742, 0.6552273631095886,
-0.7539759874343872, 0.9107524156570435), (0.2766219675540924,
0.7167690396308899, 0.64009690284729, -0.3961060345172882)),
((0.7550709843635559, 0.6541909575462341, -0.04362431913614273,
-0.7825096845626831), (-0.31771573424339294, 0.30688217282295227,
-0.8971527218818665, 0.9346714615821838), (-0.573520302772522,
0.6912745833396912, 0.4395637810230255, -0.41350269317626953))], 'vr gui
panels': [{'image': {'shape': (21, 1767, 4), 'dtype': '|u1', 'data':
b'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'},
'name': 'menu bar'}, {'image': {'shape': (106, 1767, 4), 'dtype': '|u1',
'data':

[had to delete large part of log to fit within ticket length limit]
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  

> marker delete #8

Deleted 2 markers  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 294, in read_socket  
while self._message_received(socket):  
File "C:\Program Files\ChimeraX-Oct-1-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-Oct-1-2020\bin\lib\site-
packages\chimerax\meeting\meeting.py", line 451, in _decode_socket_message  
msg_data = ast.literal_eval(msg)  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 59, in
literal_eval  
node_or_string = parse(node_or_string, mode='eval')  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
File "<unknown>", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "", line 0  
  
^  
SyntaxError: unexpected EOF while parsing  
  
File "C:\Program Files\ChimeraX-Oct-1-2020\bin\lib\ast.py", line 47, in parse  
return compile(source, filename, mode, flags,  
  
See log for complete Python traceback.  
  

> view matrix models
> #1,-0.10078,-0.72971,-0.67629,-1570.6,0.0081409,0.67909,-0.73399,-472.82,0.99486,-0.079487,-0.062493,-788.57

> view matrix models
> #3,-0.25331,0.088063,-0.96339,-1426.6,0.32087,-0.93182,-0.16958,390.06,-0.91263,-0.35208,0.20779,-503.93

> view matrix models
> #4,0.14939,-0.070024,-0.9863,-1435.9,0.10263,-0.99097,0.085908,-392.36,-0.98342,-0.11409,-0.14087,-119.31

> view matrix models
> #1,0.23373,-0.76987,-0.59385,-1956.5,0.072167,0.62279,-0.77903,-102.3,0.9696,0.13922,0.20115,-831.4

> view matrix models
> #1,0.27344,-0.9146,-0.29784,-2295.9,0.13033,0.34199,-0.93061,217.37,0.953,0.21564,0.21275,-879.22

> view matrix models
> #3,0.16486,0.080784,-0.98303,-1065.9,0.27182,-0.96177,-0.033475,325.94,-0.94812,-0.2617,-0.18051,-13.916

> view matrix models
> #4,0.056031,0.11993,-0.9912,-1414.4,0.14037,-0.98382,-0.11111,-213.43,-0.9885,-0.13294,-0.071966,-243.5

> view matrix models
> #4,0.052479,0.12585,-0.99066,-1411.2,0.11777,-0.98586,-0.11901,-220.19,-0.99164,-0.11046,-0.066565,-231.33

> view matrix models
> #4,0.025775,0.29812,-0.95418,-1358.5,0.23508,-0.92951,-0.28407,65.132,-0.97162,-0.21702,-0.094048,-231.83




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
OSLanguage: en-US
Locale: ('en_US', 'cp1252')
PyQt version: 5.15.1
Compiled Qt version: 5.15.1
Runtime Qt version: 5.15.1
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
    cftime: 1.2.1
    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-AtomicLibrary: 1.0
    ChimeraX-AtomSearch: 2.0
    ChimeraX-AtomSearchLibrary: 1.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.dev202010010012
    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.1
    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.3
    ChimeraX-PDB: 2.1.1
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 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.1
    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.1
    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.21
    decorator: 4.4.2
    distlib: 0.3.1
    docutils: 0.16
    filelock: 3.0.12
    funcparserlib: 0.3.6
    grako: 3.16.5
    h5py: 2.10.0
    html2text: 2020.1.16
    idna: 2.10
    ihm: 0.17
    imagecodecs: 2020.5.30
    imagecodecs-lite: 2020.1.31
    imagesize: 1.2.0
    ipykernel: 5.3.4
    ipython: 7.18.1
    ipython-genutils: 0.2.0
    jedi: 0.17.2
    Jinja2: 2.11.2
    jupyter-client: 6.1.7
    jupyter-core: 4.6.3
    kiwisolver: 1.2.0
    line-profiler: 2.1.2
    lxml: 4.5.2
    MarkupSafe: 1.1.1
    matplotlib: 3.3.2
    msgpack: 1.0.0
    netCDF4: 1.5.4
    netifaces: 0.10.9
    networkx: 2.5
    numexpr: 2.7.1
    numpy: 1.19.2
    numpydoc: 1.1.0
    openvr: 1.14.1501
    packaging: 20.4
    parso: 0.7.1
    pickleshare: 0.7.5
    Pillow: 7.2.0
    pip: 20.2.3
    pkginfo: 1.5.0.1
    prompt-toolkit: 3.0.7
    psutil: 5.7.2
    pycollada: 0.7.1
    pydicom: 2.0.0
    Pygments: 2.7.1
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 2.4.7
    PyQt5-commercial: 5.15.1
    PyQt5-sip: 12.8.1
    PyQtWebEngine-commercial: 5.15.1
    python-dateutil: 2.8.1
    pytz: 2020.1
    pywin32: 228
    pyzmq: 19.0.2
    qtconsole: 4.7.7
    QtPy: 1.9.0
    RandomWords: 0.3.0
    requests: 2.24.0
    scipy: 1.5.2
    setuptools: 50.3.0
    sfftk-rw: 0.6.6.dev0
    six: 1.15.0
    snowballstemmer: 2.0.0
    sortedcontainers: 2.2.2
    Sphinx: 3.2.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.9.3
    tinyarray: 1.2.3
    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

Attachments (1)

vr_debug_log_null_byte.html (1.2 MB ) - added by Tom Goddard 5 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 by Eric Pettersen, 5 years ago

Component: UnassignedVR
Description: modified (diff)
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionmeeting: _decode_socket_message: source code string cannot contain null bytes

comment:2 by Tom Goddard, 5 years ago

I had the ChimeraX still running so was able to export the log as an html file. I've attached it.

What I see is that sometimes a panel image such as the toolbar has large blocks (e.g. 1258 bytes) of null bytes inserted in the base64 encoded numpy array representing the image. By comparing to other successful transmission of the same image I see that the null bytes replace an exactly equal number of bytes of the correct image string. My best guess is that this has something to do with accumulating the message at the receiving socket, somehow it incorrectly adds these null bytes instead of the correct received block of bytes. Possibly it is a multi-thread issue.

by Tom Goddard, 5 years ago

Attachment: vr_debug_log_null_byte.html added

comment:3 by Tom Goddard, 5 years ago

There are dozens of blocks of null bytes always 1258 bytes long in the messages received by the meeting command over the socket. The same panel images are sent in different messages and some have null blocks and some do not and comparison shows that the 1258 null bytes simply replace 1258 actual image bytes. After the null bytes the two images match exactly. Sometimes the null blocks are separated by small intervals like 202 bytes, in fact often separated by exactly 202 bytes. In other cases separated by 1662 (= 1258 + 2*202). Found another case where it was not within an image string -- started in the middle of a head matrix. In those two cases there were no images in the message and there were 916 null bytes, all the final bytes of the message. In two such cases the leading correct initial part of the message was 198 bytes (plus 4 byte length, = 202 bytes). Another case has 633 trailing null bytes and 198 leading bytes (+ 4 message length = 202).

comment:4 by Tom Goddard, 5 years ago

I am baffled. There are blocks of 1258 null bytes in the messages received. They don't start at any special characters in the messages. They happened with Phil and Victor when directly connected to my home IP 2 weeks ago and again when Phil, VIctor and Meghan connected via AWS. The message lengths appear to be correct, just some bytes are null. The encoding and decoding using UTF-8 looks fine.

I don't think the socket transmission could be failing. Either the buffer of bytes sent or received gets corrupted setting blocks of length 1258 to null bytes. Maybe a buffer is being reallocated to a larger size somehow fails to copy 1258 bytes so they end up as zeros. The meeting code has a mbuf = bytearray() and it calls mbuf.extend(socket_bytes) where socket_bytes = socket.readAll() is a QByteArray. QByteArray does have a resize method, it has a reserve() method and a capacity(). Could it possibly be changed before mbuf.extend()? There is some "implicit sharing" and copy-on-write used by QByteArray.

comment:5 by Tom Goddard, 5 years ago

Next step is to see if I can reproduce this with a two person VR meeting using my two machines. I never saw it in those tests before. It may require the right timing to hit the bug. I can test again with NIH folks to reproduce it. I can put debugging in to issue warnings if a null byte is in an outgoing message and if a null byte is in a received message, and later when that message is interpreted. I can also put checks before and after my message buffer is extended to see if it contains any null bytes.

comment:6 by Tom Goddard, 4 years ago

Resolution: can't reproduce
Status: assignedclosed

Never saw this error again. Probably requires some special network conditions or errors.

Note: See TracTickets for help on using tickets.