[Bug libgcj/28263] New: [win32] Memory Leak In Cleaning Exception Handling Contexts

View: New views
2 Messages — Rating Filter:   Alert me  

[Bug libgcj/28263] New: [win32] Memory Leak In Cleaning Exception Handling Contexts

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

There is a leak of 24 bytes of exception handling context per Java thread on
MinGW due to a hack that fools the MinGW runtime into thinking that
multi-threaded exception handling is in effect but avoids linking to the
correct __mingwthr_key_dtor() from mingwm10.dll and instead links to a dummy
version from libmingw32.a.

See also:

  http://gcc.gnu.org/ml/java/2003-04/msg00046.html
  http://gcc.gnu.org/ml/java/2006-07/msg00014.html
  http://gcc.gnu.org/ml/java/2006-07/msg00017.html

A workaround for avoiding this leak is to explicitly use -mthreads while
linking Java programmes with GCJ.


--
           Summary: [win32] Memory Leak In Cleaning Exception Handling
                    Contexts
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcj
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rmathew at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-mingw32
GCC target triplet: i686-pc-mingw32


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28263


[Bug libgcj/28263] [win32] Memory Leak In Cleaning Exception Handling Contexts

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #1 from ktietz at gcc dot gnu dot org  2009-09-03 09:24 -------
This issue is solved for mingw-w64 runtime. It uses no more the mingwm10.dll
mechanism. Instead it uses TLS callbacks to implement it. By this reason the
Cleaning of Exception Contexts is always present for this runtime. Maybe
mingw.org's runtime will support TLS callbacks sometimes, too.
This bug remains for Windows OSes without TLS callback support, and for those
the -mthreads build-option can solve the issue.


--

ktietz at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ktietz at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28263