Problems with update to b266

classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

Problems with update to b266

John No
Hi,

I decided to update one of my older projects from jogl-2.0-20090915 to the latest webstart version.
No big changes at the sourcecode where necessary (renamed some packages, changed BufferUtil to gluegen Buffers, minor changes at animator).

The first problem i ran into was "Cannot call invokeAndWait from the event dispatcher thread" (http://jogamp.762907.n3.nabble.com/Bug-Newt-EDT-invokeAndWait-from-BrickFarmer-td2084832.html).
This problem doesn't occur anymore when i use newer builds, instead the jvm decides to crash...

tried several builds between b255 and b266 but all generated the same error (posted below).
I hope to be able to test my program on another system tomorrow, but meanwhile i wanted to ask if someone had similar problems or has advice on how to fix the error.

thanks in advance
John

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6929a876, pid=2920, tid=2972
#
# JRE version: 6.0_20-b02
# Java VM: Java HotSpot(TM) Client VM (16.3-b01 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [atioglxx.dll+0x26a876]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

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

Current thread (0x03d27400):  JavaThread "AWT-EventQueue-0" [_thread_in_native, id=2972, stack(0x04330000,0x04380000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x000006ec

Registers:
EAX=0x00000000, EBX=0x03d27510, ECX=0x00000002, EDX=0x00000004
ESP=0x0437f53c, EBP=0x0437f578, ESI=0x0437f5e4, EDI=0x6929a870
EIP=0x6929a876, EFLAGS=0x00010202

Top of Stack: (sp=0x0437f53c)
0x0437f53c:   6450a455 00000002 2397ffbc 00000000
0x0437f54c:   0437f56c 6d99bc35 03d27400 2397ffbc
0x0437f55c:   00000000 03d27400 33cd2088 33cd2088
0x0437f56c:   33cd2088 33cd2088 03d27400 0437f5c4
0x0437f57c:   019b9f37 03d27510 0437f5ec 00000002
0x0437f58c:   0437f5e4 00000000 00000000 6929a870
0x0437f59c:   00000000 fffffffe 0437f5a4 33cd2088
0x0437f5ac:   0437f5ec 33ddfc58 00000000 33cd2088

Instructions: (pc=0x6929a876)
0x6929a866:   ff a0 e8 06 00 00 cc cc cc cc 64 a1 f4 0e 00 00
0x6929a876:   ff a0 ec 06 00 00 cc cc cc cc 64 a1 f4 0e 00 00


Stack: [0x04330000,0x04380000],  sp=0x0437f53c,  free space=13d0437f058k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [atioglxx.dll+0x26a876]
j  com.jogamp.opengl.impl.gl4.GL4bcImpl.dispatch_glGenBuffers1(ILjava/lang/Object;IZJ)V+0
j  com.jogamp.opengl.impl.gl4.GL4bcImpl.glGenBuffers(ILjava/nio/IntBuffer;)V+87
j  com.jogamp.opengl.util.awt.TextRenderer$Pipelined_QuadRenderer.<init>(Lcom/jogamp/opengl/util/awt/TextRenderer;)V+69
j  com.jogamp.opengl.util.awt.TextRenderer$Glyph.draw3D(FFFF)F+128
j  com.jogamp.opengl.util.awt.TextRenderer.internal_draw3D(Ljava/lang/CharSequence;FFFF)V+49
j  com.jogamp.opengl.util.awt.TextRenderer.draw3D(Ljava/lang/String;FFFF)V+8
j  com.jogamp.opengl.util.awt.TextRenderer.draw(Ljava/lang/String;II)V+8
j  at.metasyst.metalagvisual.MlVis3dFpsRenderer.execute(Ljavax/media/opengl/GL2;)V+125
j  at.metasyst.metalagvisual.MlVis3dGLEventListener.display(Ljavax/media/opengl/GLAutoDrawable;)V+33
j  com.jogamp.opengl.impl.GLDrawableHelper.display(Ljavax/media/opengl/GLAutoDrawable;)V+54
j  javax.media.opengl.awt.GLCanvas$DisplayAction.run()V+121
j  com.jogamp.opengl.impl.GLDrawableHelper.invokeGL(Ljavax/media/opengl/GLDrawable;Ljavax/media/opengl/GLContext;Ljava/lang/Runnable;Ljava/lang/Runnable;)V+268
j  javax.media.opengl.awt.GLCanvas$DisplayOnEventDispatchThreadAction.run()V+35
j  java.awt.event.InvocationEvent.dispatch()V+11
j  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+26
j  java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+204
j  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j  java.awt.EventDispatchThread.run()V+9
v  ~StubRoutines::call_stub
V  [jvm.dll+0xf049c]
V  [jvm.dll+0x17fcf1]
V  [jvm.dll+0xf0667]
V  [jvm.dll+0xf06dd]
V  [jvm.dll+0x11a2a0]
V  [jvm.dll+0x1ddb14]
V  [jvm.dll+0x17f96c]
C  [msvcr71.dll+0x9565]
C  [kernel32.dll+0x51194]
C  [ntdll.dll+0x5b495]
C  [ntdll.dll+0x5b468]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.jogamp.opengl.impl.gl4.GL4bcImpl.dispatch_glGenBuffers1(ILjava/lang/Object;IZJ)V+0
j  com.jogamp.opengl.impl.gl4.GL4bcImpl.glGenBuffers(ILjava/nio/IntBuffer;)V+87
j  com.jogamp.opengl.util.awt.TextRenderer$Pipelined_QuadRenderer.<init>(Lcom/jogamp/opengl/util/awt/TextRenderer;)V+69
j  com.jogamp.opengl.util.awt.TextRenderer$Glyph.draw3D(FFFF)F+128
j  com.jogamp.opengl.util.awt.TextRenderer.internal_draw3D(Ljava/lang/CharSequence;FFFF)V+49
j  com.jogamp.opengl.util.awt.TextRenderer.draw3D(Ljava/lang/String;FFFF)V+8
j  com.jogamp.opengl.util.awt.TextRenderer.draw(Ljava/lang/String;II)V+8
j  at.metasyst.metalagvisual.MlVis3dFpsRenderer.execute(Ljavax/media/opengl/GL2;)V+125
j  at.metasyst.metalagvisual.MlVis3dGLEventListener.display(Ljavax/media/opengl/GLAutoDrawable;)V+33
j  com.jogamp.opengl.impl.GLDrawableHelper.display(Ljavax/media/opengl/GLAutoDrawable;)V+54
j  javax.media.opengl.awt.GLCanvas$DisplayAction.run()V+121
j  com.jogamp.opengl.impl.GLDrawableHelper.invokeGL(Ljavax/media/opengl/GLDrawable;Ljavax/media/opengl/GLContext;Ljava/lang/Runnable;Ljava/lang/Runnable;)V+268
j  javax.media.opengl.awt.GLCanvas$DisplayOnEventDispatchThreadAction.run()V+35
j  java.awt.event.InvocationEvent.dispatch()V+11
j  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+26
j  java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+204
j  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j  java.awt.EventDispatchThread.run()V+9
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x01907800 JavaThread "Timer-3" [_thread_blocked, id=2684, stack(0x0a560000,0x0a5b0000)]
  0x07dca000 JavaThread "Timer-1" [_thread_blocked, id=1208, stack(0x09870000,0x098c0000)]
  0x07cc3c00 JavaThread "Timer-0" [_thread_blocked, id=3768, stack(0x095b0000,0x09600000)]
  0x07b80800 JavaThread "AWT-EventQueue-0-SharedResourceRunner" daemon [_thread_blocked, id=3764, stack(0x08380000,0x083d0000)]
  0x07b19000 JavaThread "TimerQueue" daemon [_thread_blocked, id=2616, stack(0x08040000,0x08090000)]
  0x004df800 JavaThread "DestroyJavaVM" [_thread_blocked, id=3980, stack(0x00170000,0x001c0000)]
  0x07ade000 JavaThread "Thread-4" [_thread_blocked, id=2868, stack(0x07f20000,0x07f70000)]
  0x03d8d400 JavaThread "Thread-3" [_thread_blocked, id=2800, stack(0x07ed0000,0x07f20000)]
  0x03e7dc00 JavaThread "D3D Screen Updater" daemon [_thread_blocked, id=1140, stack(0x07500000,0x07550000)]
=>0x03d27400 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=2972, stack(0x04330000,0x04380000)]
  0x03dd0c00 JavaThread "AWT-Windows" daemon [_thread_in_native, id=3272, stack(0x04190000,0x041e0000)]
  0x03ddec00 JavaThread "AWT-Shutdown" [_thread_blocked, id=3172, stack(0x04140000,0x04190000)]
  0x03dde400 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=2356, stack(0x03f80000,0x03fd0000)]
  0x018eb800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=2948, stack(0x03bf0000,0x03c40000)]
  0x018e4000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=936, stack(0x03ba0000,0x03bf0000)]
  0x018e3000 JavaThread "Attach Listener" daemon [_thread_blocked, id=3944, stack(0x03b50000,0x03ba0000)]
  0x018df800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3060, stack(0x03b00000,0x03b50000)]
  0x018db800 JavaThread "Finalizer" daemon [_thread_blocked, id=2508, stack(0x03ab0000,0x03b00000)]
  0x018d6c00 JavaThread "Reference Handler" daemon [_thread_blocked, id=2428, stack(0x03a60000,0x03ab0000)]

Other Threads:
  0x018d5800 VMThread [stack: 0x00460000,0x004b0000] [id=3840]
  0x01906c00 WatcherThread [stack: 0x03c40000,0x03c90000] [id=3392]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 4928K, used 2399K [0x23740000, 0x23c90000, 0x28c90000)
  eden space 4416K,  52% used [0x23740000, 0x23983140, 0x23b90000)
  from space 512K,  16% used [0x23b90000, 0x23ba4ce0, 0x23c10000)
  to   space 512K,   0% used [0x23c10000, 0x23c10000, 0x23c90000)
 tenured generation   total 10944K, used 9724K [0x28c90000, 0x29740000, 0x33740000)
   the space 10944K,  88% used [0x28c90000, 0x2960f278, 0x2960f400, 0x29740000)
 compacting perm gen  total 12288K, used 7812K [0x33740000, 0x34340000, 0x37740000)
   the space 12288K,  63% used [0x33740000, 0x33ee1158, 0x33ee1200, 0x34340000)
    ro space 10240K,  54% used [0x37740000, 0x37cbb760, 0x37cbb800, 0x38140000)
    rw space 12288K,  55% used [0x38140000, 0x387df798, 0x387df800, 0x38d40000)

Dynamic libraries:
0x00400000 - 0x00424000 D:\Programme\Java\jdk1.6.0_20\bin\java.exe
0x77cb0000 - 0x77dec000 C:\Windows\SYSTEM32\ntdll.dll
0x76d60000 - 0x76e34000 C:\Windows\system32\kernel32.dll
0x76020000 - 0x7606a000 C:\Windows\system32\KERNELBASE.dll
0x76480000 - 0x76520000 C:\Windows\system32\ADVAPI32.dll
0x76f30000 - 0x76fdc000 C:\Windows\system32\msvcrt.dll
0x77df0000 - 0x77e09000 C:\Windows\SYSTEM32\sechost.dll
0x763d0000 - 0x76471000 C:\Windows\system32\RPCRT4.dll
0x7c340000 - 0x7c396000 D:\Programme\Java\jdk1.6.0_20\jre\bin\msvcr71.dll
0x6d8b0000 - 0x6db47000 D:\Programme\Java\jdk1.6.0_20\jre\bin\client\jvm.dll
0x77e10000 - 0x77ed9000 C:\Windows\system32\USER32.dll
0x76990000 - 0x769de000 C:\Windows\system32\GDI32.dll
0x769e0000 - 0x769ea000 C:\Windows\system32\LPK.dll
0x769f0000 - 0x76a8d000 C:\Windows\system32\USP10.dll
0x743a0000 - 0x743d2000 C:\Windows\system32\WINMM.dll
0x76640000 - 0x7665f000 C:\Windows\system32\IMM32.DLL
0x76af0000 - 0x76bbc000 C:\Windows\system32\MSCTF.dll
0x75d00000 - 0x75d4b000 C:\Windows\system32\apphelp.dll
0x6d860000 - 0x6d86c000 D:\Programme\Java\jdk1.6.0_20\jre\bin\verify.dll
0x6d3e0000 - 0x6d3ff000 D:\Programme\Java\jdk1.6.0_20\jre\bin\java.dll
0x6d340000 - 0x6d348000 D:\Programme\Java\jdk1.6.0_20\jre\bin\hpi.dll
0x76520000 - 0x76525000 C:\Windows\system32\PSAPI.DLL
0x6d8a0000 - 0x6d8af000 D:\Programme\Java\jdk1.6.0_20\jre\bin\zip.dll
0x6d0b0000 - 0x6d1fa000 D:\Programme\Java\jdk1.6.0_20\jre\bin\awt.dll
0x72070000 - 0x720c1000 C:\Windows\system32\WINSPOOL.DRV
0x766b0000 - 0x7680c000 C:\Windows\system32\ole32.dll
0x74d20000 - 0x74ebe000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16661_none_420fe3fa2b8113bd\COMCTL32.dll
0x76a90000 - 0x76ae7000 C:\Windows\system32\SHLWAPI.dll
0x74870000 - 0x74883000 C:\Windows\system32\DWMAPI.DLL
0x74ba0000 - 0x74be0000 C:\Windows\system32\uxtheme.dll
0x75d50000 - 0x75d5c000 C:\Windows\system32\CRYPTBASE.dll
0x6d2e0000 - 0x6d334000 D:\Programme\Java\jdk1.6.0_20\jre\bin\fontmanager.dll
0x65630000 - 0x657f3000 C:\Windows\system32\d3d9.dll
0x75290000 - 0x75299000 C:\Windows\system32\VERSION.dll
0x67560000 - 0x67566000 C:\Windows\system32\d3d8thk.dll
0x65270000 - 0x6562e000 C:\Windows\system32\atiumdag.dll
0x64da0000 - 0x6526e000 C:\Windows\system32\atiumdva.dll
0x77060000 - 0x77ca9000 C:\Windows\system32\shell32.dll
0x76ea0000 - 0x76f2f000 C:\Windows\system32\OLEAUT32.DLL
0x6d6c0000 - 0x6d6d3000 D:\Programme\Java\jdk1.6.0_20\jre\bin\net.dll
0x76810000 - 0x76845000 C:\Windows\system32\WS2_32.dll
0x76100000 - 0x76106000 C:\Windows\system32\NSI.dll
0x75820000 - 0x7585c000 C:\Windows\system32\mswsock.dll
0x75810000 - 0x75816000 C:\Windows\System32\wship6.dll
0x10000000 - 0x10047000 C:\Program Files\Avira\AntiVir Desktop\avsda.dll
0x75380000 - 0x7539c000 C:\Windows\system32\IPHLPAPI.DLL
0x75370000 - 0x75377000 C:\Windows\system32\WINNSI.DLL
0x75350000 - 0x75355000 C:\Windows\System32\wshtcpip.dll
0x740f0000 - 0x74100000 C:\Windows\system32\NLAapi.dll
0x756e0000 - 0x75724000 C:\Windows\system32\DNSAPI.dll
0x72060000 - 0x72068000 C:\Windows\System32\winrnr.dll
0x71ee0000 - 0x71ef0000 C:\Windows\system32\napinsp.dll
0x71ec0000 - 0x71ed2000 C:\Windows\system32\pnrpnsp.dll
0x71eb0000 - 0x71eb6000 C:\Windows\system32\rasadhlp.dll
0x72920000 - 0x72958000 C:\Windows\System32\fwpuclnt.dll
0x6d500000 - 0x6d524000 D:\Programme\Java\jdk1.6.0_20\jre\bin\jpeg.dll
0x6d6e0000 - 0x6d6e9000 D:\Programme\Java\jdk1.6.0_20\jre\bin\nio.dll
0x637c0000 - 0x637ca000 D:\Metasyst\mlwl_jogltest\libs\jogl-2.0\gluegen-rt.dll
0x6d410000 - 0x6d416000 D:\Programme\Java\jdk1.6.0_20\jre\bin\jawt.dll
0x6a440000 - 0x6a44a000 D:\Metasyst\mlwl_jogltest\libs\jogl-2.0\nativewindow_awt.dll
0x6c100000 - 0x6c110000 D:\Metasyst\mlwl_jogltest\libs\jogl-2.0\nativewindow_win32.dll
0x64c00000 - 0x64cc8000 C:\Windows\system32\OpenGL32.dll
0x66af0000 - 0x66b12000 C:\Windows\system32\GLU32.dll
0x64b10000 - 0x64bf7000 C:\Windows\system32\DDRAW.dll
0x66e00000 - 0x66e06000 C:\Windows\system32\DCIMAN32.dll
0x76bc0000 - 0x76d5d000 C:\Windows\system32\SETUPAPI.dll
0x75e80000 - 0x75ea7000 C:\Windows\system32\CFGMGR32.dll
0x75fd0000 - 0x75fe2000 C:\Windows\system32\DEVOBJ.dll
0x64500000 - 0x64571000 D:\Metasyst\mlwl_jogltest\libs\jogl-2.0\jogl_desktop.dll
0x69030000 - 0x69b64000 C:\Windows\system32\atioglxx.dll
0x083e0000 - 0x08401000 C:\Windows\system32\atiadlxx.dll
0x6f760000 - 0x6f7fb000 C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4927_none_d08a205e442db5b5\MSVCR80.dll

VM Arguments:
jvm_args: -Djava.library.path=.\libs\jogl-2.0 -Xmx256m
java_command: at.metasyst.mlwl.mlwlviewer.MlwlViewer braudev.properties
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=D:\Programme\Java\jdk1.6.0_20
CLASSPATH=D:\Programme\Java\jdk1.6.0_20\lib;.\libs\xml-apis.jar;.\libs\xercesImpl.jar;MlwlViewer.jar;.\libs\ojdbc14.jar;.\libs\barbecue-1.1.jar;.\libs\bsh-1.3.0.jar;.\libs\commons-beanutils.jar;.\libs\commons-collections.jar;.\libs\commons-digester.jar;.\libs\commons-logging-api.jar;.\libs\commons-logging.jar;.\libs\hsqldb.jar;.\libs\itext-1.02b.jar;.\libs\jasperreports-0.6.1.jar;.\libs\jcmdline-1.0.2.jar;.\libs\jcommon-0.9.6.jar;.\libs\jfreechart-0.9.21.jar;.\libs\log4j-1.2.8.jar;.\libs\looks-1.2.2.jar;.\libs\poi-2.0-final-20040126.jar;.\libs\tinylaf.jar;.\libs\metalagvisual-2.0.1.jar;.\libs\MetaIPC.jar;.\libs\jogl.all.jar;.\libs\gluegen-rt.jar;.\libs\newt.all.jar;.\libs\nativewindow.all.jar;
PATH=D:\Programme\csvn\bin\;D:\Programme\csvn\Python25\;D:\Programme\oracle\product\10.2.0\client_1;D:\Programme\MiKTeX 2.8\miktex\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\Programme\Java\jdk1.6.0_20\bin;D:\Programme\apache-maven-3.0\bin;D:\Programme\ATI Technologies\ATI.ACE\Core-Static
USERNAME=Domokun
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 13 Stepping 8, GenuineIntel



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

OS: Windows 7 Build 7600

CPU:total 1 (1 cores per cpu, 1 threads per core) family 6 model 13 stepping 8, cmov, cx8, fxsr, mmx, sse, sse2

Memory: 4k page, physical 2095352k(859204k free), swap 4190704k(2698304k free)

vm_info: Java HotSpot(TM) Client VM (16.3-b01) for windows-x86 JRE (1.6.0_20-b02), built on Apr 12 2010 13:52:23 by "java_re" with MS VC++ 7.1 (VS2003)

time: Tue Jan 18 16:22:22 2011
elapsed time: 17 seconds
Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

Wade Walker
Administrator
Often an exception that happens inside the ATI DLL like this is due to a driver bug. Have you checked that your driver is at the latest version?
Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

John No
It's the latest version, but since my laptop is rather old its only the legacy vista driver.
ATI hasn't released a newer driver for the Mobility X600 so far.
Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

John No
The crash seems to be related with the TextRenderer, after commenting all uses of Text Objects the rest of the program is running fine.

Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [atioglxx.dll+0x26a856]
j  com.jogamp.opengl.impl.gl4.GL4bcImpl.dispatch_glBindBuffer1(IIJ)V+0
j  com.jogamp.opengl.impl.gl4.GL4bcImpl.glBindBuffer(II)V+34
j  com.jogamp.opengl.util.awt.TextRenderer.endRendering(Z)V+36

not sure if the catalyst 10.2 legacy driver (2/24/2010) would fully support gl4.
Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

Wade Walker
Administrator
You might try changing the settings on the text renderer like this:

textrenderer.setUseVertexArrays( false );

I've found that sometimes this helps work around buggy drivers.
Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

John No
I managed to test the program on a different system, the TextRenderer is working fine there...

UseVertexArrays(false) didn't help
I'm now thinking of implementing my own textrenderer, since i don't need more than one font anyway...
Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

Wade Walker
Administrator
I think there are some other changeable settings in text renderer too, you might be able to find a rendering path that works on your system. Or you could copy the TextRenderer code and alter it to work around the ATI driver problem :)

Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

gouessej
Administrator
In reply to this post by John No
When disabling vertex arrays and VBO, you cannot have exactly the same result because your first crash happened when calling glGenBuffers.

Edit.: some ATI graphics cards crash when calling gl.glBindBuffer(GL.GL_ARRAY_BUFFER, 0); Disabling vertex arrays and then VBO should be enough. I already wrote a bug report about a similar problem.

Edit.2: I have no time to commit a patch. When calling setUseVertexArrays(false), gl.glBindBuffer(GL.GL_ARRAY_BUFFER, 0) should never be called, this is a minor bug.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

Wade Walker
Administrator
In reply to this post by John No
Hi John,

Julien's advice looks good -- you might be able to patch TextRenderer.endRendering(boolean ortho) so it doesn't call glBindBuffer if useVertexArrays is false. There's a wiki page on how to report a bug and submit a fix at https://jogamp.org/wiki/index.php/Contributing_a_new_feature_or_fix. You should make sure you can build JOGL first (check https://jogamp.org/wiki/index.php/How_to_Contribute).

This might take a little while, but it's probably easier than trying to write your own TextRenderer, and it would help the rest of the JOGL community
Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

Ondrej
In reply to this post by John No
I was experiencing similar JVM crashes when using TextRenderer with Jogl 1.1.1. The problem was solved after I removed text rendering from display lists.
Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

Wade Walker
Administrator
In reply to this post by John No
Actually, I might have some time to try a patch. John, are you on Windows 7 32-bit? I might be able to create a test version of JOGL for you with the patch in it to see if it fixes the problem. Just let me know for sure what your platform is and I'll post a JOGL build here.

Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

John No
As a fast fix i copied the TextRenderer Class and made a minor change to the is15Available method:

from return isExtensionAvailable_GL_VERSION_1_5
to return isExtensionAvailable_GL_VERSION_1_5 && useVertexArrays;

Some methods of the Renderer checked VBO capability but ignored the fact that useVertexArrays was set to false.
adding the vertexarray flag to the return statement did the trick and i guess it would make sense to add that to the regular builds as well.

thx for the advice :)

John
Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

John No
Btw...
If nobody else volunteers then i'll play around with git a little bit at the weekend and try to contribute my fix.
Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

Wade Walker
Administrator
It'd be great if you could contribute a fix! Just let me know if you find any omissions or unclear bits in the instructional links above, and I'll fix them up.

Just two things to keep in mind (both of these are in the instructions):
- Please write a failing unit test first, then make sure your fix makes it pass
- Make sure your change to TextRenderer.java doesn't include any whitespace changes; only the one line in question should change

Thanks for your help! If you run into trouble, just post here.
Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

John No
Produced a junit test that checks if TextRenderer calls vbo-related glFunctions while useVertexArrays is set to false.
I'm not sure if my solution is the most elegant way to do that, so i'd appreciate advice if there's a better way.

https://github.com/Domokun/jogl/compare/bug_464

and i guess eclipse screwed up the file encoding, i guess the standard encoding of the source is UTF-8?
Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

Wade Walker
Administrator
Hey, that looks pretty good

For TextRenderer.java, perhaps you checked in a version with the wrong line endings? That's the most common cause of every line being different. Once the checkin is correct, the line diffs should show only the few lines you changed.

The only other thing I'd suggest would be to add class comments to your three new classes to say briefly why they were created and what they do. The purpose seems obvious to you now, but it will help later developers  And I guess the copyright dates on the JogAmp community headers should now be 2011.

Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

John No
yep, it was a CRLF problem...
autocrlf doesn't seem to work well on my system :>

Updated header, added comments to the test classes and sent pull request.
guess i'm done
Reply | Threaded
Open this post in threaded view
|

Re: Problems with update to b266

Wade Walker
Administrator
Your patch looks great! Totally clean, with just a one-line change. Nice comments on the test cases, too

Thanks very much for your contribution, John! I think this will help many other people -- I've run across this same problem on some older machines at work, I just didn't realize it at the time.