# Volume rendering broken in latest Linux previews?

**URL:** <https://discourse.slicer.org/t/volume-rendering-broken-in-latest-linux-previews/46974>\
**Category:** Support\
**Created:** [May 8, 2026, 6:49pm UTC](https://discourse.slicer.org/t/volume-rendering-broken-in-latest-linux-previews/46974 "2026-05-08T18:49:10Z")\
**Posts on this page:** 1\
**Showing post:** 21

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [May 12, 2026, 12:57pm UTC](https://discourse.slicer.org/t/volume-rendering-broken-in-latest-linux-previews/46974/21 "2026-05-12T12:57:00Z")

</div>

My Claude found this which seems relevant: [Cannot import gmsh Python package](https://discourse.slicer.org/t/cannot-import-gmsh-python-package/29344)

It also came up with all these suggestions.

> 🤖 The rest of this post is AI-generated content.

## Concrete debugging plan (what I’d ask Murat to run)

1. **Capture a real backtrace, not just frame 0:**

```auto
ulimit -c unlimited
./Slicer # reproduce crash
coredumpctl gdb # or: gdb ./bin/SlicerApp-real core
(gdb) bt full
(gdb) info sharedlibrary
(gdb) info proc mappings

```

Frame 0 alone tells us nothing about the caller; `bt full` will show which Slicer/VTK code fed garbage into the regex.  
2. **Identify which libstdc++ is actually loaded at the crash site:**

```auto
cd Slicer-5.11.0-2026-05-05-linux-amd64
LD_DEBUG=libs ./Slicer 2>&1 | grep -E 'libstdc\+\+|libgcc_s' | head
ldd bin/SlicerApp-real | grep -E 'stdc\+\+|gcc_s'
strings -a $(ldd bin/SlicerApp-real | awk '/libstdc\+\+/{print $3}') \
  | grep -E '^GLIBCXX_[0-9]' | sort -V | tail
strings -a /usr/lib/x86_64-linux-gnu/libstdc++.so.6 \
  | grep -E '^GLIBCXX_[0-9]' | sort -V | tail

```

If those two GLIBCXX max versions differ, that’s the smoking gun.  
3. **Run with a clean environment to rule out conda contamination:**

```auto
env -i HOME=$HOME PATH=/usr/bin:/bin DISPLAY=$DISPLAY \
    LANG=C.UTF-8 LC_ALL=C.UTF-8 \
    ./Slicer

```

If that fixes it, walk `printenv | grep -E 'LD_|PYTHON|CONDA'` to find the offending var.  
4. **Check the locale path** (cheap and worth ruling out):

```auto
locale ; locale -a | grep -i utf

```

1. **Bisect the factory builds.** [download.slicer.org](http://download.slicer.org) keeps weekly Linux previews; install three or four (e.g. 2026-04-01, 2026-04-15, 2026-04-28, 2026-05-05) and find the first that crashes on Murat’s box. Then `git log --oneline <good_rev>..<bad_rev>` on Slicer + look at Superbuild revisions of VTK/Qt for that span. (The thread does _not_ yet identify a regressing commit, despite what the WebFetch summary claimed.)
2. **If frame 0’s `bt full` shows the regex string is empty / null / garbage** , the bug is most likely on the _Slicer_ side (a recent change that passes an uninitialized `std::string` to `std::regex`), not glibc. Same fix shape as the 2022 `vtkSlicerVolumeRenderingLogic::CreateROINode` regression in 2022-01-10.

## Fix paths

- **If libstdc++ mismatch is confirmed** (step 2): ship a vendored `libstdc++.so.6` in `Slicer-5.11/lib/` and add it to the launcher’s `LD_LIBRARY_PATH` ahead of system. Slicer used to do this; if it was dropped, that’s the regression. Cheapest verification: `cp /usr/lib/.../libstdc++.so.6 lib/Slicer-5.11/` on the build machine, re‑run, see if the crash goes away.
- **If it’s a conda/Anaconda env pollution:** add a launcher guard that scrubs `LD_LIBRARY_PATH` entries containing `anaconda`/`miniconda`/`conda` before exec, and document it.
- **If it’s a real null‑string fed into `std::regex`:** fix the call site (`bt full` will name it). No glibc involvement.
- **For chir.set’s Wayland/GLX issue** (separate): have Slicer’s launcher detect `XDG_SESSION_TYPE=wayland` + Qt5 and default `QT_QPA_PLATFORM=xcb`, since Slicer’s Qt5 has no working Wayland path with the VTK GL contexts.

Want me to draft the launcher patch for the Wayland default, or to scaffold a `slicer-debug-libs.sh` script that runs steps 1–4 in one go?

---

_[View the full topic](https://discourse.slicer.org/t/volume-rendering-broken-in-latest-linux-previews/46974)._
