I'm able to reproduce a crash with a very similar stack on Fedora 22, using the glium Rust OpenGL bindings: https://github.com/tomaka/glium
Here's the stack trace I get:
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff02f66fc in pushbuf_kref () from /lib64/libdrm_nouveau.so.2 Missing separate debuginfos, use: dnf debuginfo-install bzip2-libs-1.0.6-14.fc22.x86_64 elfutils-libelf-0.163-4.fc22.x86_64 elfutils-libs-0.163-4.fc22.x86_64 expat-2.1.0-10.fc22.x86_64 libattr-2.4.47-10.fc22.x86_64 libcap-2.24-7.fc22.x86_64 libdrm-2.4.61-3.fc22.x86_64 libedit-3.1-12.20150325cvs.fc22.x86_64 libffi-3.1-7.fc22.x86_64 libgcc-5.1.1-4.fc22.x86_64 libpciaccess-0.13.3-0.3.fc22.x86_64 libselinux-2.3-10.fc22.x86_64 libstdc++-5.1.1-4.fc22.x86_64 libwayland-client-1.7.0-1.fc22.x86_64 libwayland-server-1.7.0-1.fc22.x86_64 libX11-1.6.3-1.fc22.x86_64 libX11-devel-1.6.3-1.fc22.x86_64 libXau-1.0.8-4.fc22.x86_64 libxcb-1.11-8.fc22.x86_64 libXcursor-devel-1.1.14-4.fc22.x86_64 libXdamage-1.1.4-6.fc22.x86_64 libXext-1.3.3-2.fc22.x86_64 libXfixes-5.0.1-4.fc22.x86_64 libXi-devel-1.7.4-2.fc22.x86_64 libXrender-0.9.9-1.fc22.x86_64 libxshmfence-1.2-1.fc22.x86_64 libXxf86vm-devel-1.1.4-1.fc22.x86_64 llvm-libs-3.5.0-9.fc22.x86_64 mesa-dri-drivers-10.6.9-1.20151008.fc22.x86_64 mesa-libEGL-10.6.9-1.20151008.fc22.x86_64 mesa-libgbm-10.6.9-1.20151008.fc22.x86_64 mesa-libGL-10.6.9-1.20151008.fc22.x86_64 mesa-libglapi-10.6.9-1.20151008.fc22.x86_64 ncurses-libs-5.9-18.20150214.fc22.x86_64 pcre-8.37-5.fc22.x86_64 systemd-libs-219-25.fc22.x86_64 xz-libs-5.2.0-2.fc22.x86_64 zlib-1.2.8-7.fc22.x86_64 (gdb) where #0 0x00007ffff02f66fc in pushbuf_kref () from /lib64/libdrm_nouveau.so.2 #1 0x00007ffff02f6db9 in pushbuf_validate () from /lib64/libdrm_nouveau.so.2 #2 0x00007ffff0c28ecd in nvc0_state_validate () from /usr/lib64/dri/nouveau_dri.so #3 0x00007ffff0c33670 in nvc0_draw_vbo () from /usr/lib64/dri/nouveau_dri.so #4 0x00007ffff08ec867 in st_draw_vbo () from /usr/lib64/dri/nouveau_dri.so #5 0x00007ffff08be81c in vbo_draw_arrays () from /usr/lib64/dri/nouveau_dri.so #6 0x00005555555b21b7 in tutorial_02::gl::Gl::DrawArrays (self=0x7ffff6868010, mode=4, first=0, count=3) at target/debug/build/glium-e8f4c0a69cec8d2d/out/gl_bindings.rs:11032 #7 0x00005555555acee9 in tutorial_02::ops::draw::draw<glium::uniforms::uniforms::EmptyUniforms,&glium::vertex::buffer::VertexBuffer<tutorial_02::main::Vertex>> (context=0x7ffff6868010, framebuffer=..., vertex_buffers=0x7fffffffd548, indices=..., program=0x7fffffffd038, uniforms=0x5555557fc297 <const16333>, draw_parameters=0x7fffffffccb0, dimensions=...) at src/ops/draw.rs:320 #8 0x00005555555aa751 in tutorial_02::Frame.Surface::draw<&glium::vertex::buffer::VertexBuffer<tutorial_02::main::Vertex>,&glium::index::NoIndices,glium::uniforms::uniforms::EmptyUniforms> (self=0x7fffffffce48, vertex_buffer=0x7fffffffd548, index_buffer=0x7fffffffd210, program=0x7fffffffd038, uniforms=0x5555557fc297 <const16333>, draw_parameters=0x7fffffffccb0) at src/lib.rs:1083 #9 0x0000555555576f84 in tutorial_02::main () at examples/tutorial-02.rs:48 #10 0x00005555557ccf85 in sys_common::unwind::try::try_fn::h13449604025847140769 () #11 0x00005555557ca969 in __rust_try () #12 0x00005555557ccc20 in rt::lang_start::h426b3aba4736785fsbx () #13 0x00005555555b31da in main () (gdb)
I'm able to reproduce a crash with a very similar stack on Fedora 22, using the glium Rust OpenGL bindings: https:/ /github. com/tomaka/ glium
Here's the stack trace I get:
Program received signal SIGSEGV, Segmentation fault. libdrm_ nouveau. so.2 1.0.6-14. fc22.x86_ 64 elfutils- libelf- 0.163-4. fc22.x86_ 64 elfutils- libs-0. 163-4.fc22. x86_64 expat-2. 1.0-10. fc22.x86_ 64 libattr- 2.4.47- 10.fc22. x86_64 libcap- 2.24-7. fc22.x86_ 64 libdrm- 2.4.61- 3.fc22. x86_64 libedit- 3.1-12. 20150325cvs. fc22.x86_ 64 libffi- 3.1-7.fc22. x86_64 libgcc- 5.1.1-4. fc22.x86_ 64 libpciaccess- 0.13.3- 0.3.fc22. x86_64 libselinux- 2.3-10. fc22.x86_ 64 libstdc+ +-5.1.1- 4.fc22. x86_64 libwayland- client- 1.7.0-1. fc22.x86_ 64 libwayland- server- 1.7.0-1. fc22.x86_ 64 libX11- 1.6.3-1. fc22.x86_ 64 libX11- devel-1. 6.3-1.fc22. x86_64 libXau- 1.0.8-4. fc22.x86_ 64 libxcb- 1.11-8. fc22.x86_ 64 libXcursor- devel-1. 1.14-4. fc22.x86_ 64 libXdamage- 1.1.4-6. fc22.x86_ 64 libXext- 1.3.3-2. fc22.x86_ 64 libXfixes- 5.0.1-4. fc22.x86_ 64 libXi-devel- 1.7.4-2. fc22.x86_ 64 libXrender- 0.9.9-1. fc22.x86_ 64 libxshmfence- 1.2-1.fc22. x86_64 libXxf86vm- devel-1. 1.4-1.fc22. x86_64 llvm-libs- 3.5.0-9. fc22.x86_ 64 mesa-dri- drivers- 10.6.9- 1.20151008. fc22.x86_ 64 mesa-libEGL- 10.6.9- 1.20151008. fc22.x86_ 64 mesa-libgbm- 10.6.9- 1.20151008. fc22.x86_ 64 mesa-libGL- 10.6.9- 1.20151008. fc22.x86_ 64 mesa-libglapi- 10.6.9- 1.20151008. fc22.x86_ 64 ncurses- libs-5. 9-18.20150214. fc22.x86_ 64 pcre-8. 37-5.fc22. x86_64 systemd- libs-219- 25.fc22. x86_64 xz-libs- 5.2.0-2. fc22.x86_ 64 zlib-1. 2.8-7.fc22. x86_64 libdrm_ nouveau. so.2 libdrm_ nouveau. so.2 dri/nouveau_ dri.so dri/nouveau_ dri.so dri/nouveau_ dri.so dri/nouveau_ dri.so 02::gl: :Gl::DrawArrays (self=0x7ffff68 68010, mode=4, first=0, count=3) at target/ debug/build/ glium-e8f4c0a69 cec8d2d/ out/gl_ bindings. rs:11032 02::ops: :draw:: draw<glium: :uniforms: :uniforms: :EmptyUniforms, &glium: :vertex: :buffer: :VertexBuffer< tutorial_ 02::main: :Vertex> > (context= 0x7ffff6868010, framebuffer=..., vertex_ buffers= 0x7fffffffd548, indices=..., program= 0x7fffffffd038, uniforms= 0x5555557fc297 <const16333>, draw_parameters =0x7fffffffccb0 , dimensions=...) at src/ops/draw.rs:320 02::Frame. Surface: :draw<& glium:: vertex: :buffer: :VertexBuffer< tutorial_ 02::main: :Vertex> ,&glium: :index: :NoIndices, glium:: uniforms: :uniforms: :EmptyUniforms> (self=0x7ffffff fce48, vertex_ buffer= 0x7fffffffd548, index_buffer= 0x7fffffffd210, program= 0x7fffffffd038, uniforms= 0x5555557fc297 <const16333>, draw_parameters =0x7fffffffccb0 ) at src/lib.rs:1083 tutorial- 02.rs:48 :unwind: :try::try_ fn::h1344960402 5847140769 () start:: h426b3aba473678 5fsbx ()
0x00007ffff02f66fc in pushbuf_kref () from /lib64/
Missing separate debuginfos, use: dnf debuginfo-install bzip2-libs-
(gdb) where
#0 0x00007ffff02f66fc in pushbuf_kref () from /lib64/
#1 0x00007ffff02f6db9 in pushbuf_validate () from /lib64/
#2 0x00007ffff0c28ecd in nvc0_state_validate () from /usr/lib64/
#3 0x00007ffff0c33670 in nvc0_draw_vbo () from /usr/lib64/
#4 0x00007ffff08ec867 in st_draw_vbo () from /usr/lib64/
#5 0x00007ffff08be81c in vbo_draw_arrays () from /usr/lib64/
#6 0x00005555555b21b7 in tutorial_
#7 0x00005555555acee9 in tutorial_
#8 0x00005555555aa751 in tutorial_
#9 0x0000555555576f84 in tutorial_02::main () at examples/
#10 0x00005555557ccf85 in sys_common:
#11 0x00005555557ca969 in __rust_try ()
#12 0x00005555557ccc20 in rt::lang_
#13 0x00005555555b31da in main ()
(gdb)