Slick Forums

Discuss the Slick 2D Library
It is currently Tue May 21, 2013 1:20 pm

All times are UTC




Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Wed Dec 22, 2010 8:08 pm 
Offline
Oldbie
User avatar

Joined: Fri Jul 20, 2007 9:25 am
Posts: 410
Location: Croatia
Hello,

My game crashes to one of the testers when SlickCallable.leaveSafeBlock() is called. I'll provide the full error log, and the code of the method that is called. Probably a lwjgl thing.
What happens ingame is that a monster is killed and it's body is rendered to the game map image, that's why I use SlickCallable before messing with OpenGL.

I know I can just reset the GL state back and not use SlickCallable, that's what I did actually, just wanted to report this error.

Error log:
Quote:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0534929d, pid=1656, tid=11136
#
# JRE version: 6.0_21-b07
# Java VM: Java HotSpot(TM) Client VM (17.0-b17 mixed mode, sharing windows-x86 )
# Problematic frame:
# C [ig4dev32.dll+0x929d]
#
# 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 (0x00aa7000): JavaThread "main" [_thread_in_native, id=11136, stack(0x00370000,0x003c0000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x00000014

Registers:
EAX=0x00000000, EBX=0x09d587a8, ECX=0x00264664, EDX=0x00000000
ESP=0x003bf90c, EBP=0x077d91a8, ESI=0x002655e0, EDI=0x00000001
EIP=0x0534929d, EFLAGS=0x00010202

Top of Stack: (sp=0x003bf90c)
0x003bf90c: 00264664 000fffff 003bf950 000fffff
0x003bf91c: 3b008081 053626ea 00264664 14284068
0x003bf92c: 04c47e85 14284068 00264664 00264664
0x003bf93c: 000fffff 04c493dd 003bf950 003bf9bc
0x003bf94c: 342f3390 00260000 00000010 14286f74
0x003bf95c: 000fffff 00000005 00266918 00266930
0x003bf96c: 04c4953c 00aa7000 342f3390 1000a924
0x003bf97c: 02149f47 00aa7118 003bf9c4 04c27a50

Instructions: (pc=0x0534929d)
0x0534928d: 56 8d b1 7c 0f 00 00 8b 06 8b 84 83 a8 00 00 00
0x0534929d: 80 78 14 00 75 09 d8 d1 df e0 f6 c4 05 7b 0e 42


Stack: [0x00370000,0x003c0000], sp=0x003bf90c, free space=13e003bf3f0k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [ig4dev32.dll+0x929d]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j org.lwjgl.opengl.GL11.nglPopAttrib(J)V+0
j org.lwjgl.opengl.GL11.glPopAttrib()V+14
j org.newdawn.slick.opengl.SlickCallable.leaveSafeBlock()V+28
j com.threelines.afterdeath.GameMap.renderToMap(Lorg/newdawn/slick/Image;FFF)V+35
j com.threelines.afterdeath.enemy.Enemy.die()V+98
J com.threelines.afterdeath.enemy.Enemy.update(I)V
J com.threelines.afterdeath.IngameState.update(Lorg/newdawn/slick/GameContainer;Lorg/newdawn/slick/state/StateBasedGame;I)V
j org.newdawn.slick.state.StateBasedGame.update(Lorg/newdawn/slick/GameContainer;I)V+168
j org.newdawn.slick.ScalableGame.update(Lorg/newdawn/slick/GameContainer;I)V+32
j org.newdawn.slick.GameContainer.updateAndRender(I)V+190
j org.newdawn.slick.AppGameContainer.gameLoop()V+33
j org.newdawn.slick.AppGameContainer.start()V+17
j com.threelines.afterdeath.Game.main([Ljava/lang/String;)V+83
v ~StubRoutines::call_stub

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

Java Threads: ( => current thread )
0x020cb800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=12756, stack(0x045c0000,0x04610000)]
0x020c6400 JavaThread "CompilerThread0" daemon [_thread_blocked, id=6464, stack(0x04530000,0x04580000)]
0x020c5400 JavaThread "Attach Listener" daemon [_thread_blocked, id=14072, stack(0x044a0000,0x044f0000)]
0x020c2400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=11188, stack(0x04410000,0x04460000)]
0x0207fc00 JavaThread "Finalizer" daemon [_thread_blocked, id=13072, stack(0x04380000,0x043d0000)]
0x0207e400 JavaThread "Reference Handler" daemon [_thread_blocked, id=13464, stack(0x042f0000,0x04340000)]
=>0x00aa7000 JavaThread "main" [_thread_in_native, id=11136, stack(0x00370000,0x003c0000)]

Other Threads:
0x0207d000 VMThread [stack: 0x04260000,0x042b0000] [id=13372]
0x020dd400 WatcherThread [stack: 0x04650000,0x046a0000] [id=11208]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
def new generation total 16960K, used 6193K [0x241f0000, 0x25450000, 0x29740000)
eden space 15104K, 39% used [0x241f0000, 0x247ced20, 0x250b0000)
from space 1856K, 9% used [0x25280000, 0x252ad8f8, 0x25450000)
to space 1856K, 0% used [0x250b0000, 0x250b0000, 0x25280000)
tenured generation total 37552K, used 20373K [0x29740000, 0x2bbec000, 0x341f0000)
the space 37552K, 54% used [0x29740000, 0x2ab254e0, 0x2ab25600, 0x2bbec000)
compacting perm gen total 12288K, used 3318K [0x341f0000, 0x34df0000, 0x381f0000)
the space 12288K, 27% used [0x341f0000, 0x3452da28, 0x3452dc00, 0x34df0000)
ro space 10240K, 51% used [0x381f0000, 0x3871b700, 0x3871b800, 0x38bf0000)
rw space 12288K, 54% used [0x38bf0000, 0x392876c0, 0x39287800, 0x397f0000)

Dynamic libraries:
0x00400000 - 0x00424000 C:\windows\SysWOW64\java.exe
0x77160000 - 0x772e0000 C:\windows\SysWOW64\ntdll.dll
0x75340000 - 0x75440000 C:\windows\syswow64\kernel32.dll
0x752f0000 - 0x75336000 C:\windows\syswow64\KERNELBASE.dll
0x75250000 - 0x752f0000 C:\windows\syswow64\ADVAPI32.dll
0x75f10000 - 0x75fbc000 C:\windows\syswow64\msvcrt.dll
0x75080000 - 0x75099000 C:\windows\SysWOW64\sechost.dll
0x75730000 - 0x75820000 C:\windows\syswow64\RPCRT4.dll
0x74cd0000 - 0x74d30000 C:\windows\syswow64\SspiCli.dll
0x74cc0000 - 0x74ccc000 C:\windows\syswow64\CRYPTBASE.dll
0x7c340000 - 0x7c396000 C:\Program Files (x86)\Java\jre6\bin\msvcr71.dll
0x6d800000 - 0x6daa7000 C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll
0x76c60000 - 0x76d60000 C:\windows\syswow64\USER32.dll
0x75160000 - 0x751f0000 C:\windows\syswow64\GDI32.dll
0x77130000 - 0x7713a000 C:\windows\syswow64\LPK.dll
0x75690000 - 0x7572d000 C:\windows\syswow64\USP10.dll
0x70200000 - 0x70232000 C:\windows\SysWOW64\WINMM.dll
0x75630000 - 0x75690000 C:\windows\system32\IMM32.DLL
0x75e30000 - 0x75efc000 C:\windows\syswow64\MSCTF.dll
0x6c310000 - 0x6c35b000 C:\windows\system32\apphelp.dll
0x6d7b0000 - 0x6d7bc000 C:\Program Files (x86)\Java\jre6\bin\verify.dll
0x6d330000 - 0x6d34f000 C:\Program Files (x86)\Java\jre6\bin\java.dll
0x6d290000 - 0x6d298000 C:\Program Files (x86)\Java\jre6\bin\hpi.dll
0x74d30000 - 0x74d35000 C:\windows\syswow64\PSAPI.DLL
0x6d7f0000 - 0x6d7ff000 C:\Program Files (x86)\Java\jre6\bin\zip.dll
0x10000000 - 0x10071000 C:\Temp\andromeda\lwjgl.dll
0x72f90000 - 0x7312e000 C:\windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16661_none_420fe3fa2b8113bd\COMCTL32.dll
0x751f0000 - 0x75247000 C:\windows\syswow64\SHLWAPI.dll
0x6be40000 - 0x6bf08000 C:\windows\SysWOW64\OPENGL32.dll
0x6f330000 - 0x6f352000 C:\windows\SysWOW64\GLU32.dll
0x6c220000 - 0x6c307000 C:\windows\SysWOW64\DDRAW.dll
0x6c210000 - 0x6c216000 C:\windows\SysWOW64\DCIMAN32.dll
0x74ea0000 - 0x7503d000 C:\windows\syswow64\SETUPAPI.dll
0x750a0000 - 0x750c7000 C:\windows\syswow64\CFGMGR32.dll
0x750d0000 - 0x7515f000 C:\windows\syswow64\OLEAUT32.dll
0x74d40000 - 0x74e9c000 C:\windows\syswow64\ole32.dll
0x75950000 - 0x75962000 C:\windows\syswow64\DEVOBJ.dll
0x72ef0000 - 0x72f03000 C:\windows\SysWOW64\dwmapi.dll
0x745b0000 - 0x745b9000 C:\windows\SysWOW64\VERSION.dll
0x73130000 - 0x731b0000 C:\windows\system32\uxtheme.dll
0x04c00000 - 0x051d6000 C:\windows\SysWOW64\ig4icd32.dll
0x05340000 - 0x05738000 C:\windows\SysWOW64\ig4dev32.dll
0x692e0000 - 0x69359000 C:\windows\SysWOW64\mscms.dll
0x743b0000 - 0x743c7000 C:\windows\SysWOW64\USERENV.dll
0x743a0000 - 0x743ab000 C:\windows\SysWOW64\profapi.dll
0x6f150000 - 0x6f188000 C:\windows\SysWOW64\icm32.dll
0x6d000000 - 0x6d14a000 C:\Program Files (x86)\Java\jre6\bin\awt.dll
0x71d20000 - 0x71d71000 C:\windows\SysWOW64\WINSPOOL.DRV
0x052f0000 - 0x0532a000 c:\Temp\andromeda\OpenAL32.dll
0x6f890000 - 0x6f933000 C:\windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4974_none_50940634bcb759cb\MSVCR90.dll
0x76010000 - 0x76c59000 C:\windows\syswow64\SHELL32.dll
0x6d6c0000 - 0x6d732000 C:\windows\SysWOW64\dsound.dll
0x71e70000 - 0x71e95000 C:\windows\SysWOW64\POWRPROF.dll
0x75970000 - 0x759f3000 C:\windows\syswow64\CLBCatQ.DLL
0x72840000 - 0x72879000 C:\windows\System32\MMDevApi.dll
0x6e470000 - 0x6e565000 C:\windows\System32\PROPSYS.dll
0x6d680000 - 0x6d6b6000 C:\windows\SysWOW64\AUDIOSES.DLL
0x72830000 - 0x72837000 C:\windows\SysWOW64\avrt.dll

VM Arguments:
java_command: andromeda.jar
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=c:\Workspace\Programs\jdk1.6.0_18
CLASSPATH=.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip
PATH=C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\CollabNet\Subversion Client;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\x64\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\TortoiseSVN\bin;C:\Program Files (x86)\Panda3D-1.6.2\python;C:\Program Files (x86)\Panda3D-1.6.2\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Windows Live\Shared;c:\Workspace\Programs\jdk1.6.0_18\bin;c:\Workspace\Programs\JacORB_1_4_1\bin;c:\Workspace\Programs\apache-maven-2.2.1\bin\;c:\Workspace\Programs\apache-ant-1.7.1\bin;C:\Program Files (x86)\CollabNet\Subversion Client;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\x64\;C:\Program Files (x86)\OpenVPN\bin
USERNAME=Domagoj
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 37 Stepping 2, GenuineIntel



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

OS: Windows 7 Build 7600

CPU:total 4 (8 cores per cpu, 2 threads per core) family 6 model 37 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht

Memory: 4k page, physical 3916212k(1785680k free), swap 7830524k(4507732k free)

vm_info: Java HotSpot(TM) Client VM (17.0-b17) for windows-x86 JRE (1.6.0_21-b07), built on Jul 17 2010 01:10:15 by "java_re" with MS VC++ 7.1 (VS2003)

time: Wed Dec 22 17:07:41 2010
elapsed time: 33 seconds



Code:
    /**
     * Permanently renders Image to game map starting at (x,y) location rotated by angle.
     */
    public void renderToMap(Image image, float x, float y, float angle)
    {
        try
        {
            image.setRotation(angle);

            SlickCallable.enterSafeBlock();
            GL11.glEnable(SGL.GL_BLEND);
            GL11.glColorMask(true, true, true, false);
            _mapImage.getGraphics().drawImage(image, x, y);
            SlickCallable.leaveSafeBlock();

            _mapImage.getGraphics().flush();
        }
        catch (SlickException e)
        {
            Log.error(e);
            IngameState.exit();
        }
    }


Top
 Profile  
 
 Post subject:
PostPosted: Tue Dec 28, 2010 9:24 pm 
Offline
Site Admin
User avatar

Joined: Thu Jan 01, 1970 12:00 am
Posts: 3143
Looks like I VM issue but have you tried moving that flush()?

Code:
public void renderToMap(Image image, float x, float y, float angle)
    {
        try
        {
            image.setRotation(angle);

            SlickCallable.enterSafeBlock();
            GL11.glEnable(SGL.GL_BLEND);
            GL11.glColorMask(true, true, true, false);
            _mapImage.getGraphics().drawImage(image, x, y);
            _mapImage.getGraphics().flush();
            SlickCallable.leaveSafeBlock();
        }
        catch (SlickException e)
        {
            Log.error(e);
            IngameState.exit();
        }
    }


Kev


Top
 Profile  
 
 Post subject:
PostPosted: Thu Dec 30, 2010 12:57 pm 
Offline
Oldbie
User avatar

Joined: Fri Jul 20, 2007 9:25 am
Posts: 410
Location: Croatia
kevglass wrote:
Looks like I VM issue but have you tried moving that flush()?


Unfortunately I can't test it myself and the tester that has the problem is not my friend exactly so I'm still waiting for his feedback.

My solution was to remove SlickCallable and just use
Code:
GL11.glColorMask(true, true, true, false);
...
GL11.glColorMask(true, true, true, true);


and hope it works as that is the only change to Graphics.MODE_DEFAULT anyway.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group