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