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 <hob...@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@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@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@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@entry=0x7f749c676930, > offset=offset@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@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@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev