These are issues related to the Mesa library and OpenGL off-screen rendering.

Default OSMesa Crash

This is crash that happens with default OSMesa as distributed with Red Hat 9 and a brand new Debian.

xxx@yyy:~/j601$ locate Mesa
/usr/X11R6/lib/libOSMesa.so.4
/usr/X11R6/lib/libOSMesa.so.4.0

J does not find_dll that. So one has to:

xxx@yyy:~/j601$ file /usr/lib/libOSMesa.so
/usr/lib/libOSMesa.so: symbolic link to `/usr/X11R6/lib/libOSMesa.so.4'

Finally running OpenGL demo it crashes. Text from report:

Current thread (0x08320da0):  JavaThread "AWT-EventQueue-0" [_thread_in_native, id=2639]

siginfo:si_signo=11, si_errno=0, si_code=128, si_addr=0x00000000

Registers:
EAX=0x00000000, EBX=0x4cfd0c44, ECX=0x0000454d, EDX=0x0000004d
ESP=0xbe1fce64, EBP=0xbe1fce7c, ESI=0x4cfdb560, EDI=0xbe1fcea4
EIP=0x4cfbccae, CR2=0x00000000, EFLAGS=0x00010202

Top of Stack: (sp=0xbe1fce64)
0xbe1fce64:   3f800000 3f800000 3f800000 3f800000
0xbe1fce74:   00001d80 00001f80 be1fcfdc 4cfbc84b
0xbe1fce84:   4cfcdc60 4cfbc6d0 be1fcea4 4ce7f2d4
0xbe1fce94:   4ce7d000 be1fcea8 4008b4d8 be1fcf34
0xbe1fcea4:   4040c564 fffbfeff ffffffff 400ebc91
0xbe1fceb4:   4cfe8b77 be1fcd80 401aa39c 40033d00
0xbe1fcec4:   401aa340 08075a18 be1fccf0 4002bd7a
0xbe1fced4:   401aa350 00000050 401aa340 401a98c0

Instructions: (pc=0x4cfbccae)
0x4cfbcc9e:   00 00 80 3f 68 00 00 80 3f 68 00 00 80 3f 0f 10
0x4cfbccae:   0c 24 0f 5e c8 0f ae 55 fc c9 c3 90 90 90 90 90

Stack: [0xbe18e000,0xbe200000),  sp=0xbe1fce64,  free space=443k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libOSMesa.so+0x13fcae]
C  [libOSMesa.so+0x13f84b]
C  [libOSMesa.so+0x13f98f]  _mesa_init_all_x86_transform_asm+0xdf
C  [libOSMesa.so+0xad482]  _math_init_transformation+0x32
C  [libOSMesa.so+0xad4a9]  _math_init+0x19
C  [libOSMesa.so+0x2ae2a]
C  [libOSMesa.so+0x2cf4c]  _mesa_initialize_context+0x1c
C  [libOSMesa.so+0x14062]  OSMesaCreateContextExt+0x1b2
C  [libOSMesa.so+0x13ea1]  OSMesaCreateContext+0x41
C  [libj601.so+0x19055e]
C  [libj601.so+0x191d05]  jtcd+0x7a5
...

-- OlegKobchenko 2006-05-04 18:53:45

Latest Mesa Crash

After figuring out how to download and build a latest stable Mesa 6.4.2 with:

Mesa-6.4.2$ make linux-x86
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xxx/Desktop/Mesa-6.4.2/lib

Still makes J OpenGL crash.

#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  SIGSEGV (0xb) at pc=0x4d03231a, pid=4033, tid=213005
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_11-b06 mixed mode)
# Problematic frame:
# C  [libGL.so.1+0x1b531a]
#

---------------  T H R E A D  ---------------

Current thread (0x08320598):  JavaThread "AWT-EventQueue-0" [_thread_in_native, id=4049]

siginfo:si_signo=11, si_errno=0, si_code=128, si_addr=0x00000000

Registers:
EAX=0x00000000, EBX=0x4d0d76c4, ECX=0x0000454d, EDX=0x0000004d
ESP=0xbe1fcbe4, EBP=0xbe1fcbfc, ESI=0x4d0e2f00, EDI=0xbe1fcc24
EIP=0x4d03231a, CR2=0x00000000, EFLAGS=0x00010202

Top of Stack: (sp=0xbe1fcbe4)
0xbe1fcbe4:   3f800000 3f800000 3f800000 3f800000
0xbe1fcbf4:   00001d80 00001f80 be1fcd5c 4d0250bb
0xbe1fcc04:   4d0acce0 4d025160 be1fcc24 4000c016
0xbe1fcc14:   be1fcf28 00000000 80000000 be1fccb4
0xbe1fcc24:   4040c564 fffbfeff ffffffff 00000000
0xbe1fcc34:   4ce9a1df 0843a910 00248000 004b7650
0xbe1fcc44:   080c5ff0 be1fc9a0 00000000 4ce9a1d2
0xbe1fcc54:   0843a910 00000000 00000003 080c4190

Instructions: (pc=0x4d03231a)
0x4d03230a:   00 00 80 3f 68 00 00 80 3f 68 00 00 80 3f 0f 10
0x4d03231a:   0c 24 0f 5e c8 0f ae 55 fc c9 c3 90 90 90 90 90

Stack: [0xbe18e000,0xbe200000),  sp=0xbe1fcbe4,  free space=442k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libGL.so.1+0x1b531a]
C  [libGL.so.1+0x1a80bb]
C  [libGL.so.1+0x1a7d53]  _mesa_init_all_x86_transform_asm+0xd3
C  [libGL.so.1+0xea544]  _math_init_transformation+0x154
C  [libGL.so.1+0xea569]  _math_init+0x19
C  [libGL.so.1+0x3dc15]
C  [libGL.so.1+0x3cda8]  _mesa_initialize_context+0xc8
C  [libOSMesa.so.6.4.060402+0x176c]  OSMesaCreateContextExt+0x20c
C  [libOSMesa.so.6.4.060402+0x154b]  OSMesaCreateContext+0x4b
C  [libj601.so+0x19055e]
C  [libj601.so+0x191d05]  jtcd+0x7a5
...

Dynamic libraries:
08048000-08053000 r-xp 00000000 03:01 335676     /usr/j2re1.4.2_11/bin/java
...
40024000-40025000 rw-s 00000000 03:01 323227     /tmp/j-xxx/jbreak4033.default
...
401ad000-405bf000 r-xp 00000000 03:01 335701     /usr/j2re1.4.2_11/lib/i386/client/libjvm.so
...
40628000-4062f000 r-xp 00000000 03:01 271559     /usr/X11R6/lib/libXp.so.6.2
...
4c5b0000-4c5f7000 r--p 00000000 03:01 302995     /usr/lib/locale/locale-archive
...
4ca12000-4ca1a000 r-xp 00000000 03:01 16529      /usr/lib/libXcursor.so.1.0.2
4ca1a000-4ca1b000 rw-p 00007000 03:01 16529      /usr/lib/libXcursor.so.1.0.2
4ca1c000-4ca69000 r-xp 00000000 03:01 271553     /usr/X11R6/lib/libXt.so.6.0
4ca69000-4ca6c000 rw-p 0004d000 03:01 271553     /usr/X11R6/lib/libXt.so.6.0
4ca6c000-4ca6d000 rw-p 00000000 00:00 0
4ca6d000-4ca7a000 r-xp 00000000 03:01 271459     /usr/X11R6/lib/libXext.so.6.4
4ca7a000-4ca7b000 rw-p 0000c000 03:01 271459     /usr/X11R6/lib/libXext.so.6.4
4ca7b000-4ca7f000 r-xp 00000000 03:01 271567     /usr/X11R6/lib/libXtst.so.6.1
4ca7f000-4ca80000 rw-p 00004000 03:01 271567     /usr/X11R6/lib/libXtst.so.6.1
4ca80000-4cb44000 r-xp 00000000 03:01 271455     /usr/X11R6/lib/libX11.so.6.2
4cb44000-4cb47000 rw-p 000c4000 03:01 271455     /usr/X11R6/lib/libX11.so.6.2
4cb47000-4cb4f000 r-xp 00000000 03:01 271457     /usr/X11R6/lib/libSM.so.6.0
4cb4f000-4cb50000 rw-p 00007000 03:01 271457     /usr/X11R6/lib/libSM.so.6.0
4cb50000-4cb64000 r-xp 00000000 03:01 270964     /usr/X11R6/lib/libICE.so.6.3
4cb64000-4cb65000 rw-p 00013000 03:01 270964     /usr/X11R6/lib/libICE.so.6.3
...
4cc0d000-4cc0f000 r-xp 00000000 03:01 336170     /home/xxx/j601/libjnative.so
...
4cc17000-4cc1e000 r-xp 00000000 03:01 16295      /usr/lib/libXrender.so.1.2.2
4cc1e000-4cc1f000 rw-p 00006000 03:01 16295      /usr/lib/libXrender.so.1.2.2
4cc1f000-4cc3b000 r-xp 00000000 03:01 287551     /usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2
4cc3b000-4cc3d000 rw-p 0001b000 03:01 287551     /usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2
4cc3d000-4cc44000 r-xp 00000000 03:01 179777     /home/xxx/Desktop/Mesa-6.4.2/lib/libOSMesa.so.6.4.060402
4cc44000-4cc45000 rw-p 00007000 03:01 179777     /home/xxx/Desktop/Mesa-6.4.2/lib/libOSMesa.so.6.4.060402
4cc4a000-4cdee000 r-xp 00000000 03:01 338972     /usr/lib/libj601.so
4cdee000-4cdf4000 rw-p 001a4000 03:01 338972     /usr/lib/libj601.so
4cdf4000-4ce7d000 rw-p 00000000 00:00 0
4ce7d000-4d0c5000 r-xp 00000000 03:01 176179     /home/xxx/Desktop/Mesa-6.4.2/lib/libGL.so.1.5.060402
4d0c5000-4d0d9000 rw-p 00247000 03:01 176179     /home/xxx/Desktop/Mesa-6.4.2/lib/libGL.so.1.5.060402
...


VM Arguments:
java_command: /home/xxx/j601/j.jar
Launcher Type: SUN_STANDARD

Environment Variables:
PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/j2re1.4.2_11/bin
USERNAME=xxx
LD_LIBRARY_PATH=/usr/j2re1.4.2_11/lib/i386/client:/usr/j2re1.4.2_11/lib/i386:/usr/j2re1.4.2_11/../lib/i386::/home/xxx/Desktop/Mesa-6.4.2/lib
SHELL=/bin/bash
DISPLAY=:0.0


---------------  S Y S T E M  ---------------

OS:3.1

uname:Linux 2.4.27-2-386 #1 Wed Aug 17 09:33:35 UTC 2005 i686
libc:glibc 2.3.2 linuxthreads-0.10 (floating stack)
rlimit: STACK 2044k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
load average:-0.00 0.00 -0.00

CPU:total 1 family 15, cmov, cx8, fxsr, mmx, sse, sse2

Memory: 4k page, physical 259068k(4124k free), swap 0k(0k free)

vm_info: Java HotSpot(TM) Client VM (1.4.2_11-b06) for linux-x86, built on Feb 13 2006 11:02:10 by unknown with unknown compiler

-- OlegKobchenko 2006-05-05 03:47:59


The crash went away after making with linux config rather than linux-x86. -- OlegKobchenko 2006-05-05 18:38:31

Off-Screen Rendering

With direct JAWT OpenGL, there only need for off-screen rendering is for making bitmap captures.

Alternatives to OSMesa:

On a Linux system, whose GUI always comes with X11, a candidate for standard off-screen solution is GLX Pixmaps.

-- OlegKobchenko 2006-05-04 19:57:50

System/J601/Beta/Mesa Issues (last edited 2009-10-14 00:58:59 by RicSherlock)