#20432 closed defect (fixed)
Large session size in 1.12
| Reported by: | Owned by: | Eric Pettersen | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Sessions | Version: | |
| Keywords: | Cc: | Greg Couch | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: macOS-26.5-arm64-arm-64bit
ChimeraX Version: 1.12rc202605280043 (2026-05-28 00:43:25 UTC)
Description
I've opened a session created by ChimeraX 1.11 and containing 4053 entries in a ViewDock window. The file size was ~14MB. After doing some hitpicking I saved the session and its size grew to 2.5 GB. I'm attaching a json file with some stats I was able to retreive from the session file
Log:
UCSF ChimeraX version: 1.12rc202605280043 (2026-05-28)
© 2016-2026 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> ui tool show Registration
Thank you for registering your copy of ChimeraX. By providing the information
requested you will be helping us document the impact this software is having
in the scientific community. The information you supplied will only be used
for reporting summary usage statistics; no individual data will be released.
iamkaant@gmail.com has been invited to the ChimeraX announcements list
OpenGL version: 4.1 Metal - 90.5
OpenGL renderer: Apple M5 Pro
OpenGL vendor: Apple
Python: 3.11.9
Locale: en_US.UTF-8
Qt version: PyQt6 6.10.2, Qt 6.10.0
Qt runtime version: 6.10.2
Qt platform: cocoa
Hardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: Mac17,8
Model Number: MGE44LL/A
Chip: Apple M5 Pro
Total Number of Cores: 18 (6 Super and 12 Performance)
Memory: 24 GB
System Firmware Version: 18000.120.36
OS Loader Version: 18000.120.36
Software:
System Software Overview:
System Version: macOS 26.5 (25F71)
Kernel Version: Darwin 25.5.0
Time since boot: 9 days, 3 hours, 54 minutes
Graphics/Displays:
Apple M5 Pro:
Chipset Model: Apple M5 Pro
Type: GPU
Bus: Built-In
Total Number of Cores: 20
Vendor: Apple (0x106b)
Metal Support: Metal 4
Displays:
LG HDR 4K:
Resolution: 5120 x 2880 (5K/UHD+ - Ultra High Definition Plus)
UI Looks like: 2560 x 1440 @ 60.00Hz
Main Display: Yes
Mirror: Off
Online: Yes
Rotation: Supported
Color LCD:
Display Type: Built-in Liquid Retina XDR Display
Resolution: 3456 x 2234 Retina
Mirror: Off
Online: Yes
Automatically Adjust Brightness: Yes
Connection Type: Internal
Installed Packages:
accessible-pygments: 0.0.5
aiohappyeyeballs: 2.6.2
aiohttp: 3.13.4
aiosignal: 1.4.0
alabaster: 1.0.0
annotated-types: 0.7.0
anyio: 4.13.0
appdirs: 1.4.4
appnope: 0.1.4
asttokens: 3.0.1
attrs: 26.1.0
babel: 2.18.0
beautifulsoup4: 4.13.5
blockdiag: 3.0.0
blosc2: 4.3.3
bs4: 0.0.2
build: 1.3.0
certifi: 2025.7.14
cftime: 1.6.5
charset-normalizer: 3.4.7
ChimeraX-AddCharge: 1.5.20
ChimeraX-AddH: 2.2.8
ChimeraX-AlignmentAlgorithms: 2.0.2
ChimeraX-AlignmentHdrs: 3.6.2
ChimeraX-AlignmentMatrices: 2.1
ChimeraX-Alignments: 3.2
ChimeraX-AlphaFold: 1.0.1
ChimeraX-AltlocExplorer: 1.2
ChimeraX-AmberInfo: 1.0
ChimeraX-Animations: 1.0
ChimeraX-Aniso: 1.3.2
ChimeraX-Arrays: 1.1
ChimeraX-Atomic: 1.67.1
ChimeraX-AtomicLibrary: 14.4
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.4
ChimeraX-BasicActions: 1.1.3
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 3.0.0
ChimeraX-Boltz: 1.1
ChimeraX-BondRot: 2.0.4
ChimeraX-BugReporter: 1.0.2
ChimeraX-BuildStructure: 2.13.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.6.0
ChimeraX-ButtonPanel: 1.0.1
ChimeraX-CageBuilder: 1.0.1
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.4.1
ChimeraX-ChangeChains: 1.1
ChimeraX-CheckWaters: 1.5
ChimeraX-ChemGroup: 2.0.2
ChimeraX-Clashes: 2.4
ChimeraX-Cluster: 1.0
ChimeraX-ColorActions: 1.0.5
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.8
ChimeraX-CommandLine: 1.3.1
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.12rc202605280043
ChimeraX-CoreFormats: 1.2
ChimeraX-coulombic: 1.4.5
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0.1
ChimeraX-DataFormats: 1.2.4
ChimeraX-Dicom: 1.2.7
ChimeraX-DistMonitor: 1.4.2
ChimeraX-DockPrep: 1.2.1
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ESMFold: 1.0
ChimeraX-FileHistory: 1.0.1
ChimeraX-FunctionKey: 1.0.1
ChimeraX-Geometry: 1.3
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.4.1
ChimeraX-Hbonds: 2.5.3
ChimeraX-Help: 1.3
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.4
ChimeraX-ItemsInspection: 1.0.1
ChimeraX-IUPAC: 1.0
ChimeraX-KVFinder: 1.8.2
ChimeraX-Label: 1.5
ChimeraX-LightingGUI: 1.0
ChimeraX-ListInfo: 1.3.1
ChimeraX-Log: 1.2.2
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.9.3
ChimeraX-Map: 1.3
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0.1
ChimeraX-MapFilter: 2.0.1
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.1.1
ChimeraX-Markers: 1.0.1
ChimeraX-Mask: 1.0.2
ChimeraX-MatchAlign: 1.2
ChimeraX-MatchMaker: 2.4.1
ChimeraX-MCopy: 1.0
ChimeraX-MCPServer: 0.2.0
ChimeraX-MDcrds: 2.19
ChimeraX-MedicalToolbar: 1.1
ChimeraX-Meeting: 1.0.1
ChimeraX-Minimize: 1.3.9
ChimeraX-MLP: 1.1.1
ChimeraX-mmCIF: 2.16
ChimeraX-MMTF: 2.2
ChimeraX-ModelArchive: 1.0
ChimeraX-Modeller: 1.5.23
ChimeraX-ModelPanel: 1.6.1
ChimeraX-ModelSeries: 1.0.1
ChimeraX-Mol2: 2.0.3
ChimeraX-Mole: 1.0
ChimeraX-Morph: 1.0.2
ChimeraX-MouseModes: 1.2
ChimeraX-Movie: 1.0.1
ChimeraX-MutationScores: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nifti: 1.2
ChimeraX-NMRSTAR: 1.0.2
ChimeraX-NRRD: 1.2
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OpenCommand: 1.15.4
ChimeraX-OpenFold: 1.0
ChimeraX-OrthoPick: 1.0.1
ChimeraX-PDB: 2.7.13
ChimeraX-PDBBio: 1.0.1
ChimeraX-PDBLibrary: 1.0.5
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0.1
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1.4
ChimeraX-ProfileGrids: 1.6
ChimeraX-PubChem: 2.2
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1.2
ChimeraX-RemoteControl: 1.0
ChimeraX-RenderByAttr: 1.8.2
ChimeraX-RenumberResidues: 1.1
ChimeraX-ResidueFit: 1.0.1
ChimeraX-RestServer: 1.3.3
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 4.0
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.5.2
ChimeraX-Scenes: 0.3.1
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0.3
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0.1
ChimeraX-Segmentations: 3.5.12
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.18
ChimeraX-Shape: 1.1
ChimeraX-Shell: 1.0.1
ChimeraX-Shortcuts: 1.2.1
ChimeraX-ShowSequences: 1.0.3
ChimeraX-SideView: 1.0.1
ChimeraX-SimilarStructures: 1.0.1
ChimeraX-Smiles: 2.1.2
ChimeraX-SmoothLines: 1.0
ChimeraX-SNFG: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.19.3
ChimeraX-STL: 1.0.1
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.2.1
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0.1
ChimeraX-SwapAA: 2.0.1
ChimeraX-SwapRes: 2.5.3
ChimeraX-TapeMeasure: 1.0
ChimeraX-TaskManager: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.2.4
ChimeraX-ToolshedUtils: 1.2.4
ChimeraX-Topography: 1.0
ChimeraX-ToQuest: 1.0
ChimeraX-Tug: 1.0.1
ChimeraX-UI: 1.50.7
ChimeraX-Umap: 1.0
ChimeraX-uniprot: 2.3.2
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDock: 1.6.2
ChimeraX-VIPERdb: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0.1
ChimeraX-vrml: 1.0
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0.2
ChimeraX-WebServices: 1.1.5
ChimeraX-Zone: 1.0.1
click: 8.4.1
colorama: 0.4.6
comm: 0.2.3
contourpy: 1.3.3
coverage: 7.14.1
cxservices: 1.2.3
cycler: 0.12.1
Cython: 3.2.4
debugpy: 1.8.20
decorator: 5.3.1
docutils: 0.21.2
executing: 2.2.1
filelock: 3.19.1
fonttools: 4.63.0
frozenlist: 1.8.0
funcparserlib: 2.0.0a0
glfw: 2.10.0
grako: 3.16.5
h11: 0.16.0
h5py: 3.16.0
html2text: 2025.4.15
httpcore: 1.0.9
httpx: 0.28.1
httpx-sse: 0.4.3
idna: 3.17
ihm: 2.2
imagecodecs: 2024.6.1
imagesize: 2.0.0
iniconfig: 2.3.0
ipykernel: 7.1.0
ipython: 9.9.0
ipython_pygments_lexers: 1.1.1
jedi: 0.19.2
Jinja2: 3.1.6
jsonschema: 4.26.0
jsonschema-specifications: 2025.9.1
jupyter_client: 8.8.0
jupyter_core: 5.9.1
kiwisolver: 1.5.0
line_profiler: 5.0.0
lxml: 6.0.2
lz4: 4.3.2
Markdown: 3.8.2
MarkupSafe: 3.0.3
matplotlib: 3.10.7
matplotlib-inline: 0.2.2
mcp: 1.18.0
msgpack: 1.1.1
multidict: 6.7.1
narwhals: 2.21.2
ndindex: 1.10.1
nest-asyncio: 1.6.0
netCDF4: 1.6.5
networkx: 3.3
nibabel: 5.2.0
nptyping: 2.5.0
numexpr: 2.14.1
numpy: 1.26.4
OpenMM: 8.4.0
openvr: 1.26.701
packaging: 25.0
ParmEd: 4.2.2
parso: 0.8.7
pep517: 0.13.1
pexpect: 4.9.0
pickleshare: 0.7.5
pillow: 11.3.0
pip: 25.2
pkginfo: 1.12.1.2
platformdirs: 4.10.0
plotly: 6.7.0
pluggy: 1.6.0
prompt_toolkit: 3.0.52
propcache: 0.5.2
psutil: 7.0.0
ptyprocess: 0.7.0
pure_eval: 0.2.3
py-cpuinfo: 9.0.0
pybind11: 3.0.1
pycollada: 0.8
pydantic: 2.13.4
pydantic-settings: 2.14.1
pydantic_core: 2.46.4
pydata-sphinx-theme: 0.18.0
pydicom: 2.4.4
Pygments: 2.18.0
pynmrstar: 3.5.1
pynrrd: 1.0.0
PyOpenGL: 3.1.10
PyOpenGL-accelerate: 3.1.10
pyopenxr: 1.1.4501
pyparsing: 3.3.2
pyproject_hooks: 1.2.0
PyQt6-commercial: 6.10.2
PyQt6-Qt6: 6.10.2
PyQt6-WebEngine-commercial: 6.10.0
PyQt6-WebEngine-Qt6: 6.10.2
PyQt6_sip: 13.10.3
pytest: 9.0.3
pytest-cov: 7.1.0
python-dateutil: 2.9.0.post0
python-dotenv: 1.2.2
python-multipart: 0.0.29
pyzmq: 27.1.0
qtconsole: 5.7.0
QtPy: 2.4.3
qtshim: 1.2.2
RandomWords: 0.4.0
referencing: 0.37.0
requests: 2.32.5
roman-numerals: 4.1.0
rpds-py: 2026.5.1
scipy: 1.14.0
setuptools: 80.9.0
sfftk-rw: 0.8.1
six: 1.17.0
snowballstemmer: 3.1.0
sortedcontainers: 2.4.0
soupsieve: 2.8.4
Sphinx: 9.0.4
sphinx-autodoc-typehints: 3.6.1
sphinxcontrib-applehelp: 2.0.0
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 2.0.0
sphinxcontrib-htmlhelp: 2.1.0
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 2.0.0
sphinxcontrib-serializinghtml: 2.0.0
sse-starlette: 3.4.4
stack-data: 0.6.3
starlette: 1.2.0
superqt: 0.7.6
tables: 3.10.2
tcia_utils: 3.2.1
threadpoolctl: 3.6.0
tifffile: 2025.3.13
tinyarray: 1.2.5
tornado: 6.5.6
tqdm: 4.67.3
traitlets: 5.14.3
typing-inspection: 0.4.2
typing_extensions: 4.15.0
Unidecode: 1.4.0
urllib3: 2.7.0
uvicorn: 0.48.0
wcwidth: 0.7.0
webcolors: 24.11.1
wheel: 0.45.1
wheel-filename: 1.4.2
yarl: 1.24.2
File attachment: cxs_metrics_report.json
Attachments (1)
Change History (14)
by , 2 months ago
| Attachment: | cxs_metrics_report.json added |
|---|
comment:1 by , 2 months ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Sessions |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → accepted |
| Summary: | ChimeraX bug report submission → Large session size in 1.12 |
comment:2 by , 2 months ago
| Status: | accepted → feedback |
|---|
Hi Andrii,
Is there any chance you could supply the original Mol2 file? I could then try saving a 1.11 session file and then re-saving in 1.12 and see if I get the same kind of bloating you're seeing...
--Eric
comment:3 by , 2 months ago
Hi Eric, Thank you for looking into it! I failed to reproduce the issue. I think the difference may stem from the fact that the huge session appeared after the session in 1.12rc stayed opened for a day, and I did extensive hit picking + saved it several times. However, when I used 1.12rc to open a session saved in 1.11, and then saved a new copy, the list of ligands disappeared from the ViewDock window. The session still occupies 14M and the ligands are visible in the model panel, but ViewDock reports “0 compounds listed”. The sessions are somewhat sensitive, so I’ll send them in a separate email. Sincerely, Andrii
comment:4 by , 2 months ago
Hi Andrii,
Like you, so far I have been unable to reproduce the issue, with or without simulated hit picking. I will leave the session open on my desktop here at work and when I'm back in the office on Monday see how big a saved session is.
--Eric
comment:5 by , 2 months ago
Hi Eric, I’ve experienced some instability with 1.12rc on M5 Pro/Tahoe 26.5, but nothing I've been able to reliably reproduce. In addition to session bloating and the disappearance of the ViewDock table, there was a case when my mouse wheel stopped working. I’m unsure about the possible source, as the laptop is new and MacOS was updated recently. These are probably just isolated glitches. Also, the arrow keys now use the sorting order properly (#19804). Thank you so much! — Andrii
comment:6 by , 2 months ago
| Resolution: | → can't reproduce |
|---|---|
| Status: | feedback → closed |
The ChimeraX I left running with ViewDock over the weekend produces a normal sized session file, so I guess I don't know why it produced that gargantuan one for you that one time.
--Eric
comment:8 by , 6 weeks ago
| Resolution: | can't reproduce |
|---|---|
| Status: | closed → reopened |
Hi Andrii,
With the session file you sent separately I can *see* the problem, though I don't know how it happens. The problem is that each ligand has the scoring information (energy / desolvation / etc.) of _all_ ligands associated with it, rather than just its own scoring information. I don't know what triggers that behavior, but I will investigate.
--Eric
comment:9 by , 6 weeks ago
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |
Hi Andrii,
I have committed a fix which will be in the next daily build. That won't help with your already-bloated sessions, but if you like I could send you a Python script which will "deflate" the bloated session so that the next time you save it, it won't be bloated.
--Eric
Fix: https://github.com/RBVI/ChimeraX/commit/3d5058f098a3a8a520c7c14a8b4c64c78472fa69
comment:10 by , 8 days ago
Hi Eric, Thank you for fixing this! I was able to use the daily build without any issues so far. — Andrii
comment:12 by , 8 days ago
Hi Eric, I’ve also noticed two minor things, possibly bugs: the framerate of ‘rock’ command isn’t stable, and changes sometimes on window focus change, or seems to be creeping a bit over time, so sometimes rocking seems faster or slower at the same ‘cycle N’ Is it possible to exclude automatically generated commands from the command history? I’ve set the “Remember” parameter to 2000, but still see only a couple of dozen commands there. Thank you, Andrii
comment:13 by , 8 days ago
Hi Andrii,
I'm guessing your heavy use of ViewDock is flooding the command history with hide and show commands. There is no current mechanism for completely excluding automatically generated commands from the command history. On the other hand, there isn't any major reason for not simply increasing your limit to, say, 10000 commands. The resulting disk file will still only probably be about 100K or so in size.
For the "rock" problem, I'm going to open a separate ticket so that it can be assigned to the right person and tracked separately.
--Eric
Added by email2trac