I was in a mine when I was attacked by some Russian with a bow. I got hit, taking out most of my SHP. I started running away, changed my running speed to maximum and drank from my water flask. At that point, the game froze entirely; I couldn't even enter console commands anymore. I alt-tabbed out and back in, and the screen was black.
This was the exception given by Java:
javax.media.opengl.GLException: haven.Sprite$ResourceException: No negative found (gfx/borka/eq-bow/walking/arm/carrying/right-6(v1), from filesystem res source (.\res))
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:271)
at javax.media.opengl.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:410)
at javax.media.opengl.GLCanvas.display(GLCanvas.java:244)
at haven.HavenPanel.uglyjoglhack(HavenPanel.java:363)
at haven.HavenPanel.run(HavenPanel.java:392)
at java.lang.Thread.run(Thread.java:722)
Caused by: haven.Sprite$ResourceException: No negative found (gfx/borka/eq-bow/walking/arm/carrying/right-6(v1), from filesystem res source (.\res))
at haven.ImageSprite.<init>(ImageSprite.java:123)
at haven.StaticSprite.<init>(StaticSprite.java:44)
at haven.StaticSprite.<init>(StaticSprite.java:32)
at haven.StaticSprite$1.create(StaticSprite.java:39)
at haven.Sprite.create(Sprite.java:214)
at haven.Layered.setup(Layered.java:174)
at haven.Gob.drawsetup(Gob.java:216)
at haven.MapView.drawmap(MapView.java:1233)
at haven.MapView.draw(MapView.java:1428)
at haven.Widget.draw(Widget.java:291)
at haven.RootWidget.draw(RootWidget.java:116)
at haven.UI.draw(UI.java:155)
at haven.HavenPanel.redraw(HavenPanel.java:268)
at haven.HavenPanel$1.display(HavenPanel.java:91)
at com.sun.opengl.impl.GLDrawableHelper.display(GLDrawableHelper.java:78)
at javax.media.opengl.GLCanvas$DisplayAction.run(GLCanvas.java:435)
at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:194)
at javax.media.opengl.GLCanvas$DisplayOnEventDispatchThreadAction.run(GLCanvas.java:452)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:691)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
Exception in thread "Haven UI thread" javax.media.opengl.GLException: haven.Sprite$ResourceException: No negative found (gfx/borka/eq-bow/walking/arm/carrying/right-6(v1), from filesystem res source (.\res))
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:271)
at javax.media.opengl.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:410)
at javax.media.opengl.GLCanvas.display(GLCanvas.java:244)
at haven.HavenPanel.uglyjoglhack(HavenPanel.java:363)
at haven.HavenPanel.run(HavenPanel.java:392)
at java.lang.Thread.run(Thread.java:722)
Caused by: haven.Sprite$ResourceException: No negative found (gfx/borka/eq-bow/walking/arm/carrying/right-6(v1), from filesystem res source (.\res))
at haven.ImageSprite.<init>(ImageSprite.java:123)
at haven.StaticSprite.<init>(StaticSprite.java:44)
at haven.StaticSprite.<init>(StaticSprite.java:32)
at haven.StaticSprite$1.create(StaticSprite.java:39)
at haven.Sprite.create(Sprite.java:214)
at haven.Layered.setup(Layered.java:174)
at haven.Gob.drawsetup(Gob.java:216)
at haven.MapView.drawmap(MapView.java:1233)
at haven.MapView.draw(MapView.java:1428)
at haven.Widget.draw(Widget.java:291)
at haven.RootWidget.draw(RootWidget.java:116)
at haven.UI.draw(UI.java:155)
at haven.HavenPanel.redraw(HavenPanel.java:268)
at haven.HavenPanel$1.display(HavenPanel.java:91)
at com.sun.opengl.impl.GLDrawableHelper.display(GLDrawableHelper.java:78)
at javax.media.opengl.GLCanvas$DisplayAction.run(GLCanvas.java:435)
at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:194)
at javax.media.opengl.GLCanvas$DisplayOnEventDispatchThreadAction.run(GLCanvas.java:452)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:691)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
I may still have heard sound, but my memory isn't 100% accurate since I was kind of busy not getting my main killed.
I force quit the game, waited for a bit in hopes it would log me out after some time, then started it back up hoping to be able to hearth back from the menu. Instead I logged in directly to my character's current position, this time with everything working fine. The enemy was still attacking me (so my character likely never logged out; however, I was still alive at that point, which was strange).
Fortunately, I managed to get away safely somehow, but this was a bizarre bug that could've killed me while I would've definitely survived had it not frozen (I had a full flask of q37 water and there was some deep water nearby with only one boat to cross it).