Bug 1086 - JOGL crashes with VirtualGL since version 2.1.4
Summary: JOGL crashes with VirtualGL since version 2.1.4
Alias: None
Product: Jogl
Classification: JogAmp
Component: opengl (show other bugs)
Version: 2.3.0
Hardware: All all
: --- major
Assignee: Sven Gothel
Depends on:
Reported: 2014-10-03 11:11 CEST by Bart Adams
Modified: 2019-03-29 17:54 CET (History)
0 users

See Also:
Type: ---
SCM Refs:
Workaround: ---

error log on crash (53.54 KB, text/x-log)
2014-10-03 11:11 CEST, Bart Adams

Note You need to log in before you can comment on or make changes to this bug.
Description Bart Adams 2014-10-03 11:11:21 CEST
Created attachment 656 [details]
error log on crash

VirtualGL allows you to remotely login to a Linux machine and get full 3D hardware acceleration.

Since JOGL 2.1.4, JOGL crashes with a fatal error on startup. It all works fine in versions 2.1.3 and before. Below is the console output and attached the error log.

Steps to reproduce:
- Get a Linux machine and install VirtualGL (e.g., sudo apt-get virtualgl, followed by  sudo /opt/VirtualGL/bin/vglserver_config, restart X)
- Get another Linux machine and install VirtualGL
- Log in to the first machine using vglconnect (e.g., /opt/VirtualGL/bin/vglconnect {user}@{server})
- Start a JOGL sample through vglrun, in my case I did: vglrun java -cp jogamp-all-platforms/jar/jogl-all.jar:jogamp-all-platforms/jar/gluegen-rt.jar:jogl-demos/jar/jogl-demos-data.jar:jogl-demos/jar/jogl-demos-util.jar:jogl-demos/jar/jogl-demos.jar demos.gears.Gears

Console output (see attahment for error log):

barta@melekeok:~/jogl/2.1.4$ vglrun java -cp jogamp-all-platforms/jar/jogl-all.jar:jogamp-all-platforms/jar/gluegen-rt.jar:jogl-demos/jar/jogl-demos-data.jar:jogl-demos/jar/jogl-demos-util.jar:jogl-demos/jar/jogl-demos.jar demos.gears.Gears
# A fatal error has been detected by the Java Runtime Environment:
#  SIGSEGV (0xb) at pc=0x00000000baaaabaa, pid=9258, tid=140002518849280
# JRE version: Java(TM) SE Runtime Environment (7.0_45-b18) (build 1.7.0_45-b18)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  0x00000000baaaabaa
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
# An error report file with more information is saved as:
# /home/barta/jogl/2.1.4/hs_err_pid9258.log
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
Aborted (core dumped)

I get the crash when using versions 2.1.4 and later, up to the current version, using following steps after having set up VirtualGL.

wget http://jogamp.org/deployment/v2.1.4/archive/jogamp-all-platforms.7z
wget http://jogamp.org/deployment/v2.1.4/archive/jogl-demos.7z
7z x jogamp-all-platforms.7z
7z x jogl-demos.7z
vglrun java -cp jogamp-all-platforms/jar/jogl-all.jar:jogamp-all-platforms/jar/gluegen-rt.jar:jogl-demos/jar/jogl-demos-data.jar:jogl-demos/jar/jogl-demos-util.jar:jogl-demos/jar/jogl-demos.jar demos.gears.Gear
Comment 1 Bart Adams 2014-10-03 11:15:43 CEST
My configuration is as follows:
- Ubuntu Linux 12.10
- VirtualGL 64-bit v2.3.2
- NVIDIA GeForce GTX 660 Ti/PCIe/SSE2 (4.4.0 NVIDIA 340.32)
- Java 7 64-bit (1.7.0_45-b18)
Comment 2 Sven Gothel 2014-10-04 05:14:38 CEST

Does the crash also happen w/ latest aggregated build ?


I see in the logs that the crash happens during EGL initialization,
i.e. eglInitialize(..).

Hence I assume somewhat VirtualGL is at fault here.

You can also test w/o EGL, via property 'jogl.disable.opengles'
Comment 3 Bart Adams 2014-10-06 10:33:11 CEST
Crash also happens with latest aggregate build (Oct 4).

Using -Djogl.disable.opengles works, i.e., it does not crash when running using VirtualGL.

Comment 4 Sven Gothel 2014-10-09 06:45:42 CEST
(In reply to comment #3)
> Crash also happens with latest aggregate build (Oct 4).
> Using -Djogl.disable.opengles works, i.e., it does not crash when running
> using VirtualGL.
> Thanks

This is a bug w/ the VIrtualGL / GL propagation
of using EGL/ES .. not JOGL's fault.

Yes, EGL/ES probing was added after 2.1.4.

Closing -> Invalid.