Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (757)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (844)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  ABEND on Shutdown  (Read 3262 times)
0 Members and 1 Guest are viewing this topic.
Offline josgood

Senior Newbie

Nudge reality.

« Posted 2003-06-23 20:56:45 »

JOGL Team (Chris, Ken, etc)-

[I'm still an open source plebe, so I don't know what the customs are.  Please forgive.]

JOGL's issues a Windows application error when I close the app.  Something about memory location 0x0020 being unreadable.

I had the same problem with Magician.  It happens when the JVM exits before the rendering thread terminates gracefully (e.g. no cleanup, might be in the middle of a frame update, whatever).

My fix was to register a system shutdown thread that would shutdown all the rendering threads.  The code snippet from Magician's is
      static ShutdownThread _reaper = null;
            Runtime runtime = Runtime.getRuntime();
            _reaper = new ShutdownThread();
            runtime.addShutdownHook( _reaper );
      // Package visible only.
      static void shutMeDown( GLDrawable drawable )
            _reaper.addDrawable( drawable );

The is very straightforward.  It extends Runnable, has an addDrawable(...) method, a run() method which calls destroy() on each registered GLDrawable and that's about it.  It uses a WeakHashMap, so it won't prevent garbage collection.

Each GLDrawable in Magician registers itself from within the constructor.

I guess that's enough information to roll something into JOGL.

Cheers, Jason
Offline Ken Russell

JGO Coder

Java games rock!

« Reply #1 - Posted 2003-06-24 04:57:22 »

Jason: thanks for your report. What version of Windows and what graphics card does this occur with? Currently we've tested with NVidia cards on Windows and Linux, as well as the Sun XVR-1200 on Solaris, and haven't seen this problem. Note that the windowClosing listener for the top-level frame calls animator.stop(), which should prevent rendering during application teardown. Before we added the call to Animator.stop() we would routinely see (Java) exceptions during teardown, and if Control-C is used to terminate the application then we expect the behavior you describe.

Regardless please file a bug report using the Issue Tracking at so we can track this.
Pages: [1]
  ignore  |  Print  

EgonOlsen (79 views)
2018-06-10 19:43:48

EgonOlsen (59 views)
2018-06-10 19:43:44

EgonOlsen (78 views)
2018-06-10 19:43:20

DesertCoockie (261 views)
2018-05-13 18:23:11

nelsongames (159 views)
2018-04-24 18:15:36

nelsongames (158 views)
2018-04-24 18:14:32

ivj94 (901 views)
2018-03-24 14:47:39

ivj94 (162 views)
2018-03-24 14:46:31

ivj94 (813 views)
2018-03-24 14:43:53

Solater (177 views)
2018-03-17 05:04:08
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!