Internal Error (os_windows_x86.cpp:114)
David Holmes
David.Holmes at oracle.com
Wed Jun 9 23:26:05 PDT 2010
Gili,
Note I'm no Windows programmer so I don't understand all the details here.
First I'd suggest enabling verification to ensure that the bytecode
generator is generating well-formed bytecode.
That said it seems to me that the guarantee failure indicates a problem
in the VM error handling code because it states:
LONG HandleExceptionFromCodeCache(
...
result = topLevelExceptionFilter(&ep);
// We better only get a CONTINUE_EXECUTION from our handler
// since we don't have unwind information registered.
guarantee( result == EXCEPTION_CONTINUE_EXECUTION,
"Unexpected result from topLevelExceptionFilter");
Yet topLevelExceptionFilter can return EXCEPTION_CONTINUE_SEARCH in a
number of contexts, and potentially trigger the guarantee. However it
may be that such a return value is "impossible" under normal expected
circumstances.
David Holmes
cowwoc said the following on 06/10/10 11:45:
>
> cowwoc wrote:
>> Hi,
>>
>> I can consistently reproduce a JDK crash under build 1.7.0-ea-b94 64-bit
>> mode. The error in question is:
>>
>> Internal Error (os_windows_x86.cpp:114), pid=5024, tid=1848
>> guarantee(result == EXCEPTION_CONTINUE_EXECUTION) failed: Unexpected
>> result from topLevelExceptionFilter
>>
>> The Java code which triggers this assert comes from a bytecode generator.
>> I've used a disassembler but I cannot spot a problem with the bytecode as
>> compared to what javac generates. Can someone please suggest what I can do
>> to track this down? I wish the assert printed the value of "result" :)
>>
>> Thanks,
>> Gili
>>
>
> Sorry I meant to say the assert gets triggered by code that is generated by
> a bytecode generator. I can attach a copy of the offending class file if it
> will help.
>
> Gili
More information about the hotspot-dev
mailing list