Opened 4 weeks ago

Closed 4 weeks ago

#19071 closed defect (nonchimerax)

Mac ChimeraX spews "WARNING:" messages to terminal on exit

Reported by: goddard@… 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:        macOS-15.6.1-arm64-arm-64bit
ChimeraX Version: 1.11.dev202510070157 (2025-10-07 01:57:14 UTC)
Description
Starting Mac ChimeraX from a shell command-line and quitting as soon as it starts writes to the shell:

WARNING: 
WARNING: 
WARNING: 
WARNING: 
WARNING: 
WARNING: 
WARNING: 
WARNING: 

The messages write when quitting not before.
Does not happen with ChimeraX 1.10 (June 26, 2025)
Happens in May 22, 2025 daily build.
Does not happen in April 23, 2025 daily build.




Log:
UCSF ChimeraX version: 1.11.dev202510070157 (2025-10-07)  
© 2016-2025 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  




OpenGL version: 4.1 Metal - 89.4
OpenGL renderer: Apple M2 Ultra
OpenGL vendor: Apple

Python: 3.11.9
Locale: en_US.UTF-8
Qt version: PyQt6 6.9.1, Qt 6.9.0
Qt runtime version: 6.9.2
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: Mac Studio
      Model Identifier: Mac14,14
      Model Number: Z1800003VLL/A
      Chip: Apple M2 Ultra
      Total Number of Cores: 24 (16 performance and 8 efficiency)
      Memory: 64 GB
      System Firmware Version: 11881.140.96
      OS Loader Version: 11881.140.96

Software:

    System Software Overview:

      System Version: macOS 15.6.1 (24G90)
      Kernel Version: Darwin 24.6.0
      Time since boot: 48 days, 16 hours, 10 minutes

Graphics/Displays:

    Apple M2 Ultra:

      Chipset Model: Apple M2 Ultra
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 60
      Vendor: Apple (0x106b)
      Metal Support: Metal 3
      Displays:
        PHL 278B1:
          Resolution: 3840 x 2160 (2160p/4K UHD 1 - Ultra High Definition)
          UI Looks like: 1920 x 1080 @ 60.00Hz
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Rotation: Supported


Installed Packages:
    alabaster: 1.0.0
    appdirs: 1.4.4
    appnope: 0.1.4
    asttokens: 3.0.0
    babel: 2.17.0
    beautifulsoup4: 4.13.5
    blockdiag: 3.0.0
    blosc2: 3.9.1
    build: 1.3.0
    certifi: 2025.7.14
    cftime: 1.6.4.post1
    charset-normalizer: 3.4.3
    ChimeraX-AddCharge: 1.5.20
    ChimeraX-AddH: 2.2.8
    ChimeraX-AlignmentAlgorithms: 2.0.2
    ChimeraX-AlignmentHdrs: 3.6.1
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 3.0.2
    ChimeraX-AlphaFold: 1.0.1
    ChimeraX-AltlocExplorer: 1.1.2
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Aniso: 1.3.2
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.60.17
    ChimeraX-AtomicLibrary: 14.2
    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
    ChimeraX-ChangeChains: 1.1
    ChimeraX-CheckWaters: 1.5
    ChimeraX-ChemGroup: 2.0.2
    ChimeraX-Clashes: 2.3
    ChimeraX-clix: 0.2.4
    ChimeraX-ColorActions: 1.0.5
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.8
    ChimeraX-CommandLine: 1.3.0
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.11.dev202510070157
    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.1.4
    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.7.1
    ChimeraX-Label: 1.2
    ChimeraX-ListInfo: 1.2.2
    ChimeraX-Log: 1.2.1
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.2
    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-MatchMaker: 2.2.2
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.17.1
    ChimeraX-MedicalToolbar: 1.1
    ChimeraX-Meeting: 1.0.1
    ChimeraX-Minimize: 1.3.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.16
    ChimeraX-MMTF: 2.2
    ChimeraX-ModelArchive: 1.0
    ChimeraX-Modeller: 1.5.22
    ChimeraX-ModelPanel: 1.6
    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.1
    ChimeraX-OrthoPick: 1.0.1
    ChimeraX-PDB: 2.7.11
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.5
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PhenixUI: 1.3.9
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1.3
    ChimeraX-ProfileGrids: 1.4
    ChimeraX-PubChem: 2.2
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.6.5
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.3.1
    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.2.2
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0.3
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-Segmentations: 3.5.10
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.17.2
    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-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.19.1
    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.2
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-TaskManager: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.2.3
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.48.4
    ChimeraX-Umap: 1.0
    ChimeraX-uniprot: 2.3.1
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDock: 1.5.1
    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
    colorama: 0.4.6
    comm: 0.2.3
    contourpy: 1.3.3
    coverage: 7.10.7
    cxservices: 1.2.3
    cycler: 0.12.1
    Cython: 3.1.4
    debugpy: 1.8.17
    decorator: 5.2.1
    docutils: 0.21.2
    executing: 2.2.1
    filelock: 3.19.1
    fonttools: 4.60.1
    funcparserlib: 2.0.0a0
    glfw: 2.10.0
    grako: 3.16.5
    h5py: 3.14.0
    html2text: 2025.4.15
    idna: 3.10
    ihm: 2.2
    imagecodecs: 2024.6.1
    imagesize: 1.4.1
    iniconfig: 2.1.0
    ipykernel: 6.30.1
    ipython: 9.5.0
    ipython_pygments_lexers: 1.1.1
    ipywidgets: 8.1.7
    jedi: 0.19.2
    Jinja2: 3.1.6
    joblib: 1.5.0
    jupyter_client: 8.6.3
    jupyter_core: 5.8.1
    jupyterlab_widgets: 3.0.15
    kiwisolver: 1.4.9
    line_profiler: 5.0.0
    llvmlite: 0.44.0
    lxml: 6.0.2
    lz4: 4.3.2
    Markdown: 3.8.2
    MarkupSafe: 3.0.3
    matplotlib: 3.10.3
    matplotlib: 3.10.5
    matplotlib-inline: 0.1.7
    msgpack: 1.1.1
    narwhals: 2.6.0
    ndindex: 1.10.0
    nest-asyncio: 1.6.0
    netCDF4: 1.6.5
    networkx: 3.3
    nibabel: 5.2.0
    nptyping: 2.5.0
    numba: 0.61.2
    numexpr: 2.13.1
    numpy: 2.3.3
    numpy: 1.26.4
    OpenMM: 8.2.0
    openvr: 1.26.701
    packaging: 25.0
    ParmEd: 4.2.2
    parso: 0.8.5
    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.4.0
    plotly: 6.3.1
    pluggy: 1.6.0
    prompt_toolkit: 3.0.52
    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
    pydicom: 2.4.4
    Pygments: 2.18.0
    pyKVFinder: 0.8.3
    pynmrstar: 3.3.6
    pynndescent: 0.5.13
    pynrrd: 1.0.0
    PyOpenGL: 3.1.10
    PyOpenGL-accelerate: 3.1.10
    pyopenxr: 1.1.4501
    pyparsing: 3.2.5
    pyproject_hooks: 1.2.0
    PyQt6-commercial: 6.9.1
    PyQt6-Qt6: 6.9.2
    PyQt6-WebEngine-commercial: 6.9.0
    PyQt6-WebEngine-Qt6: 6.9.2
    PyQt6_sip: 13.10.2
    pytest: 8.4.2
    pytest-cov: 7.0.0
    python-dateutil: 2.9.0.post0
    pytz: 2025.2
    pyzmq: 27.1.0
    qtconsole: 5.7.0
    QtPy: 2.4.3
    qtshim: 1.2
    RandomWords: 0.4.0
    requests: 2.32.5
    roman-numerals-py: 3.1.0
    scikit-learn: 1.6.1
    scipy: 1.14.0
    Send2Trash: 1.8.3
    SEQCROW: 1.9.2
    setuptools: 80.9.0
    sfftk-rw: 0.8.1
    six: 1.17.0
    snowballstemmer: 3.0.1
    sortedcontainers: 2.4.0
    soupsieve: 2.8
    Sphinx: 8.2.3
    sphinx-autodoc-typehints: 3.2.0
    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
    stack-data: 0.6.3
    superqt: 0.7.6
    tables: 3.10.2
    tcia_utils: 1.5.1
    threadpoolctl: 3.6.0
    tifffile: 2025.3.13
    tinyarray: 1.2.5
    tomlkit: 0.13.3
    tornado: 6.5.2
    tqdm: 4.67.1
    traitlets: 5.14.3
    typing_extensions: 4.15.0
    tzdata: 2025.2
    umap-learn: 0.5.7
    urllib3: 2.5.0
    wcwidth: 0.2.14
    webcolors: 24.11.1
    wheel: 0.45.1
    wheel-filename: 1.4.2
    widgetsnbextension: 4.0.14

Change History (7)

comment:1 by Tom Goddard, 4 weeks ago

Component: UnassignedInput/Output
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionMac ChimeraX spews "WARNING:" messages to terminal on exit

comment:2 by Tom Goddard, 4 weeks ago

The WARNING messages are written after UI.quit() returns and after QApplication.quit() is called, and are still issued if I kill the two QWebEngine chromium subprocess before quitting ChimeraX.

comment:3 by Tom Goddard, 4 weeks ago

Curiously quitting with command quit produces only 7 WARNING messages while using the main window title bar close button produces 8.

Also quitting from nogui mode with quit command also produces 8 warning messages. So does not seem related to Qt.

comment:4 by Tom Goddard, 4 weeks ago

I added an atexit routine that prints to stderr just before nogui mode calls sys.exit(0) and the WARNING messages appear after that message. Calling os.abort() instead of sys.exit() gives no WARNING messages. Not sure what Python does after sys.exit(). Maybe WARNING messages come from unloading some dynamic libraries.

comment:5 by Tom Goddard, 4 weeks ago

If I call sys.stderr.close() right before sys.exit() then I get no WARNING messages. If I set sys.stderr = None before calling sys.exit() I still get the WARNING messages. So it appears Python is not writing the WARNING messages, instead it is C++ directly writing to std::cerr. grep does not finding any WARNING string in site-packages/chimerax C++ code.

comment:6 by Tom Goddard, 4 weeks ago

Start ChimeraX with --nogui --exit causes 8 blank lines to be written with no WARNING text. Closing sys.stdout (not sys.stderr) suppresses those 8 blank lines.

The 8 blank lines do not occur if I exit main before the line

sess.toolshed.bootstrap_bundles(sess, opts.safe_mode)

but do get written if I exit right after that line. In bootstrap_bundles() it is the _init_custom(session) call that is needed to get the 8 lines.

The custom init of SEQCROW is what leads to the 8 blank lines or 8 warning messages. Doing "toolshed uninstall SEQCROW" prevents the WARNING messages or blank lines at exit.

comment:7 by Tom Goddard, 4 weeks ago

Resolution: nonchimerax
Status: assignedclosed

I'll make a new ticket assigned to Tony Schaefer to track down why SEQCROW is writing "WARNING" on exit.

Note: See TracTickets for help on using tickets.