Opened 9 months ago
Closed 9 months ago
#16685 closed defect (fixed)
Multiple movies conflict with each other
Reported by: | Owned by: | Tom Goddard | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Input/Output | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Linux-4.18.0-553.33.1.el8_10.x86_64-x86_64-with-glibc2.28 ChimeraX Version: 1.5 (2022-11-24 00:03:27 UTC) Description Render two movies at once on the same file system results in a movie file that has frames from both movies merged togehter. This appears to be because they are using the same /tmp/ file directory. Different movie sesssions should work in different temporary directories to avoid this issue. Log: UCSF ChimeraX version: 1.5 (2022-11-24) © 2016-2022 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX OpenGL version: 3.3.0 NVIDIA 550.135 OpenGL renderer: NVIDIA RTX A6000/PCIe/SSE2 OpenGL vendor: NVIDIA Corporation Python: 3.9.11 Locale: en_US.UTF-8 Qt version: PyQt6 6.3.1, Qt 6.3.1 Qt runtime version: 6.3.2 Qt platform: xcb XDG_SESSION_TYPE=x11 DESKTOP_SESSION=gnome XDG_SESSION_DESKTOP=gnome XDG_CURRENT_DESKTOP=GNOME DISPLAY=:1 Manufacturer: Dell Inc. Model: Precision 7920 Tower OS: Rocky Linux 8.10 Green Obsidian Architecture: 64bit ELF Virtual Machine: none CPU: 32 Intel(R) Xeon(R) Gold 6234 CPU @ 3.30GHz Cache Size: 25344 KB Memory: total used free shared buff/cache available Mem: 187Gi 52Gi 115Gi 4.2Gi 19Gi 129Gi Swap: 0B 0B 0B Graphics: 0000:73:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102GL [RTX A6000] [10de:2230] (rev a1) Subsystem: Dell Device [1028:1459] Kernel driver in use: nvidia Installed Packages: alabaster: 0.7.12 appdirs: 1.4.4 asttokens: 2.1.0 Babel: 2.11.0 backcall: 0.2.0 blockdiag: 3.0.0 build: 0.8.0 certifi: 2022.9.24 cftime: 1.6.2 charset-normalizer: 2.1.1 ChimeraX-AddCharge: 1.4 ChimeraX-AddH: 2.2.1 ChimeraX-AlignmentAlgorithms: 2.0 ChimeraX-AlignmentHdrs: 3.2.1 ChimeraX-AlignmentMatrices: 2.0 ChimeraX-Alignments: 2.6 ChimeraX-AlphaFold: 1.0 ChimeraX-AltlocExplorer: 1.0.3 ChimeraX-AmberInfo: 1.0 ChimeraX-Arrays: 1.0 ChimeraX-Atomic: 1.41.5 ChimeraX-AtomicLibrary: 8.0.3 ChimeraX-AtomSearch: 2.0.1 ChimeraX-AxesPlanes: 2.3 ChimeraX-BasicActions: 1.1.2 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 2.1.2 ChimeraX-BondRot: 2.0.1 ChimeraX-BugReporter: 1.0.1 ChimeraX-BuildStructure: 2.7.1 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.2 ChimeraX-ButtonPanel: 1.0.1 ChimeraX-CageBuilder: 1.0.1 ChimeraX-CellPack: 1.0 ChimeraX-Centroids: 1.3.1 ChimeraX-ChangeChains: 1.0.2 ChimeraX-CheckWaters: 1.3 ChimeraX-ChemGroup: 2.0 ChimeraX-Clashes: 2.2.4 ChimeraX-Clipper: 0.19.0 ChimeraX-ColorActions: 1.0.3 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.5.2 ChimeraX-CommandLine: 1.2.4 ChimeraX-ConnectStructure: 2.0.1 ChimeraX-Contacts: 1.0.1 ChimeraX-Core: 1.5 ChimeraX-CoreFormats: 1.1 ChimeraX-coulombic: 1.3.2 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-CrystalContacts: 1.0.1 ChimeraX-DataFormats: 1.2.2 ChimeraX-Dicom: 1.1 ChimeraX-DistMonitor: 1.3 ChimeraX-DockPrep: 1.0 ChimeraX-Dssp: 2.0 ChimeraX-EMDB-SFF: 1.0 ChimeraX-ExperimentalCommands: 1.0 ChimeraX-FileHistory: 1.0.1 ChimeraX-FunctionKey: 1.0.1 ChimeraX-Geometry: 1.2 ChimeraX-gltf: 1.0 ChimeraX-Graphics: 1.1 ChimeraX-Hbonds: 2.4 ChimeraX-Help: 1.2.1 ChimeraX-HKCage: 1.3 ChimeraX-IHM: 1.1 ChimeraX-ImageFormats: 1.2 ChimeraX-IMOD: 1.0 ChimeraX-IO: 1.0.1 ChimeraX-ISOLDE: 1.5 ChimeraX-ItemsInspection: 1.0.1 ChimeraX-Label: 1.1.7 ChimeraX-LinuxSupport: 1.0.1 ChimeraX-ListInfo: 1.1.1 ChimeraX-Log: 1.1.5 ChimeraX-LookingGlass: 1.1 ChimeraX-Maestro: 1.8.2 ChimeraX-Map: 1.1.2 ChimeraX-MapData: 2.0 ChimeraX-MapEraser: 1.0.1 ChimeraX-MapFilter: 2.0 ChimeraX-MapFit: 2.0 ChimeraX-MapSeries: 2.1.1 ChimeraX-Markers: 1.0.1 ChimeraX-Mask: 1.0.1 ChimeraX-MatchMaker: 2.0.9 ChimeraX-MDcrds: 2.6 ChimeraX-MedicalToolbar: 1.0.2 ChimeraX-Meeting: 1.0.1 ChimeraX-MLP: 1.1 ChimeraX-mmCIF: 2.8 ChimeraX-MMTF: 2.2 ChimeraX-Modeller: 1.5.6 ChimeraX-ModelPanel: 1.3.6 ChimeraX-ModelSeries: 1.0.1 ChimeraX-Mol2: 2.0 ChimeraX-Mole: 1.0 ChimeraX-Morph: 1.0.1 ChimeraX-MouseModes: 1.1.1 ChimeraX-Movie: 1.0 ChimeraX-Neuron: 1.0 ChimeraX-Nucleotides: 2.0.3 ChimeraX-OpenCommand: 1.9.1 ChimeraX-PDB: 2.6.8 ChimeraX-PDBBio: 1.0 ChimeraX-PDBLibrary: 1.0.2 ChimeraX-PDBMatrices: 1.0 ChimeraX-PickBlobs: 1.0.1 ChimeraX-Positions: 1.0 ChimeraX-PresetMgr: 1.1 ChimeraX-PubChem: 2.1 ChimeraX-ReadPbonds: 1.0.1 ChimeraX-Registration: 1.1.1 ChimeraX-RemoteControl: 1.0 ChimeraX-RenumberResidues: 1.1 ChimeraX-ResidueFit: 1.0.1 ChimeraX-RestServer: 1.1 ChimeraX-RNALayout: 1.0 ChimeraX-RotamerLibMgr: 2.0.1 ChimeraX-RotamerLibsDunbrack: 2.0 ChimeraX-RotamerLibsDynameomics: 2.0 ChimeraX-RotamerLibsRichardson: 2.0 ChimeraX-SaveCommand: 1.5.1 ChimeraX-SchemeMgr: 1.0 ChimeraX-SDF: 2.0 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0 ChimeraX-SelInspector: 1.0 ChimeraX-SeqView: 2.7.2 ChimeraX-Shape: 1.0.1 ChimeraX-Shell: 1.0.1 ChimeraX-Shortcuts: 1.1.1 ChimeraX-ShowSequences: 1.0.1 ChimeraX-SideView: 1.0.1 ChimeraX-Smiles: 2.1 ChimeraX-SmoothLines: 1.0 ChimeraX-SpaceNavigator: 1.0 ChimeraX-StdCommands: 1.10 ChimeraX-STL: 1.0 ChimeraX-Storm: 1.0 ChimeraX-StructMeasure: 1.1 ChimeraX-Struts: 1.0.1 ChimeraX-Surface: 1.0 ChimeraX-SwapAA: 2.0.1 ChimeraX-SwapRes: 2.1.3 ChimeraX-TapeMeasure: 1.0 ChimeraX-Test: 1.0 ChimeraX-Toolbar: 1.1.2 ChimeraX-ToolshedUtils: 1.2.1 ChimeraX-Tug: 1.0.1 ChimeraX-UI: 1.24.3 ChimeraX-uniprot: 2.2.1 ChimeraX-UnitCell: 1.0.1 ChimeraX-ViewDockX: 1.1.4 ChimeraX-VIPERdb: 1.0 ChimeraX-Vive: 1.1 ChimeraX-VolumeMenu: 1.0.1 ChimeraX-VTK: 1.0 ChimeraX-WavefrontOBJ: 1.0 ChimeraX-WebCam: 1.0.1 ChimeraX-WebServices: 1.1.0 ChimeraX-Zone: 1.0.1 colorama: 0.4.5 cxservices: 1.2 cycler: 0.11.0 Cython: 0.29.32 debugpy: 1.6.4 decorator: 5.1.1 distro: 1.7.0 docutils: 0.19 entrypoints: 0.4 executing: 1.2.0 filelock: 3.7.1 fonttools: 4.38.0 funcparserlib: 1.0.1 grako: 3.16.5 h5py: 3.7.0 html2text: 2020.1.16 idna: 3.4 ihm: 0.33 imagecodecs: 2022.7.31 imagesize: 1.4.1 importlib-metadata: 5.1.0 ipykernel: 6.15.3 ipython: 8.4.0 ipython-genutils: 0.2.0 jedi: 0.18.1 Jinja2: 3.1.2 jupyter-client: 7.3.4 jupyter-core: 5.1.0 kiwisolver: 1.4.4 line-profiler: 3.5.1 lxml: 4.9.1 lz4: 4.0.2 MarkupSafe: 2.1.1 matplotlib: 3.5.2 matplotlib-inline: 0.1.6 msgpack: 1.0.4 nest-asyncio: 1.5.6 netCDF4: 1.6.0 networkx: 2.8.5 numexpr: 2.8.4 numpy: 1.23.1 openvr: 1.23.701 packaging: 21.3 ParmEd: 3.4.3 parso: 0.8.3 pep517: 0.13.0 pexpect: 4.8.0 pickleshare: 0.7.5 Pillow: 9.2.0 pip: 23.0 pkginfo: 1.8.3 platformdirs: 2.5.4 prompt-toolkit: 3.0.33 psutil: 5.9.1 ptyprocess: 0.7.0 pure-eval: 0.2.2 pycollada: 0.7.2 pydicom: 2.3.0 Pygments: 2.12.0 PyOpenGL: 3.1.5 PyOpenGL-accelerate: 3.1.5 pyparsing: 3.0.9 PyQt6-commercial: 6.3.1 PyQt6-Qt6: 6.3.2 PyQt6-sip: 13.4.0 PyQt6-WebEngine-commercial: 6.3.1 PyQt6-WebEngine-Qt6: 6.3.2 python-dateutil: 2.8.2 pytz: 2022.6 pyzmq: 24.0.1 qtconsole: 5.3.1 QtPy: 2.3.0 RandomWords: 0.4.0 requests: 2.28.1 scipy: 1.9.0 Send2Trash: 1.8.0 SEQCROW: 1.8.3 setuptools: 65.1.1 sfftk-rw: 0.7.2 six: 1.16.0 snowballstemmer: 2.2.0 sortedcontainers: 2.4.0 Sphinx: 5.1.1 sphinx-autodoc-typehints: 1.19.1 sphinxcontrib-applehelp: 1.0.2 sphinxcontrib-blockdiag: 3.0.0 sphinxcontrib-devhelp: 1.0.2 sphinxcontrib-htmlhelp: 2.0.0 sphinxcontrib-jsmath: 1.0.1 sphinxcontrib-qthelp: 1.0.3 sphinxcontrib-serializinghtml: 1.1.5 stack-data: 0.6.2 tables: 3.7.0 tifffile: 2022.7.31 tinyarray: 1.2.4 tomli: 2.0.1 tornado: 6.2 traitlets: 5.3.0 urllib3: 1.26.13 wcwidth: 0.2.5 webcolors: 1.12 wheel: 0.37.1 wheel-filename: 1.4.1 zipp: 3.11.0
Change History (2)
comment:1 by , 9 months ago
Component: | Unassigned → Input/Output |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Multiple movies conflict with each other |
comment:2 by , 9 months ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.
Fixed.
The ChimeraX movie recording command saves the movie images in tempfile.gettempdir() using the Python tempfile module. On Linux this is probably /tmp although on other operating systems like Mac this is a process specific directory. To avoid two movies using the same image file names ChimeraX adds 4 random characters (alpha-numeric) to the image file names. Unfortunately in your case I guess that the same 4 random characters were used because the Python random number generator seed was not set. I added a line of code to set the Python random number generator seed using the current system time so it is extremely unlikely you will get the same movie image file names. Still it is possible and if you wanted to be sure the image files have separate names you can use the "movie record" command "directory" or "pattern" (image file name prefix) to record your movies simultaneously to different directories or with different file names.