<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://jogamp.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://jogamp.org/bugzilla/"
          
          maintainer="sgothel@jausoft.com"
>

    <bug>
          <bug_id>341</bug_id>
          
          <creation_ts>2008-02-02 10:53:18 +0100</creation_ts>
          <short_desc>JNI Global Reference in native code prevents clean applet termination</short_desc>
          <delta_ts>2010-03-24 07:51:14 +0100</delta_ts>
          <reporter_accessible>0</reporter_accessible>
          <cclist_accessible>0</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>core</component>
          <version>1</version>
          <rep_platform>All</rep_platform>
          <op_sys>all</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sven Gothel">sgothel</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          
          
          <cf_type>DEFECT</cf_type>
          <cf_scm_refs></cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>357</commentid>
    <comment_count>0</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2010-03-24 07:51:14 +0100</bug_when>
    <thetext>


---- Reported by kbr 2008-02-02 22:53:20 ----

The JNI global reference in JAWT_DrawingSurfaceInfo.c which is used to help
construct the Java-side mirror for the JAWT &quot;platformInfo&quot; struct is preventing
clean termination of JOGL applets. This global reference keeps the
platform-specific PlatformInfo class (such as
com.sun.opengl.impl.windows.JAWT_Win32DrawingSurfaceInfo) alive, and therefore
its class loader alive, preventing unloading of the native library.

This may also be the root cause of mysterious ClassCastExceptions seen with JOGL
applets on Mac OS X, although it is likely that either a bug in the Java
implementation or misunderstood semantics of the dynamic linker on that platform
is the reason that problem has only been seen there.



---- Additional Comments From kbr 2008-02-02 22:57:27 ----

Simplified the native code in JAWT_DrawingSurfaceInfo.c to only
fabricate the direct ByteBuffer wrapping the JAWT &quot;platformInfo&quot;
struct, moving the construction of the wrapping JAWT_PlatformInfo up
to Java.

Verified fix with reloading of JOGL applets via the new JNLP applet
launching support in the new Java Plug-In.




--- Bug imported by sgothel@jausoft.com 2010-03-24 07:51 EDT  ---

This bug was previously known as _bug_ 341 at https://jogl.dev.java.net/bugs/show_bug.cgi?id=341
</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>