Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#3318 closed defect (fixed)

Shape command allows creating submodel without a parent model

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

Description

The following bug report has been submitted:
Platform:        Darwin-19.4.0-x86_64-i386-64bit
ChimeraX Version: 1.0rc202005242323 (2020-05-24 23:23:37 UTC)
Description
shape icos
clip
-> error

Log:
Startup Messages  
---  
warnings | QWebEngineUrlScheme::registerScheme: Scheme "cxcmd" already
registered  
QWebEngineUrlScheme::registerScheme: Scheme "help" already registered  
QWebEngineUrlScheme::registerScheme: Scheme "cxcmd" already registered  
QWebEngineUrlScheme::registerScheme: Scheme "help" already registered  
QWebEngineUrlScheme::registerScheme: Scheme "cxcmd" already registered  
8 messages similar to the above omitted  
Replacing file-saver for 'DCD coordinates' from MD-crds bundle with that from
MDcrds bundle  
Replacing opener for 'Gromacs full-precision coordinates' from MD-crds bundle
with that from MDcrds bundle  
Replacing opener for 'Gromacs compressed coordinates' from MD-crds bundle with
that from MDcrds bundle  
Replacing opener for 'DCD coordinates' from MD-crds bundle with that from
MDcrds bundle  
notes | Replacing data format 'Gromacs full-precision coordinates' as defined
by ChimeraX-MD-crds bundle with definition from ChimeraX-MDcrds bundle  
Replacing data format 'Gromacs compressed coordinates' as defined by ChimeraX-
MD-crds bundle with definition from ChimeraX-MDcrds bundle  
Replacing data format 'DCD coordinates' as defined by ChimeraX-MD-crds bundle
with definition from ChimeraX-MDcrds bundle  
  
UCSF ChimeraX version: 1.0rc202005220158 (2020-05-24)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> shape icosahedron modelId #1.1

> clip

Traceback (most recent call last):  
File
"/Users/goddard/ucsf/cx-1.0/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File
"/Users/goddard/ucsf/cx-1.0/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/model_panel/tool.py", line 165, in <lambda>  
lambda *args, ft=self._fill_tree, ar=always_rebuild: ft(always_rebuild=ar))  
File
"/Users/goddard/ucsf/cx-1.0/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/model_panel/tool.py", line 214, in _fill_tree  
parent = item_stack[0] if len(item_stack) == 1 else item_stack[len_id-1]  
IndexError: list index out of range  
  
Error processing trigger "new frame":  
IndexError: list index out of range  
  
File
"/Users/goddard/ucsf/cx-1.0/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/model_panel/tool.py", line 214, in _fill_tree  
parent = item_stack[0] if len(item_stack) == 1 else item_stack[len_id-1]  
  
See log for complete Python traceback.  
  




OpenGL version: 4.1 ATI-3.8.24
OpenGL renderer: AMD Radeon Pro Vega 20 OpenGL Engine
OpenGL vendor: ATI Technologies Inc.Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro15,3
      Processor Name: 8-Core Intel Core i9
      Processor Speed: 2.4 GHz
      Number of Processors: 1
      Total Number of Cores: 8
      L2 Cache (per Core): 256 KB
      L3 Cache: 16 MB
      Hyper-Threading Technology: Enabled
      Memory: 32 GB
      Boot ROM Version: 1037.100.362.0.0 (iBridge: 17.16.14281.0.0,0)

Software:

    System Software Overview:

      System Version: macOS 10.15.4 (19E287)
      Kernel Version: Darwin 19.4.0
      Time since boot: 17 days 14:50

Graphics/Displays:

    Intel UHD Graphics 630:

      Chipset Model: Intel UHD Graphics 630
      Type: GPU
      Bus: Built-In
      VRAM (Dynamic, Max): 1536 MB
      Vendor: Intel
      Device ID: 0x3e9b
      Revision ID: 0x0002
      Automatic Graphics Switching: Supported
      gMux Version: 5.0.0
      Metal: Supported, feature set macOS GPUFamily2 v1

    Radeon Pro Vega 20:

      Chipset Model: Radeon Pro Vega 20
      Type: GPU
      Bus: PCIe
      PCIe Lane Width: x8
      VRAM (Total): 4 GB
      Vendor: AMD (0x1002)
      Device ID: 0x69af
      Revision ID: 0x00c0
      ROM Revision: 113-D2060I-087
      VBIOS Version: 113-D20601MA0T-016
      Option ROM Version: 113-D20601MA0T-016
      EFI Driver Version: 01.01.087
      Automatic Graphics Switching: Supported
      gMux Version: 5.0.0
      Metal: Supported, feature set macOS GPUFamily2 v1
      Displays:
        Color LCD:
          Display Type: Built-In Retina LCD
          Resolution: 2880 x 1800 Retina
          Framebuffer Depth: 24-Bit Color (ARGB8888)
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: No
          Connection Type: Internal

PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.8

Change History (7)

in reply to:  1 ; comment:1 by goddard@…, 5 years ago

Corrections "shape icos model #1.1 ; clip".

comment:2 by Tom Goddard, 5 years ago

Cc: Eric Pettersen added
Component: UnassignedCore
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionShape command allows creating submodel without a parent model

We have seen this error before on session restore.

The problem is that the Models.add() method does not catch that a model is being added with an id that has no immediate parent.

comment:3 by Tom Goddard, 5 years ago

All commands that take a model_id argument probably have this same problem.

comment:4 by Tom Goddard, 5 years ago

These commands take a model_id argument (ModelIdArg).
shape, marker, volume subcommands that make volumes, struts, measure center, measure inertia, rename

comment:5 by Tom Goddard, 5 years ago

Resolution: fixed
Status: assignedclosed

Fixed in ChimeraX 1.1

Rewrote Models.add() and added extensive error checking to assure model hierarchy is not corrupted.
Also made shape command create parent models if they do not exist.

comment:6 by Eric Pettersen, 5 years ago

So this is committed on the develop branch I'm guessing?

in reply to:  7 ; comment:7 by goddard@…, 5 years ago

Yep, on develop branch, ChimeraX 1.1
Note: See TracTickets for help on using tickets.