Changes between Initial Version and Version 1 of Ticket #33


Ignore:
Timestamp:
Dec 16, 2010, 3:26:42 AM (14 years ago)
Author:
dmik
Comment:

JFTR. I found this problem when I discovered that the debug Java build always crashes in ODINCRTD.DLL when KERNEL32.DLL tries to write something to the odin32.log file. I didn't have time to work on that before (taking into account that it happens only in the debug build) but today I looked at it and found a problem which I described in http://svn.netlabs.org/odin32/ticket/19. I changed AWT.DLL so that it calls its destructors through DosExitList, e.g. when Odin CRT is still in place and usable, and the ODINCRTD.DLL crash had gone. But then I discovered the problem I describe in this ticket.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #33

    • Property MilestoneBeta
  • Ticket #33 – Description

    initial v1  
    88
    99This in particular happens with AWT native methods which are implemented with the help of C++ classes on Windows (and therefore on OS/2). A particular example is the static GDIHashable AwtPen::cache object (see awt_Pen.cpp). Upon destruction, it frees memory and in the debug build the free routine collects some extra information and uses the JVM monitor primitive to serialize access to its internal structures containing this information. But this primitive may not function when JVM is shut down and therefore the application crashes.
    10 
    11 
    12 
    13 GCC/VAC