Strange errors when making changes to the configuration

Paul Sandoz paul.sandoz at oracle.com
Wed Jun 6 01:05:05 PDT 2012


Hi Chris,

Many thanks! With some help of process sampling (using dtrace) i was so close to finding that file :-)

This is a particularly fragile area.

Paul.

    2426 Thread_6858398
    + 2426 thread_start  (in libsystem_c.dylib) + 13  [0x7fff96059b75]
    +   2426 _pthread_start  (in libsystem_c.dylib) + 335  [0x7fff960568bf]
    +     2426 JavaMain  (in java) + 308  [0x106af1eb9]
    +       2426 JNI_CreateJavaVM  (in libjvm.dylib) + 98  [0x106f9bf76]
    +         2426 Threads::create_vm(JavaVMInitArgs*, bool*)  (in libjvm.dylib) + 455  [0x107171f53]
    +           2426 init_globals()  (in libjvm.dylib) + 124  [0x106f4c8bd]
    +             2426 universe2_init()  (in libjvm.dylib) + 31  [0x107181233]
    +               2426 Universe::genesis(Thread*)  (in libjvm.dylib) + 1125  [0x107180cbf]
    +                 2426 SystemDictionary::initialize_preloaded_classes(Thread*)  (in libjvm.dylib) + 36  [0x107145964]
    +                   2426 SystemDictionary::initialize_wk_klasses_until(SystemDictionary::WKID, SystemDictionary::WKID&, Thread*)  (in libjvm.dylib) + 72  [0x1071458de]
    +                     2426 SystemDictionary::initialize_wk_klass(SystemDictionary::WKID, int, Thread*)  (in libjvm.dylib) + 90  [0x107145864]
    +                       2426 SystemDictionary::resolve_or_fail(Symbol*, Handle, Handle, bool, Thread*)  (in libjvm.dylib) + 49  [0x10714578f]
    +                         2426 SystemDictionary::resolve_or_null(Symbol*, Handle, Handle, Thread*)  (in libjvm.dylib) + 248  [0x10714520e]
    +                           2426 SystemDictionary::resolve_instance_class_or_null(Symbol*, Handle, Handle, Thread*)  (in libjvm.dylib) + 1083  [0x107144abd]
    +                             2426 SystemDictionary::load_instance_class(Symbol*, Handle, Thread*)  (in libjvm.dylib) + 281  [0x107144f11]
    +                               2426 SystemDictionary::load_local_instance_class(Symbol*, Handle, Thread*)  (in libjvm.dylib) + 286  [0x1071456f6]
    +                                 2426 ClassLoader::load_class_from_module_library(Symbol*, Thread*)  (in libjvm.dylib) + 325  [0x106e60a69]
    +                                   2426 JDK_LoadContexts  (in libjava.dylib) + 473  [0x106bcf63e]
    +                                     2338 load_config  (in libjava.dylib) + 919  [0x106bcf2d5]


On Jun 6, 2012, at 9:55 AM, Chris Hegarty wrote:

> The jigsaw native interface is now reading the configuration directly
> 
> http://hg.openjdk.java.net/jigsaw/jigsaw/jdk/file/7b282c826118/src/share/native/common/jigsaw.c
> 
> -Chris.
> 
> On 06/06/2012 08:25, Paul Sandoz wrote:
>> Hi,
>> 
>> I am experimenting with some changes to the serialized configuration related to services (see SimpleLibrary.StoredConfiguration), specifically removing the service supplier data.
>> 
>> However, when i remove the reading/writing of the service supplier data for each context the execution of my compiled and installed sample module either fails with output like the following:
>> 
>>   java(17661,0x10ed89000) malloc: *** mmap(size=18446743966130372608) failed (error code=12)
>>   *** error: can't allocate region
>>   *** set a breakpoint in malloc_error_break to debug
>>   Error occurred during initialization of VM
>>   java/lang/NoClassDefFoundError: java/lang/Object
>> 
>> Or just spins at 100% eating up as much heap as possible.
>> 
>> If i modify the reading/writing of the service supplier data to explicitly writeInt(0)/readInt(), the equivalent of 0 service suppliers it works.
>> 
>> I am building Jigsaw on a Mac, i have yet to verify if i can reproduce on another architecture.
>> 
>> It's too early in the VM initialization process to attach a debugger.
>> 
>> Is there something else, perhaps VM specific, that depends on the serialized configuration? I searched but cannot find such a second dependency.
>> 
>> Any tips/hints on how to get more information from the VM?
>> 
>> Paul.




More information about the jigsaw-dev mailing list