[Mesa-dev] Minecraft crash in nouveau_dri.so

Ilia Mirkin imirkin at alum.mit.edu
Wed Apr 30 09:47:39 PDT 2014


The relevant code:

   if (slab->free == 0) {
      LIST_DEL(&slab->head);
      LIST_ADD(&slab->head, &bucket->full);
   }

And the LIST_ADD is line 206 (on the 9.2 branch).

Do you know if multiple GL threads are used? I looked at the code, and
it seems perfectly fine, and hasn't changed in forever
(nouveau_mm_allocate is still the same in 10.2-git). Unless there are
multiple threads that are each doing allocations, in which case,
ka-boom. (In general, nouveau is not safe with simultaneously-running
threads, even if they have separate GL contexts... yet. I've started
looking at it, but there are a lot of pieces to the puzzle.)

  -ilia


On Wed, Apr 30, 2014 at 7:13 AM, Kevin H. Hobbs <hobbsk at ohio.edu> wrote:
> I'm running Minecraft 1.7.9
>
> on Fedora 19 x86_64
>
> with mesa-dri-drivers-9.2.4-1.20131128.fc19.x86_64.
>
> lspci says my graphics card is :
>
> 01:00.0 VGA compatible controller: NVIDIA Corporation G86 [Quadro
> NVS 290] (rev a1)
>
> The the console output says :
>
> A fatal error has been detected by the Java Runtime Environment:
> [06:47:32 INFO]: Client> #
> [06:47:32 INFO]: Client> #  SIGSEGV (0xb) at
> pc=0x00007f75358ab2bd, pid=15253, tid=140141688981248
> [06:47:32 INFO]: Client> #
> [06:47:32 INFO]: Client> # JRE version: OpenJDK Runtime
> Environment (7.0_55-b13) (build
> 1.7.0_55-mockbuild_2014_04_16_06_38-b00)
> [06:47:32 INFO]: Client> # Java VM: OpenJDK 64-Bit Server VM
> (24.51-b03 mixed mode linux-amd64 compressed oops)
> [06:47:32 INFO]: Client> # Problematic frame:
> [06:47:32 INFO]: Client> # C  [nouveau_dri.so+0x4042bd]
> nouveau_mm_allocate+0x18d
>
> I ran with ulimit -c unlimited and got a core dump.
>
> Here's what gdb has to say aabout the core :#0
> 0x000000389b8359e9 in __GI_raise (sig=sig at entry=6) at
> ../nptl/sysdeps/unix/sysv/linux/raise.c:56
> 56        return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
> (gdb) bt
> #0  0x000000389b8359e9 in __GI_raise (sig=sig at entry=6) at
> ../nptl/sysdeps/unix/sysv/linux/raise.c:56
> #1  0x000000389b8370f8 in __GI_abort () at abort.c:90
> #2  0x00007f75481075d9 in os::abort (dump_core=<optimized out>)
>     at
> /usr/src/debug/java-1.7.0-openjdk-1.7.0.60-2.4.7.0.fc19.x86_64/openjdk/hotspot/src/os/linux/vm/os_linux.cpp:1594
> #3  0x00007f7548286a8f in VMError::report_and_die
> (this=this at entry=0x7f754796eba0)
>     at
> /usr/src/debug/java-1.7.0-openjdk-1.7.0.60-2.4.7.0.fc19.x86_64/openjdk/hotspot/src/share/vm/utilities/vmError.cpp:1078
> #4  0x00007f754810f51f in JVM_handle_linux_signal (sig=11,
> info=0x7f754796edf0, ucVoid=0x7f754796ecc0,
> abort_if_unrecognized=<optimized out>)
>     at
> /usr/src/debug/java-1.7.0-openjdk-1.7.0.60-2.4.7.0.fc19.x86_64/openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp:531
> #5  <signal handler called>
> #6  0x00007f75358ab2bd in list_add (list=0x7f75405964b8,
> item=0x7f749b96ef60) at
> ../../../../src/gallium/auxiliary/util/u_double_list.h:61
> #7  nouveau_mm_allocate (cache=<optimized out>, size=<optimized
> out>, bo=bo at entry=0x7f749c676930,
> offset=offset at entry=0x7f749c676938) at nouveau_mm.c:206
> #8  0x00007f75358ac9c2 in nouveau_buffer_allocate
> (domain=<optimized out>, buf=0x7f749c6768e0,
> screen=0x7f75405958f0) at nouveau_buffer.c:51
> #9  nouveau_buffer_create (pscreen=0x7f75405958f0,
> templ=<optimized out>) at nouveau_buffer.c:583
> #10 0x00007f7535604d89 in pipe_buffer_create (size=32768,
> usage=<optimized out>, bind=<optimized out>, screen=<optimized
> out>) at ../../src/gallium/auxiliary/util/u_inlines.h:247
> #11 st_bufferobj_data (ctx=<optimized out>, target=<optimized
> out>, size=32768, data=0x0, usage=<optimized out>,
> obj=0x7f749c676850)
>     at ../../src/mesa/state_tracker/st_cb_bufferobjects.c:254
> #12 0x00007f75355efe1a in alloc_vertex_store
> (ctx=ctx at entry=0x7f75405fd6e0) at
> ../../src/mesa/vbo/vbo_save_api.c:199
> #13 0x00007f75355f05c0 in _save_compile_vertex_list
> (ctx=<optimized out>) at ../../src/mesa/vbo/vbo_save_api.c:454
> #14 0x00007f75355f0cb1 in _save_wrap_buffers (ctx=<optimized
> out>) at ../../src/mesa/vbo/vbo_save_api.c:497
> #15 0x00007f75355f5390 in _save_wrap_filled_vertex
> (ctx=<optimized out>) at ../../src/mesa/vbo/vbo_save_api.c:528
> #16 0x00007f753550c8d9 in _ae_ArrayElement (elt=2815) at
> ../../src/mesa/main/api_arrayelt.c:1697
> #17 0x00007f75355efd70 in _save_OBE_DrawArrays (mode=<optimized
> out>, start=<optimized out>, count=<optimized out>) at
> ../../src/mesa/vbo/vbo_save_api.c:1078
> #18 0x00007f753d081964 in ?? ()
> #19 0x0000000000000000 in ?? ()
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>


More information about the mesa-dev mailing list