Skip to content

mmSoler crashes on imageCache initialization in maya 2026 on almalinux 9.6/9.8 without GPU #285

Description

@quitinit

Bug description

We are experiencing a bug with imageCache initialization with a very specific setup. When running a virtual x-server display without a GPU maya will crash on initialization with a SIGSEGV. The crashlog is the following

This plugin does not support createPlatformOpenGLContext!
Warning: mmSolver: Shader Manager is unavailable, cannot load Viewport Renderer.
WARNING: mmSolver: Shader Manager is unavailable, cannot load Viewport Renderer.
mmSolver.startup : INFO : MM Solver Startup...
mmSolver.tools.imagecache.initialise : INFO : MM Solver Initialize Image Cache...
Stack trace:
  XML_ParserFree
  /lib64/libgallium-25.2.7.so(+0x7a42b1) [0x7f3583e872b1]
  /lib64/libgallium-25.2.7.so(+0x7a605f) [0x7f3583e8905f]
  driCreateNewScreen3
  /lib64/libGLX_mesa.so.0(+0x1a595) [0x7f3598795595]
  /lib64/libGLX_mesa.so.0(+0x1b697) [0x7f3598796697]
  /lib64/libGLX_mesa.so.0(+0x1fcb1) [0x7f359879acb1]
  /lib64/libGLX_mesa.so.0(+0x20e63) [0x7f359879be63]
  /lib64/libGLX_mesa.so.0(+0x1c638) [0x7f3598797638]
  GLStartupContext::GLStartupContext(WindowWrapper const&, __GLXcontextRec*)
  OGSMayaRenderer::initialize(OGSRenderer::DeviceAPI, int, void*, void*, void*, bool)
  OGSMayaBridge::CreateOGSRenderer()
  Autodesk::Maya::OpenMaya20260000::MHWRender::MRenderer::initialize(bool)
  Autodesk::Maya::OpenMaya20260000::MHWRender::MRenderer::theRenderer(bool)
  mmsolver::MMMemoryGPUCmd::doIt(Autodesk::Maya::OpenMaya20260000::MArgList const&)
  THcommandObject::doIt(TargList&)
  TmetaCommand::doCommand(TargList&)
  TpythonInterpreter::dispatchMayaCommand(TmetaCommand&, _object*, _object*)
  TpythonInterpreter::genericDispatchFunction(_object*, _object*, _object*)
  /usr/autodesk/maya2026/bin/../lib/libpython3.11.so.1.0(+0x18f363) [0x7f35c8818363]
  _PyObject_Call
  _PyEval_EvalFrameDefault
  /usr/autodesk/maya2026/bin/../lib/libpython3.11.so.1.0(+0x21a281) [0x7f35c88a3281]
  PyEval_EvalCode
  TpythonInterpreter::executeCommand(Tstring const&, bool, bool, TinterpreterResult*)
  /usr/autodesk/maya2026/bin/../lib/libShared.so(+0x4e2d02) [0x7f35c49f1d02]
  /usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0x94c3f) [0x7f35c06d8c3f]
  /usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0xbbe59) [0x7f35c06ffe59]
  /usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0xdd50c) [0x7f35c072150c]
  /usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0xbbe59) [0x7f35c06ffe59]
  /usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0xbc021) [0x7f35c0700021]
  SophiaExecutable::evaluate(void*)
  TcommandEngine::executeCommand(Tstring const&, bool, bool, TmelCmdResult*, unsigned int)
  TscriptActionMixin::execute(Tevent const&, std::unique_ptr<TinterpreterResult, std::default_delete<TinterpreterResult> >*)
  /usr/autodesk/maya2026/bin/../lib/libExtensionLayer.so(+0x348b97) [0x7f35c1107b97]
  /usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0x94c3f) [0x7f35c06d8c3f]
  /usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0xbbe59) [0x7f35c06ffe59]
  /usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0xbc021) [0x7f35c0700021]
  SophiaExecutable::evaluate(void*)
  TcommandEngine::executeCommand(Tstring const&, bool, bool, TmelCmdResult*, unsigned int)
1Writing crash report in /usr/tmp/untitled[Recovered-.2026-07-16-10.08].crash
Result: untitled

What should happen

Maya should print a message that no GPU could be found and revert back to only CPU evaluation

Our Setup

OS: AlmaLinux 9.6
Maya: Maya 2026 Update 3
GPU: None
Xvfb running on Display :0

How to reproduce the issue

I built a dockerfile for this purpose.

FROM almalinux:9.6

RUN dnf -y update && \
    dnf -y install epel-release && \
    dnf clean all

# General packages

RUN dnf install --assumeyes \
    glibc \
    libSM \
    libICE \
    zlib \
    openssl-libs \
    nss \
    libnsl \
    dbus \
    lsb_release \
    pcre-utf16 \
    pciutils \
    libXdamage

# Multimedia Packages

RUN dnf install --assumeyes \
    mesa-libGL \
    mesa-libGL-devel \
    mesa-libGLU \
    mesa-libGLw \
    audiofile-devel \
    e2fsprogs-libs \
    libcap \
    libdrm \
    libmng \
    speech-dispatcher \
    cups \
    libpng15

# X Window – Xcb – X11 Packages

RUN dnf install --assumeyes \
    libX11 \
    libXScrnSaver \
    libXau \
    libXcomposite \
    libXcursor \
    libXext \
    libXfixes \
    libXi \
    libXinerama \
    libXmu \
    libXp \
    libXpm \
    libXrandr \
    libXrender \
    libXt \
    libXtst \
    libxcb \
    libxkbcommon \
    libxkbcommon-x11 \
    libxshmfence \
    xcb-util \
    xcb-util-image \
    xcb-util-keysyms \
    xcb-util-renderutil \
    xcb-util-wm \
    xorg-x11-server-Xorg \
    xorg-x11-server-Xvfb

# Install fonts needed by Maya.

# This is probably only needed by the GUI (which we will not open),

# but it's good to have everything needed, just in case.

RUN dnf install --assumeyes \
    fontconfig \
    freetype \
    xorg-x11-fonts-ISO8859-1-100dpi \
    xorg-x11-fonts-ISO8859-1-75dpi \
    liberation-mono-fonts \
    liberation-fonts-common \
    liberation-sans-fonts \
    liberation-serif-fonts

# OpenSource "mesa" OpenGL Driver.

RUN dnf install --assumeyes \
    mesa-libGLw \
    mesa-libGLU \
    mesa-libGL-devel \
    mesa-libEGL-devel \
    mesa-libGLES-devel \
    mesa-libGLU-devel \
    mesa-libGLw-devel \
    libglvnd \
    libglvnd-opengl \
    libglvnd-egl \
    libglvnd-glx \
    libglvnd-gles \
    libglvnd-core-devel \
    libglvnd-devel


RUN dnf install --assumeyes \
    libva \
    libvdpau

# Install latest stable Rust with 'rustup'.

#

# TODO: Define a minimum Rust version to install.

RUN curl https://sh.rustup.rs -sSf | sh -s -- -y \
    && source ${HOME}/.cargo/env
ENV PATH=/root/.cargo/bin:$PATH

# Ninja Build system, for faster builds, with better logs.

RUN dnf --enablerepo=crb install --assumeyes ninja-build

# Development tools for Maya 2026.

RUN dnf install --assumeyes \
    git \
    lsb_release \
    python39 \
    cmake \
    clang-tools-extra \
    gcc-c++ 

# Install Maya from archive.

ADD ./external/archives/Autodesk_Maya_2026_3_Update_Linux_64bit.tgz /temp

# 'rpm --force' is needed to override the dependency conflict of using

# 'tcl' (which is required by 'gcc-toolset-11', because it's a

# "software collection" using environment modules written in tcl).

RUN rpm -Uvh --force /temp/Packages/Maya2026\*.rpm && rm -r /temp
ENV MAYA_LOCATION=/usr/autodesk/maya/
ENV PATH=$MAYA_LOCATION/bin:$PATH

RUN dnf install --assumeyes \
    zip \
    unzip \
    tar

# Workaround for Maya "Segmentation fault (core dumped)" issue.

# See https://forums.autodesk.com/t5/maya-general/render-crash-on-linux/m-p/5608552/highlight/true

ENV MAYA_DISABLE_CIP=1

WORKDIR /mmSolver

# Maya 2026 development environment.

#ENTRYPOINT [ "scl", "enable", "gcc-toolset-11" ]

  • Copy this dockerfile into a file. In my case I'll do it to ./share/docker/alma9.Dockerfile
  • Download Maya 2026 Update 3 for linux and place it into ./external/archives
  • Run Docker build
docker build -t alma9 -f share/docker/alma9.Dockerfile .
  • Enter Docker Container and build mmSolver
./scripts/build_mmSolver_linux_maya2026.bash
  • Run Xvfb under display :0
Xvfb :0 -screen 0 1920x1080x24 &
export DISPLAY=:0
  • start maya and load the plugin. You should get a crash
mayapy -c "import maya.standalone;maya.standalone.initialize();import maya.cmds as cmds;cmds.loadPlugin('mmSolver',quiet=True)"

Metadata

Metadata

Labels

bugmaya toolA user tool inside Maya.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions