Crash report while just messing around

Started by Bryan, December 15, 2011, 08:14:02 PM

Previous topic - Next topic

Bryan

Hey I was using one of the examples here (that I typed out line by line and omitted some of the objects and stuff) and then I ended up changing the plane size to be almost double in size. Whenever I start moving around a bit and rotating the camera, it seems to crash and spits out an ACCESS_VIOLATION.

Here is the minimal output, if you need the full log just ask and I can post it.

QuoteLoading Texture...textures/grass.jpg
Java version is: 1.6.0_26
-> support for BufferedImage
Version helper for 1.5+ initialized!
-> using BufferedImage
Software renderer (OpenGL mode) initialized
Software renderer disposed
Can't find desired videomode (1024 x 768 x 24) - searching for alternatives
Current mode:1024 x 768 x 32 @60Hz
Software renderer disposed
Driver is: nvd3dumx,nvwgf2umx,nvwgf2umx/null on NVIDIA Corporation / GeForce GTX 460/PCI/SSE2
GL_ARB_texture_env_combine supported and used!
FBO supported and used!
VBO supported and used!
OpenGL renderer initialized (using 4 texture stages)
Adding Lightsource: 0
New WorldProcessor created using 1 thread(s) and granularity of 1!
Checking for triangle strip...
Not a triangle strip at position 1!
Subobject of object 2/object4 compiled using 15000 vertices in 20ms!
Object 2/object4 compiled to 1 subobjects in 31ms!
Creating new world processor buffer for thread main
VBO created for object 'object4'
Compiled 1 VBO!
New WorldProcessor created using 1 thread(s) and granularity of 1!
2
5220
5566
5598
5608
5612
5584
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x62981a70, pid=5048, tid=2568
#
# JRE version: 6.0_26-b03
# Java VM: Java HotSpot(TM) Client VM (20.1-b02 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [nvoglv32.DLL+0x861a70]
#
# An error report file with more information is saved as:
# C:\Users\Bryan\workspace_temp\Messing Around\hs_err_pid5048.log
#
# 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.
#

Thanks in advance!

EgonOlsen

Can you reproduce this? It might help to see the complete hs_err-...log-file content.

Bryan

#2
I was able to reproduce it everytime I ran it. I changed it back and it worked fine, which got me thinking I just did it wrong.

Here is the latest log I had for it.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x63501a70, pid=4516, tid=412
#
# JRE version: 6.0_26-b03
# Java VM: Java HotSpot(TM) Client VM (20.1-b02 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [nvoglv32.DLL+0x861a70]
#
# 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 (0x004c9400):  JavaThread "main" [_thread_in_native, id=412, stack(0x00380000,0x003d0000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x050a6000

Registers:
EAX=0x0819ad08, EBX=0x00000691, ECX=0x050a6000, EDX=0x00000091
ESP=0x003cefa8, EBP=0x003cefac, ESI=0x00000008, EDI=0x06750020
EIP=0x63501a70, EFLAGS=0x00010202

Top of Stack: (sp=0x003cefa8)
0x003cefa8:   05b9a040 003cefe0 635d22f2 08197d08
0x003cefb8:   050a3000 00000008 00000691 0556735c
0x003cefc8:   3f1453ed 3e59ddad 0638bda0 3f50a664
0x003cefd8:   06750020 00000000 003cf044 635d43c5
0x003cefe8:   00000000 00000691 63501a60 0000000b
0x003ceff8:   003cf034 409fb190 00000000 00002580
0x003cf008:   05540000 00000000 003cf054 00080000
0x003cf018:   409fb190 00000000 067cb8e8 00000000

Instructions: (pc=0x63501a70)
0x63501a50:   d9 01 03 ce d9 18 83 c0 04 4a 75 f4 5e 5d c3 cc
0x63501a60:   55 8b ec 8b 4d 0c 8b 55 14 8b 45 08 56 8b 75 10
0x63501a70:   d9 01 83 c0 08 d9 58 f8 d9 41 04 03 ce 4a d9 58
0x63501a80:   fc 75 ed 5e 5d c3 cc cc cc cc cc cc cc cc cc cc


Register to memory mapping:

EAX=0x0819ad08 is an unknown value
EBX=0x00000691 is an unknown value
ECX=0x050a6000 is an unknown value
EDX=0x00000091 is an unknown value
ESP=0x003cefa8 is pointing into the stack for thread: 0x004c9400
EBP=0x003cefac is pointing into the stack for thread: 0x004c9400
ESI=0x00000008 is an unknown value
EDI=0x06750020 is an unknown value


Stack: [0x00380000,0x003d0000],  sp=0x003cefa8,  free space=315k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [nvoglv32.DLL+0x861a70]  DrvPresentBuffers+0x75290
C  [nvoglv32.DLL+0x9322f2]  DrvPresentBuffers+0x145b12
C  [nvoglv32.DLL+0x9343c5]  DrvPresentBuffers+0x147be5
C  [nvoglv32.DLL+0x9346af]  DrvPresentBuffers+0x147ecf
C  [nvoglv32.DLL+0x16cb41]
C  [lwjgl.dll+0x9ec8]  Java_org_lwjgl_opengl_EXTDirectStateAccess_nglGetMultiTexGenfvEXT+0x18
J  com.threed.jpct.CompiledInstance.renderVBO(ZLcom/threed/jpct/IRenderHook;)V
j  com.bryan.testing.Game.<init>()V+106
j  com.bryan.testing.Game.main([Ljava/lang/String;)V+3
v  ~StubRoutines::call_stub
V  [jvm.dll+0xfae4b]
V  [jvm.dll+0x18c531]
V  [jvm.dll+0xfaecd]
V  [jvm.dll+0x95846]
V  [jvm.dll+0x9d683]
C  [javaw.exe+0x2155]
C  [javaw.exe+0x8644]
C  [kernel32.dll+0x13677]  BaseThreadInitThunk+0x12
C  [ntdll.dll+0x39d42]  RtlInitializeExceptionChain+0x63
C  [ntdll.dll+0x39d15]  RtlInitializeExceptionChain+0x36

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J  org.lwjgl.opengl.GL11.nglDrawElementsBO(IIIJJ)V
J  com.threed.jpct.CompiledInstance.renderVBO(ZLcom/threed/jpct/IRenderHook;)V
J  com.threed.jpct.CompiledInstance.render(ILcom/threed/jpct/GLBase;Ljava/nio/FloatBuffer;[FZLcom/threed/jpct/Camera;[[FZ[Ljava/lang/Object;)V
J  com.threed.jpct.GLRenderer.drawVertexArray(Lcom/threed/jpct/VisList;IILcom/threed/jpct/FrameBuffer;Lcom/threed/jpct/World;)V
J  com.threed.jpct.World.draw(Lcom/threed/jpct/FrameBuffer;ZIII)V
J  com.threed.jpct.World.draw(Lcom/threed/jpct/FrameBuffer;)V
j  com.bryan.testing.Game.loop()V+55
j  com.bryan.testing.Game.<init>()V+106
j  com.bryan.testing.Game.main([Ljava/lang/String;)V+3
v  ~StubRoutines::call_stub

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

Java Threads: ( => current thread )
  0x04a03000 JavaThread "Image Fetcher 0" daemon [_thread_blocked, id=672, stack(0x04eb0000,0x04f00000)]
  0x04a02800 JavaThread "AWT-Windows" daemon [_thread_in_native, id=4404, stack(0x04e20000,0x04e70000)]
  0x024bbc00 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=992, stack(0x04cf0000,0x04d40000)]
  0x02468400 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=4380, stack(0x04900000,0x04950000)]
  0x02464000 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=4664, stack(0x04870000,0x048c0000)]
  0x02462c00 JavaThread "Attach Listener" daemon [_thread_blocked, id=212, stack(0x047e0000,0x04830000)]
  0x02462000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=5092, stack(0x04750000,0x047a0000)]
  0x02457c00 JavaThread "Finalizer" daemon [_thread_blocked, id=4388, stack(0x046c0000,0x04710000)]
  0x02456800 JavaThread "Reference Handler" daemon [_thread_blocked, id=1980, stack(0x04630000,0x04680000)]
=>0x004c9400 JavaThread "main" [_thread_in_native, id=412, stack(0x00380000,0x003d0000)]

Other Threads:
  0x02419c00 VMThread [stack: 0x045a0000,0x045f0000] [id=5108]
  0x02472800 WatcherThread [stack: 0x04990000,0x049e0000] [id=360]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
def new generation   total 20608K, used 14457K [0x244f0000, 0x25b40000, 0x29a40000)
  eden space 18368K,  78% used [0x244f0000, 0x2530e6e0, 0x256e0000)
  from space 2240K,   0% used [0x256e0000, 0x256e0000, 0x25910000)
  to   space 2240K,   0% used [0x25910000, 0x25910000, 0x25b40000)
tenured generation   total 45604K, used 27360K [0x29a40000, 0x2c6c9000, 0x344f0000)
   the space 45604K,  59% used [0x29a40000, 0x2b4f8238, 0x2b4f8400, 0x2c6c9000)
compacting perm gen  total 12288K, used 1844K [0x344f0000, 0x350f0000, 0x384f0000)
   the space 12288K,  15% used [0x344f0000, 0x346bd0f0, 0x346bd200, 0x350f0000)
    ro space 10240K,  51% used [0x384f0000, 0x38a1dff8, 0x38a1e000, 0x38ef0000)
    rw space 12288K,  55% used [0x38ef0000, 0x3958c208, 0x3958c400, 0x39af0000)

Code Cache  [0x024d0000, 0x02720000, 0x044d0000)
total_blobs=698 nmethods=442 adapters=192 free_code_cache=31156992 largest_free_block=0

Dynamic libraries:
0x00400000 - 0x00424000 C:\Program Files (x86)\Java\jre6\bin\javaw.exe
0x776f0000 - 0x77870000 C:\Windows\SysWOW64\ntdll.dll
0x75ab0000 - 0x75bb0000 C:\Windows\syswow64\kernel32.dll
0x759c0000 - 0x75a06000 C:\Windows\syswow64\KERNELBASE.dll
0x75a10000 - 0x75ab0000 C:\Windows\syswow64\ADVAPI32.dll
0x76f50000 - 0x76ffc000 C:\Windows\syswow64\msvcrt.dll
0x76de0000 - 0x76df9000 C:\Windows\SysWOW64\sechost.dll
0x75ca0000 - 0x75d90000 C:\Windows\syswow64\RPCRT4.dll
0x75260000 - 0x752c0000 C:\Windows\syswow64\SspiCli.dll
0x75250000 - 0x7525c000 C:\Windows\syswow64\CRYPTBASE.dll
0x76ce0000 - 0x76de0000 C:\Windows\syswow64\USER32.dll
0x771d0000 - 0x77260000 C:\Windows\syswow64\GDI32.dll
0x776c0000 - 0x776ca000 C:\Windows\syswow64\LPK.dll
0x757e0000 - 0x7587d000 C:\Windows\syswow64\USP10.dll
0x75960000 - 0x759c0000 C:\Windows\system32\IMM32.DLL
0x75bd0000 - 0x75c9c000 C:\Windows\syswow64\MSCTF.dll
0x7c340000 - 0x7c396000 C:\Program Files (x86)\Java\jre6\bin\msvcr71.dll
0x6d7f0000 - 0x6da9f000 C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll
0x713c0000 - 0x713f2000 C:\Windows\system32\WINMM.dll
0x74330000 - 0x7437b000 C:\Windows\system32\apphelp.dll
0x6d7a0000 - 0x6d7ac000 C:\Program Files (x86)\Java\jre6\bin\verify.dll
0x6d320000 - 0x6d33f000 C:\Program Files (x86)\Java\jre6\bin\java.dll
0x75910000 - 0x75915000 C:\Windows\system32\PSAPI.DLL
0x6d7e0000 - 0x6d7ef000 C:\Program Files (x86)\Java\jre6\bin\zip.dll
0x6d000000 - 0x6d14b000 C:\Program Files (x86)\Java\jre6\bin\awt.dll
0x75120000 - 0x75171000 C:\Windows\system32\WINSPOOL.DRV
0x75370000 - 0x754cc000 C:\Windows\syswow64\ole32.dll
0x71410000 - 0x715ae000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16661_none_420fe3fa2b8113bd\COMCTL32.dll
0x75d90000 - 0x75de7000 C:\Windows\syswow64\SHLWAPI.dll
0x715b0000 - 0x71634000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16661_none_ebfb56996c72aefc\comctl32.dll
0x70530000 - 0x70543000 C:\Windows\system32\DWMAPI.DLL
0x6d440000 - 0x6d465000 C:\Program Files (x86)\Java\jre6\bin\jpeg.dll
0x10000000 - 0x10073000 C:\Users\Bryan\workspace_temp\Messing Around\lib\lwjgl-2.8.0\native\windows\lwjgl.dll
0x6cc90000 - 0x6cd58000 C:\Windows\system32\OPENGL32.dll
0x6ce50000 - 0x6ce72000 C:\Windows\system32\GLU32.dll
0x6e970000 - 0x6ea57000 C:\Windows\system32\DDRAW.dll
0x6e960000 - 0x6e966000 C:\Windows\system32\DCIMAN32.dll
0x75eb0000 - 0x7604d000 C:\Windows\syswow64\SETUPAPI.dll
0x75df0000 - 0x75e17000 C:\Windows\syswow64\CFGMGR32.dll
0x77260000 - 0x772ef000 C:\Windows\syswow64\OLEAUT32.dll
0x75bb0000 - 0x75bc2000 C:\Windows\syswow64\DEVOBJ.dll
0x75180000 - 0x75189000 C:\Windows\system32\VERSION.dll
0x62ca0000 - 0x63ec5000 C:\Windows\system32\nvoglv32.DLL
0x76090000 - 0x76cd9000 C:\Windows\syswow64\SHELL32.dll
0x6ce80000 - 0x6cef9000 C:\Windows\system32\mscms.dll
0x72ec0000 - 0x72ed7000 C:\Windows\system32\USERENV.dll
0x72eb0000 - 0x72ebb000 C:\Windows\system32\profapi.dll
0x6cd60000 - 0x6cd98000 C:\Windows\system32\icm32.dll

VM Arguments:
jvm_args: -Djava.library.path=C:\Users\Bryan\workspace_temp\Messing Around\lib\lwjgl-2.8.0\native\windows;C:\Users\Bryan\workspace_temp\Messing Around\lib\lwjgl-2.8.0\native\windows;C:\Users\Bryan\workspace_temp\Messing Around\lib\lwjgl-2.8.0\native\windows -Dfile.encoding=Cp1252
java_command: com.bryan.testing.Game
Launcher Type: SUN_STANDARD

Environment Variables:
CLASSPATH=.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip
PATH=C:/Program Files (x86)/Java/jre6/bin/client;C:/Program Files (x86)/Java/jre6/bin;C:/Program Files (x86)/Java/jre6/lib/i386;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Java\jre6\bin\;C:\Program Files (x86)\TortoiseHg\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Git\cmd;C:\Program Files\TortoiseSVN\bin;C:\Ruby192\bin;C:\eclipse;
USERNAME=Bryan
OS=Windows_NT
PROCESSOR_IDENTIFIER=AMD64 Family 16 Model 10 Stepping 0, AuthenticAMD



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

OS: Windows 7 Build 7600

CPU:total 6 (6 cores per cpu, 1 threads per core) family 16 model 10 stepping 0, cmov, cx8, fxsr, mmx, sse, sse2, sse3, popcnt, mmxext, 3dnow, 3dnowext, lzcnt, sse4a

Memory: 4k page, physical 4192436k(1863680k free), swap 8382972k(5757696k free)

vm_info: Java HotSpot(TM) Client VM (20.1-b02) for windows-x86 JRE (1.6.0_26-b03), built on May  4 2011 00:50:59 by "java_re" with MS VC++ 7.1 (VS2003)

time: Thu Dec 15 14:33:11 2011
elapsed time: 5 seconds




EDIT: I tried changing it back and it didn't happen again. But then I tried a different set of numbers,

Primitives.getPlane(40, 70);

Which just opened and froze the the entire window.

Is there a certain limit that is allowed for those params?

EgonOlsen

Which version of jPCT and which version of your GeForce is that? Have you tried updating the drivers?

Bryan

The jPCT version is the one that's found in the Download section of the main website. (Currently).

The NVIDIA driver is one of the newer ones (I am blanking on exactly which one), I would look right now but I booted back into Ubuntu for the time being. I would love to work with jCPT here as well but I can't because it doesn't play well with monitor resolutions (I have 2 monitors and it only allows for the full size of both monitors).

Sorry for not having all the information currently. I do appreciate your help though!

EgonOlsen

The multi-monitor problem is a LWJGL related one, not a jPCT problem. You might find some information on how to solve it on the lwjgl homepage/forum.

Bryan

Alright, I will try to located some fix for it so I can maybe do some work here on Ubuntu as well.

I also will try to see if I can produce that crash here if I get it working.

Thanks for replying Egon :)

Bryan

#7
Sorry for the double post here.

I was in the mood for testing to see what was actually the issue here. So I downloaded lwjgl and did some testing here on Ubuntu with the display creation.

It seems I can set any size I want to perfectly fine with straight lwjgl

Display.setDisplayMode(new DisplayMode(WIDTH, HEIGHT));
Display.create();


No issues whatsoever, but again I tried in jPCT and it just freezes.

EgonOlsen

#8
It freezes while creating the display on Ubuntu? At which stage? What does the log say? jPCT relies on the display modes reported by the driver to ensure proper fullscreen support. The usual problem with Linux and multi-monitor is, that the driver reports the combined resolution only: http://lwjgl.org/forum/index.php/topic,2715.msg15557.html

Display.create() doesn't specify any mininum requirements...almost every mode will pass as valid even without a zbuffer in 16bit color, which is why jPCT uses the PixelFormat-variant based on your settings in Config.

However, you can always disable display creation and do it on your own. Just set http://www.jpct.net/doc/com/threed/jpct/Config.html#glSkipInitialization to false Edit: true.

Bryan

It was only freezing for me sometimes at the monitor resolution. (Also I found that if I it would print out really high FPS numbers but the frame seemed to be getting terrible frames (like it skipped)).

But I just verified my findings, if I turned that initialization through jPCT off and did it myself it worked fine with any resolution.

try {
Display.setDisplayMode(new DisplayMode(1024, 768));
Display.create();
} catch (LWJGLException e) {
e.printStackTrace();
}

EgonOlsen

Makes no sense to me...jPCT simply tries to find the best matching mode. If that doesn't work out, it will either fail to initialize the display or (if Config.glUseUnappropriateMode=true;) does what you did in your code: Use whatever is there with no constrainst. Have you tried to set Config.glColorDepth=24; before creating the FrameBuffer? Maybe i should add some auto-adjustment to this setting that converts 32bit to 24bit on Linux...

Bryan

Yeah I do have it to 24 before initializing the framebuffer.

As for the output I get when I try to let jPCT create the Display this is what I get.

QuoteCan't find desired videomode (1024 x 768 x 24) - searching for alternatives
Can't find alternative videomode (1024 x 768 x 24) - trying something else
[ Sat Dec 17 13:46:07 EST 2011 ] - ERROR: Can't find any suitable videomode!
[ Sat Dec 17 13:46:07 EST 2011 ] - ERROR: Can't set videomode - try different settings!
Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalStateException: Display must be created.
   at com.bryan.testing.util.MouseMapper.init(MouseMapper.java:76)
   at com.bryan.testing.util.MouseMapper.<init>(MouseMapper.java:14)
   at com.bryan.testing.Game.init(Game.java:109)
   at com.bryan.testing.Game.<init>(Game.java:72)
   at com.bryan.testing.Game.main(Game.java:55)
Caused by: java.lang.IllegalStateException: Display must be created.
   at org.lwjgl.input.Mouse.create(Mouse.java:289)
   at com.bryan.testing.util.MouseMapper.init(MouseMapper.java:73)
   ... 4 more

EgonOlsen

I see...that's because the driver doesn't report the proper resolutions.

Bryan

Yeah so I guess instead of trying to find the correct videomode I will just supply my own (creating my own display).

That will work fine, thanks for letting me know about that.