Custom Query (172 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (25 - 27 of 172)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Ticket Resolution Summary Owner Reporter
#33 fixed Resolve the main thread issue dmik
Description

Java never starts VM execution on the main thread of the process. It instead fires off a new thread (right after performing basic parsing of command line arguments) and starts the VM there. The main thread then waits indefinitely for this new thread to terminate and once terminated, it returns from main().

This has one strange effect. Java uses many additional DLLs for implementing native methods and for providing utility functions and these DLLs often use C++ classes. These classes have static objects that get created at program startup and destroyed at program termination. These objects sometimes use various JVM calls.

The thing is that the destruction of static objects always happens on the main thread, after all other threads of the process have been stopped (at least this is the case for VAC/GCC on OS/2 where such destruction either takes place at DLL termination time (GCC) or during DosExitList? processing (VAC)).

So, in case of static objects in helper Java DLLs, their destruction happens after the JVM has been exited and therefore calling it will simply crash (becaus most internal structures have been destroyed by the exit routine).

This 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.

#34 fixed java.exe -server fails Yoda_Java6
Description

Initial test of Alpha seems to have a problem. When I run the this:

L:\Java6\bin>java.exe -server

result is:

Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.

It doesn't help specifying any app

I have 1.6GB free mem, so that is not the problem.

#35 fixed Release build of AWT.DLL is wrong dmik
Description

When attempting to start an AWT program with a production release build, AWT.DLL can't get loaded: DosLoadModule?() returns error 87 for it (invalid parameter).

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Note: See TracQuery for help on using queries.