harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gregory Shimansky <gshiman...@gmail.com>
Subject [drlvm][win32] Kernel tests crashes on win32
Date Tue, 21 Nov 2006 22:47:29 GMT
Hello

After new mode was chosen for kernel tests, they crash on win32. The 
test which crashes is the same in all 3 modes: j.l.SystemExtensionTest.

I've found 2 types of failures. Exception is thrown with two different 
status. It is STATUS_OBJECT_TYPE_MISMATCH (0xC0000024) or 
STATUS_INVALID_HANDLE (0xC0000008).

First and more often happening one happens in apr_thread_mutex_lock when 
executing EnterCriticalSection(&mutex->section). The section appears to 
be wrong, the mutex pointer is sometimes bad too. But it could happen 
because stack is hopelessly broken when the crash happens, so local 
variable values may be just bad in debugger.

To work around the broken stack in debugger I tried to use tracing, but 
it only started to show the 2nd way to crash.

The 2nd type of crash happens in finalization of Runtime$SubProcess 
class. The handle passed to the close0 function is bogus. The long 
pointer is Java on 32 bit has upper 32 bits filled with some garbage, so 
it is obvious that this is not a valid 32-bit handle. Maybe it has 
something to do with finalization.

Is there a way to check for valid handle in windows? Something which 
could be put into assert, to catch the problem before the actual call to 
the function is done...

-- 
Gregory


Mime
View raw message