Crashed milliseconds after logging in (GL Error: 1282)

The worst monsters in the Hearthlands warp the fabric of space and time...

Re: Crashed milliseconds after logging in (GL Error: 1282)

Postby loftar » Tue Sep 15, 2015 4:25 pm

marvi wrote:I run the game with jogl.debug.DebugGL enabled

Interesting. It seems from your message that the DebugGL has added support for OpenGL's new debugging extensions. I've been looking for support for them in JOGL but haven't found them.

marvi wrote:
Code: Select all
msg GL_INVALID_OPERATION error generated. Framebuffer name must be generated before being bound.

That's interesting. I'll have to meditate on that.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
 
Posts: 9045
Joined: Fri Apr 03, 2009 7:05 am

Re: Crashed milliseconds after logging in (GL Error: 1282)

Postby marvi » Tue Sep 15, 2015 4:32 pm

loftar wrote:
marvi wrote:I run the game with jogl.debug.DebugGL enabled

Interesting. It seems from your message that the DebugGL has added support for OpenGL's new debugging extensions. I've been looking for support for them in JOGL but haven't found them.

marvi wrote:
Code: Select all
msg GL_INVALID_OPERATION error generated. Framebuffer name must be generated before being bound.

That's interesting. I'll have to meditate on that.


No need to mediate. Just look at my edits. :D

For some reason (quirky threading?) command to delete old FBO is executed twice (by BGL.run(GL2) method). It executes after new FBO with the same id is created (most of the time). So basically you want to ensure that no command will execute twice no matter what.
marvi
 
Posts: 138
Joined: Thu Feb 18, 2010 3:41 pm

Re: Crashed milliseconds after logging in (GL Error: 1282)

Postby loftar » Tue Sep 15, 2015 4:38 pm

marvi wrote:No need to mediate. Just look at my edits. :D

Are you sure you posted the right patch? The one linked just replaces BGL's command array with a java.util.Queue; I can't see it changing how framebuffers are deleted.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
 
Posts: 9045
Joined: Fri Apr 03, 2009 7:05 am

Re: Crashed milliseconds after logging in (GL Error: 1282)

Postby marvi » Tue Sep 15, 2015 4:50 pm

loftar wrote:Are you sure you posted the right patch? The one linked just replaces BGL's command array with a java.util.Queue; I can't see it changing how framebuffers are deleted.


Well, it deletes executed commands from the queue. I could clear array and it would work too. And I'm pretty sure that without it some commands were executing twice.

Probably this patch isn't really a fix and breaks something. But still, when I added tracing to FBO creation/deletion with id and object hashcode I saw this when I resized window:
Code: Select all
FBO created 1@345946272
FBO deleted 3@2019757426
FBO created 3@345946272
FBO deleted 3@2019757426


With this patch it looks a little weird though:
Code: Select all
FBO created 1@1751903743
FBO deleted 3@540616757


Edit. Probably this patch points out the problem in a better way if I'm not wrong assuming that frames are supposed to be drawn only once.
marvi
 
Posts: 138
Joined: Thu Feb 18, 2010 3:41 pm

Re: Crashed milliseconds after logging in (GL Error: 1282)

Postby loftar » Tue Sep 15, 2015 10:56 pm

Oh my, the root problem is indeed that it can happen that a frame is drawn twice in some cases of asynchronous repaints. Thanks a lot for helping identify that! You can find a cape in your hearth fire. :)

I've just installed a new client that should then fix this particular problem, but do note that "GL Error: 1282" is a very generic error and doesn't necessarily mean the particular problem identified here, though I think this particular problem ought to have been by far the most common occurrence of it as of now.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
 
Posts: 9045
Joined: Fri Apr 03, 2009 7:05 am

Re: Crashed milliseconds after logging in (GL Error: 1282)

Postby jorb » Tue Sep 15, 2015 10:57 pm

So desticky/fixed?
"The psychological trials of dwellers in the last times will be equal to the physical trials of the martyrs. In order to face these trials we must be living in a different world."

-- Hieromonk Seraphim Rose
User avatar
jorb
 
Posts: 18436
Joined: Fri Apr 03, 2009 7:07 am
Location: Here, there and everywhere.

Re: Crashed milliseconds after logging in (GL Error: 1282)

Postby loftar » Tue Sep 15, 2015 11:00 pm

jorb wrote:So desticky/fixed?

I'd like to think so, at least. :)
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
 
Posts: 9045
Joined: Fri Apr 03, 2009 7:05 am

Re: Crashed milliseconds after logging in (GL Error: 1282)

Postby jorb » Tue Sep 15, 2015 11:01 pm

Awesome. Consummatum est.
"The psychological trials of dwellers in the last times will be equal to the physical trials of the martyrs. In order to face these trials we must be living in a different world."

-- Hieromonk Seraphim Rose
User avatar
jorb
 
Posts: 18436
Joined: Fri Apr 03, 2009 7:07 am
Location: Here, there and everywhere.

Re: Crashed milliseconds after logging in (GL Error: 1282)

Postby Rjk » Fri Sep 18, 2015 12:27 pm

jorb wrote:Awesome. Consummatum est.

Hi Jorb, Hi Loftar
before I had periodically full stop client (black client window), and only "end process" on task manager closed its
increased frequency on traveling and terramorfing (90% garanted accidents after 3-7 dig, 99.9% after more dig), plowing (50/50)

another player have analogous problem on traveling (no have problem on dig/plow/pav)

periodically we both have crash clients after "сharacters selection", in game graphics loading
this crash is accompanied "Haven error!" (screenshot http://prntscr.com/8hntrb)

My error report (XP SP3, intel core quad Q8300 2.5Ghz, 4G ddr2, ATI Radeon HD 4350, Java 7 and 8 - no difference
Code: Select all
java.lang.ArrayIndexOutOfBoundsException: 38
at haven.GLState$Applier.apply(GLState.java:516)
at haven.GOut.apply(GOut.java:256)
at haven.TexGL.render(TexGL.java:334)
at haven.Tex.crender(Tex.java:90)
at haven.Tex.crender(Tex.java:95)
at haven.GOut.image(GOut.java:175)
at haven.GameUI$NKeyBelt.draw(GameUI.java:1020)
at haven.Widget.draw(Widget.java:614)
at haven.Widget.draw(Widget.java:619)
at haven.GameUI.draw(GameUI.java:583)
at haven.Widget.draw(Widget.java:614)
at haven.Widget.draw(Widget.java:619)
at haven.RootWidget.draw(RootWidget.java:65)
at haven.UI.draw(UI.java:140)
at haven.HavenPanel.rootdraw(HavenPanel.java:289)
at haven.HavenPanel.run(HavenPanel.java:530)
at java.lang.Thread.run(Unknown Source)

Code: Select all
java.lang.RuntimeException: haven.BGL$BGLException: java.lang.IndexOutOfBoundsException: Required 1 remaining elements in buffer, only had 0
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
at javax.media.opengl.Threading.invoke(Threading.java:191)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:528)
at haven.HavenPanel$6.uglyjoglhack(HavenPanel.java:446)
at haven.HavenPanel$6.run(HavenPanel.java:481)
at java.lang.Thread.run(Unknown Source)
Caused by: haven.BGL$BGLException: java.lang.IndexOutOfBoundsException: Required 1 remaining elements in buffer, only had 0
at haven.BGL.run(BGL.java:80)
at haven.HavenPanel.redraw(HavenPanel.java:392)
at haven.HavenPanel$1.display(HavenPanel.java:102)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:649)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:633)
at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:1271)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1103)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:978)
at javax.media.opengl.awt.GLCanvas$10.run(GLCanvas.java:1282)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$300(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.IndexOutOfBoundsException: Required 1 remaining elements in buffer, only had 0
at com.jogamp.common.nio.Buffers.rangeCheck(Buffers.java:1033)
at jogamp.opengl.gl4.GL4bcImpl.glNormalPointer(GL4bcImpl.java:19586)
at haven.BGL$73.run(BGL.java:577)
at haven.BGL.run(BGL.java:78)
... 22 more


another player report (win 7 64+, ati radeon hd 4870)
Code: Select all
java.lang.RuntimeException: haven.BGL$BGLException: java.lang.IndexOutOfBoundsException: Required 1 remaining elements in buffer, only had 0
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
at javax.media.opengl.Threading.invoke(Threading.java:191)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:528)
at haven.HavenPanel$6.uglyjoglhack(HavenPanel.java:441)
at haven.HavenPanel$6.run(HavenPanel.java:472)
at java.lang.Thread.run(Unknown Source)
Caused by: haven.BGL$BGLException: java.lang.IndexOutOfBoundsException: Required 1 remaining elements in buffer, only had 0
at haven.BGL.run(BGL.java:80)
at haven.HavenPanel.redraw(HavenPanel.java:387)
at haven.HavenPanel$1.display(HavenPanel.java:102)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:649)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:633)
at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:1271)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1103)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:978)
at javax.media.opengl.awt.GLCanvas$10.run(GLCanvas.java:1282)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.IndexOutOfBoundsException: Required 1 remaining elements in buffer, only had 0
at com.jogamp.common.nio.Buffers.rangeCheck(Buffers.java:1033)
at jogamp.opengl.gl4.GL4bcImpl.glNormalPointer(GL4bcImpl.java:19586)
at haven.BGL$73.run(BGL.java:577)
at haven.BGL.run(BGL.java:78)
... 22 more


Today i have this error permanent. absolutely no game. Error report
Code: Select all
java.lang.RuntimeException: haven.BGL$BGLException: javax.media.opengl.GLException: Method "glTexImage2DMultisample" not available
   at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
   at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
   at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
   at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
   at javax.media.opengl.Threading.invoke(Threading.java:191)
   at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:528)
   at haven.HavenPanel$6.uglyjoglhack(HavenPanel.java:446)
   at haven.HavenPanel$6.run(HavenPanel.java:481)
   at java.lang.Thread.run(Unknown Source)
Caused by: haven.BGL$BGLException: javax.media.opengl.GLException: Method "glTexImage2DMultisample" not available
   at haven.BGL.run(BGL.java:80)
   at haven.HavenPanel.redraw(HavenPanel.java:392)
   at haven.HavenPanel$1.display(HavenPanel.java:102)
   at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:649)
   at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:633)
   at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:1271)
   at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1103)
   at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:978)
   at javax.media.opengl.awt.GLCanvas$10.run(GLCanvas.java:1282)
   at java.awt.event.InvocationEvent.dispatch(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$500(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: javax.media.opengl.GLException: Method "glTexImage2DMultisample" not available
   at jogamp.opengl.gl4.GL4bcImpl.glTexImage2DMultisample(GL4bcImpl.java:27339)
   at haven.BGL$89.run(BGL.java:676)
   at haven.BGL.run(BGL.java:78)
   ... 22 more


ps: sorry my english
Rjk
 
Posts: 7
Joined: Fri Aug 28, 2015 11:28 pm

Re: Crashed milliseconds after logging in (GL Error: 1282)

Postby jorb » Fri Sep 18, 2015 12:33 pm

I suspect you're suffering from this, Rjk.
"The psychological trials of dwellers in the last times will be equal to the physical trials of the martyrs. In order to face these trials we must be living in a different world."

-- Hieromonk Seraphim Rose
User avatar
jorb
 
Posts: 18436
Joined: Fri Apr 03, 2009 7:07 am
Location: Here, there and everywhere.

PreviousNext

Return to Bugs

Who is online

Users browsing this forum: Claude [Bot] and 5 guests