Re: [Mesa-dev] Minecraft crash in nouveau_dri.so

2014-04-30 Thread Ilia Mirkin
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=0x7f75358ab2bd, 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
 0x00389b8359e9 in __GI_raise (sig=sig@entry=6) at
 ../nptl/sysdeps/unix/sysv/linux/raise.c:56
 56return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
 (gdb) bt
 #0  0x00389b8359e9 in __GI_raise (sig=sig@entry=6) at
 ../nptl/sysdeps/unix/sysv/linux/raise.c:56
 #1  0x00389b8370f8 in __GI_abort () at abort.c:90
 #2  0x7f75481075d9 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  0x7f7548286a8f 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  0x7f754810f51f 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  0x7f75358ab2bd 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  0x7f75358ac9c2 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 0x7f7535604d89 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 0x7f75355efe1a in alloc_vertex_store
 (ctx=ctx@entry=0x7f75405fd6e0) at
 ../../src/mesa/vbo/vbo_save_api.c:199
 #13 0x7f75355f05c0 in _save_compile_vertex_list
 (ctx=optimized out) at ../../src/mesa/vbo/vbo_save_api.c:454
 #14 0x7f75355f0cb1 in _save_wrap_buffers (ctx=optimized
 out) at ../../src/mesa/vbo/vbo_save_api.c:497
 #15 0x7f75355f5390 in _save_wrap_filled_vertex
 (ctx=optimized out) at ../../src/mesa/vbo/vbo_save_api.c:528
 #16 0x7f753550c8d9 in _ae_ArrayElement (elt=2815) at
 ../../src/mesa/main/api_arrayelt.c:1697
 #17 0x7f75355efd70 in _save_OBE_DrawArrays (mode=optimized
 out, start=optimized out, count=optimized out) at
 ../../src/mesa/vbo/vbo_save_api.c:1078
 #18 0x7f753d081964 in ?? ()
 #19 0x 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


Re: [Mesa-dev] Minecraft crash in nouveau_dri.so

2014-04-30 Thread Kevin H. Hobbs
Ilia, thank you for looking at it.

On 04/30/2014 12:47 PM, Ilia Mirkin wrote:
 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 do not know, is there a good way to tell?

According to top java at least is using more than 100% CPU, but I think
there's a client server model even in single player.

I ran Minecraft on another computer with more RAM (12GiB) and a newer
graphics card (GeForce 9800 GTX+) that also uses the nouveau driver and
it worked fine.

I decreased the Render Distance in Minecraft and everything seemed
fine on the first computer (4GiB RAM).

The trouble might only occur in a low memory condition.



signature.asc
Description: OpenPGP digital signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev