Help with CC_INTERP/x86/WXP/VS2010: assert(false) failed: should never happen in frame::sender_sp()

David Holmes david.holmes at oracle.com
Wed Oct 2 00:20:33 PDT 2013


Hi Francis,

I can't comment on the specifics of this code but abstractly ...

The author did not think the code should ever be hit but wasn't certain 
and so added the assert so it could be tracked in debug builds and 
during testing. Apparently we've never hit it!

It may be your "fixes" now define a path that never previously existed 
and so this particular code path is now taken. In which case the assert 
should simply be removed. Though it may be there are other parts of the 
code that don't have asserts and which also don't expect to be 
used/called in this context.

David

On 1/10/2013 5:54 AM, Francis ANDRE wrote:
> Hi
>
> I fixed the cppInterpreter on WXP/x86/VS2010 but I got this fatal error
> just running hotspot -version
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  Internal Error
> (Z:\DEV\OpenJDK_7u40\hotspot\src\cpu\x86\vm\frame_x86.inline.hpp:157),
> pid=1216, tid=3096
> #  assert(false) failed: should never happen
> #
> # JRE version:  (7.0_40-b43) (build )
> # Java VM: OpenJDK Client VM (24.0-b56-internal-debug mixed mode
> windows-x86 )
> # Failed to write core dump. Minidumps are not enabled by default on
> client versions of Windows
>
>
> from this code
> inline intptr_t*    frame::sender_sp()        const {
>    // Hmm this seems awfully expensive QQQ, is this really called with
> interpreted frames?
>    if (is_interpreted_frame()) {
>      assert(false, "should never happen");
>      return get_interpreterState()->sender_sp();
>    } else {
>      return            addr_at(sender_sp_offset);
>    }
> }
>
> but when  the assert(false, "should never happen"); is commented out,
> the hotspot runs til the end
>
> 231 Initializing 'java/util/Hashtable$Holder' (0x189fe6d0)
> 232 Initializing 'java/net/URL$1'(no method) (0x189febd0)
> 233 Initializing 'java/net/Parts'(no method) (0x189ff180)
> 234 Initializing 'java/net/URLStreamHandler'(no method) (0x18a010d0)
> 235 Initializing 'sun/net/www/protocol/file/Handler'(no method)
> (0x18a01238)
> 236 Initializing 'java/security/ProtectionDomain' (0x188ca7e8)
> 237 Initializing 'java/security/ProtectionDomain$1'(no method) (0x18a01fe8)
> 238 Initializing 'java/security/ProtectionDomain$3'(no method) (0x18a02690)
> 239 Initializing 'java/security/CodeSource'(no method) (0x18a03ee0)
> 240 Initializing 'java/security/ProtectionDomain$Key'(no method)
> (0x18a04620)
> 241 Initializing 'java/util/HashSet' (0x18a05b68)
> 242 Initializing 'sun/misc/URLClassPath' (0x18a07988)
> 243 Initializing 'sun/net/www/protocol/jar/Handler'(no method) (0x18a08b48)
> 244 Initializing 'sun/misc/Launcher$AppClassLoader' (0x18a09730)
> 245 Initializing 'sun/misc/Launcher$AppClassLoader$1'(no method)
> (0x18a09eb8)
> 246 Initializing 'java/lang/SystemClassLoaderAction'(no method)
> (0x18a0a450)
> 247 Initializing 'sun/misc/PostVMInitHook'(no method) (0x1890f3c0)
> java version "1.7.0_40"
> Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
> OpenJDK Client VM (build 24.0-b56-internal-debug, mixed mode)
> Press any key to continue...
>
> Has someone any idea about this somewhat indoubt assert?
>
> Francis


More information about the hotspot-runtime-dev mailing list