#956454 gmsh: Seg fault doing almost anything related to radeonsi_dri.so

Package:
gmsh
Source:
gmsh
Description:
Three-dimensional finite element mesh generator
Submitter:
Marc
Date:
2024-06-08 09:06:03 UTC
Severity:
important
#956454#5
Date:
2020-04-11 13:03:50 UTC
From:
To:
Dear Maintainer,

Gmsh is very unstable on two systems both with amdgpu graphics.  I start by
adding some points, then trying to make a line causes a segmentation fault.
Actually seemingly right-clicking causes the same problem. A lot of menu items
do this.

The error I get when running gmsh from a terminal emulator is Segmentation
Fault.

When I run with gdb I get the following:
Thread 1 "gmsh" received signal SIGSEGV, Segmentation fault.
0x00007fffe3459874 in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so

I have been trying to figure out why the radeon driver is implicated on both
systems that should be running amdgpu. I tried startup options to force use of
amdgpu but no avail.




Let me know how I can get more info to you. I'm not a developer.

#956454#10
Date:
2020-11-16 22:55:26 UTC
From:
To:
Dear Maintainer,

Gmsh segfaults at startup, even for systems without the radeon driver (I am
using nouveau). Here is a transcript:

$ gmsh
Segmentation fault

Running gdb reports the error in:
Thread 1 "gmsh" received signal SIGSEGV, Segmentation fault.
0x00007ffff66e516e in XFillRectangle () from /usr/lib/x86_64-linux-gnu/libX11.so.6

and the backtrace is:
#0  0x00007ffff66e516e in XFillRectangle () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#1  0x00007ffff68bed9a in Fl_Graphics_Driver::rectf(int, int, int, int) () from /usr/lib/x86_64-linux-gnu/libfltk.so.1.3
#2  0x00007ffff7612a05 in drawContextFltkStringTexture::queueString::flush() () from /usr/lib/x86_64-linux-gnu/libgmsh.so.4.6
#3  0x00007ffff75f4092 in openglWindow::draw() () from /usr/lib/x86_64-linux-gnu/libgmsh.so.4.6
#4  0x00007ffff69439f5 in Fl_Gl_Window::flush() () from /usr/lib/x86_64-linux-gnu/libfltk_gl.so.1.3
#5  0x00007ffff6848117 in Fl::flush() () from /usr/lib/x86_64-linux-gnu/libfltk.so.1.3
#6  0x00007ffff6849170 in Fl::wait(double) () from /usr/lib/x86_64-linux-gnu/libfltk.so.1.3
#7  0x00007ffff684924d in Fl::check() () from /usr/lib/x86_64-linux-gnu/libfltk.so.1.3
#8  0x00007ffff6f4d988 in Msg::Direct(char const*, ...) () from /usr/lib/x86_64-linux-gnu/libgmsh.so.4.6
#9  0x00007ffff75c428d in FlGui::instance(int, char**, bool, void (*)(char const*, ...)) () from /usr/lib/x86_64-linux-gnu/libgmsh.so.4.6
#10 0x00007ffff6f3c8d8 in GmshFLTK(int, char**) () from /usr/lib/x86_64-linux-gnu/libgmsh.so.4.6
#11 0x00007ffff6f3dafb in GmshMainFLTK(int, char**) () from /usr/lib/x86_64-linux-gnu/libgmsh.so.4.6
#12 0x00007ffff6990cca in __libc_start_main (main=0x555555555050 <main>, argc=1, argv=0x7fffffffde88, init=<optimized out>,
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffde78) at ../csu/libc-start.c:308
#13 0x000055555555508a in _start ()

Best Regards,
Thomas

#956454#15
Date:
2024-03-05 07:15:39 UTC
From:
To:
Dear Maintainer,
same bug (or a very similar one) is stil present in gmsh4.12.

Opening a fresh gmsh window (without default untitled.geo file in HOME
folder),
I am able to navigate, zoom, rotate the view, etc...
After adding points and lines seems OK too,
but adding a 3D object (e.g., a sphere) makes the gmsh application
crash.

However the library appears usable using the Python API, as long as no
graphical rendering is involved.

Example of backtrace of crash:

(gdb) bt
#0  0x00007fffe6f30f60 in ?? () from /lib/x86_64-linux-gnu/libLLVM-17.so.1
#1  0x00007fffe6f735f7 in LLVMBuildBitCast () from /lib/x86_64-linux-gnu/libLLVM-17.so.1
#2  0x00007fffee112402 in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#3  0x00007fffee113ceb in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#4  0x00007fffee11649b in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#5  0x00007fffee0e754c in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#6  0x00007fffee09810b in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#7  0x00007fffee098bfb in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#8  0x00007fffee09c358 in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#9  0x00007fffee0324cb in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#10 0x00007fffee02b386 in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#11 0x00007fffee02b815 in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#12 0x00007fffee02bcbd in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#13 0x00007fffedde688d in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#14 0x00007fffeddecc8b in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#15 0x00007fffedcce552 in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#16 0x00007fffedcfbeb9 in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#17 0x00007ffff75bedef in drawContext::drawSphere(double, double, double, double, int) ()
   from /lib/x86_64-linux-gnu/libgmsh.so.4.12
#18 0x00007ffff75af5d2 in drawGRegion::operator()(GRegion*) () from /lib/x86_64-linux-gnu/libgmsh.so.4.12
#19 0x00007ffff75ad6dc in drawContext::drawGeom() () from /lib/x86_64-linux-gnu/libgmsh.so.4.12
#20 0x00007ffff75a297b in drawContext::select(int, bool, bool, bool, int, int, int, int, std::vector<GVertex*, std::allocator<GVertex*> >&, std::vector<GEdge*, std::allocator<GEdge*> >&, std::vector<GFace*, std::allocator<GFace*> >&, std::vector<GRegion*, std::allocator<GRegion*> >&, std::vector<MElement*, std::allocator<MElement*> >&, std::vector<SPoint2, std::allocator<SPoint2> >&, std::vector<PView*, std::allocator<PView*> >&) ()
   from /lib/x86_64-linux-gnu/libgmsh.so.4.12
#21 0x00007ffff74bd136 in openglWindow::_select(int, bool, bool, bool, int, int, int, int, std::vector<GVertex*, std::allocator<GVertex*> >&, std::vector<GEdge*, std::allocator<GEdge*> >&, std::vector<GFace*, std::allocator<GFace*> >&, std::vector<GRegion*, std::allocator<GRegion*> >&, std::vector<MElement*, std::allocator<MElement*> >&, std::vector<SPoint2, std::allocator<SPoint2> >&, std::vector<PView*, std::allocator<PView*> >&) ()
   from /lib/x86_64-linux-gnu/libgmsh.so.4.12
#22 0x00007ffff74bea3f in openglWindow::handle(int) () from /lib/x86_64-linux-gnu/libgmsh.so.4.12
#23 0x00007ffff67454c9 in ?? () from /lib/x86_64-linux-gnu/libfltk.so.1.3
#24 0x00007ffff672d233 in ?? () from /lib/x86_64-linux-gnu/libfltk.so.1.3
#25 0x00007ffff672f47a in Fl::handle_(int, Fl_Window*) () from /lib/x86_64-linux-gnu/libfltk.so.1.3
#26 0x00007ffff67917aa in fl_wait(double) () from /lib/x86_64-linux-gnu/libfltk.so.1.3
#27 0x00007ffff672eb66 in Fl::wait(double) () from /lib/x86_64-linux-gnu/libfltk.so.1.3
#28 0x00007ffff672ec25 in Fl::run() () from /lib/x86_64-linux-gnu/libfltk.so.1.3
#29 0x00007ffff68456ca in __libc_start_call_main (main=main@entry=0x555555555050 <main>, argc=argc@entry=1,
    argv=argv@entry=0x7fffffffdf68) at ../sysdeps/nptl/libc_start_call_main.h:58
#30 0x00007ffff6845785 in __libc_start_main_impl (main=0x555555555050 <main>, argc=1, argv=0x7fffffffdf68,
    init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdf58)
    at ../csu/libc-start.c:360
#31 0x0000555555555081 in _start ()

#956454#20
Date:
2024-05-06 20:29:27 UTC
From:
To:
Dear Maintainer,
it seems that the spurious crash only occurs when "mouse selection" is
enabled (using the esc keybinding).
This may relate to the call to openglWindow::_select In the traceback
provided previously

#21 0x00007ffff74bd136 in openglWindow::_select

#956454#25
Date:
2024-06-08 09:03:37 UTC
From:
To:
Hi Fabrice,
can you report the crash upstream, and see what they suggest?

I definitely don't have the expertise to help with that, and maybe not even the
right graphic card to reproduce the crash.

Cheers,
Francesco