UseG1GC unimplemented in generate_Reference_get_entry()?

the.6th.month at gmail.com the.6th.month at gmail.com
Mon Sep 10 16:33:15 PDT 2012


hi, chris, thanks very much indeed, hope icedtea could support g1 cuz it is
simply a bloody good stuff
On Sep 11, 2012 2:01 AM, "Chris Phillips @ T O" <ChrisPhi at lgonqn.org> wrote:

>  Hi
> You should probably address this to the icedtea list or the Zero list as
> zero is effectively
> unsupported by the maintainers of the g1 code (they don't build or test
> with it...)
> In any event the code that you are using was re-enabled by me recently so
> when
> I get some time (still working on jsr 292 atm), I'll try to re-enable g1
> with zero [no promises].
> If you can do it then submit a patch...
>
> Cheers!
> Chris
>
> On 10/09/12 01:49 PM, the.6th.month at gmail.com wrote:
>
> hi,all:
>
>  I just compiled an icedtea-2.3.2 version on my laptop, the kernel
> version is Linux-3.5.3. I manually built it for the purpose of systemtap,
> and hence added --enable-systemtap compile option.
>
>  Then I ran a simple test program with vm args: -Xms1024m -Xmx1024m
> -Xmn256m -XX:PermSize=256m -XX:+UseG1GC, and  I got a core dump. The bt
> output from gdb is shown below:
>  Using host libthread_db library "/lib64/libthread_db.so.1".
> Core was generated by `/usr/lib64/java/bin/java -Xms1024m -Xmx1024m
> -Xmn256m -XX:PermSize=256m -XX:+Us'.
> Program terminated with signal 6, Aborted.
> #0  0x00007fcfb8950a25 in raise () from /lib64/libc.so.6
> (gdb) bt
> #0  0x00007fcfb8950a25 in raise () from /lib64/libc.so.6
> #1  0x00007fcfb89521d8 in abort () from /lib64/libc.so.6
> #2  0x00007fcfb853eaa1 in os::abort (dump_core=true)
>      at
> /tmp/icedtea-2.3.2/openjdk/hotspot/src/os/linux/vm/os_linux.cpp:1589
> #3  0x00007fcfb85f18cf in VMError::report_and_die (this=0x7fcfb970f7d0)
>     at
> /tmp/icedtea-2.3.2/openjdk/hotspot/src/share/vm/utilities/vmError.cpp:1004
> #4  0x00007fcfb836c95f in report_vm_error (detail_msg=0x0,
> error_msg=0x7fcfb860cd26 "Unimplemented()",
>     line=<optimized out>, file=<optimized out>)
>     at
> /tmp/icedtea-2.3.2/openjdk/hotspot/src/share/vm/utilities/debug.cpp:220
> #5  report_vm_error (detail_msg=0x0, error_msg=0x7fcfb860cd26
> "Unimplemented()", line=<optimized out>,
>     file=<optimized out>) at
> /tmp/icedtea-2.3.2/openjdk/hotspot/src/share/vm/utilities/debug.cpp:260
> #6  report_unimplemented (file=<optimized out>, line=<optimized out>)
>     at
> /tmp/icedtea-2.3.2/openjdk/hotspot/src/share/vm/utilities/debug.cpp:261
> #7  0x00007fcfb836c15d in generate_Reference_get_entry
> (this=0x7fcfb970fb00)
>     at
> /tmp/icedtea-2.3.2/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:1649
> #8  AbstractInterpreterGenerator::generate_method_entry
> (this=0x7fcfb970fb00, kind=<optimized out>)
>     at
> /tmp/icedtea-2.3.2/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:1725
> #9  0x00007fcfb8368634 in CppInterpreterGenerator::generate_all
> (this=0x7fcfb970fb00)
>     at
> /tmp/icedtea-2.3.2/openjdk/hotspot/src/share/vm/interpreter/cppInterpreter.cpp:128
> #10 0x00007fcfb8367be2 in CppInterpreter::initialize ()
>     at
> /tmp/icedtea-2.3.2/openjdk/hotspot/src/share/vm/interpreter/cppInterpreter.cpp:45
> #11 0x00007fcfb84182e9 in interpreter_init ()
>     at
> /tmp/icedtea-2.3.2/openjdk/hotspot/src/share/vm/interpreter/interpreter.cpp:113
> #12 0x00007fcfb83ea4d5 in init_globals () at
> /tmp/icedtea-2.3.2/openjdk/hotspot/src/share/vm/runtime/init.cpp:102
> #13 0x00007fcfb85c2bdc in Threads::create_vm (args=<optimized out>,
> canTryAgain=0x7fcfb970fd90)
>     at
> /tmp/icedtea-2.3.2/openjdk/hotspot/src/share/vm/runtime/thread.cpp:3182
> #14 0x00007fcfb844a67f in JNI_CreateJavaVM (vm=0x7fcfb970fe30,
> penv=0x7fcfb970fe40, args=<optimized out>)
>     at /tmp/icedtea-2.3.2/openjdk/hotspot/src/share/vm/prims/jni.cpp:5112
> #15 0x00007fcfb90f56dc in InitializeJVM (penv=0x7fcfb970fe40,
> pvm=0x7fcfb970fe30, ifn=<optimized out>)
>     at ../../../src/share/bin/java.c:1115
> ---Type <return> to continue, or q <return> to quit---
> #16 JavaMain (_args=<optimized out>) at ../../../src/share/bin/java.c:360
> #17 0x00007fcfb9306eae in start_thread () from /lib64/libpthread.so.0
> #18 0x00007fcfb8a0ffed in clone () from /lib64/libc.so.6
>
>  And I dug
> into /tmp/icedtea-2.3.2/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:1649
> following the stacktrace, and discovered that:
>  address InterpreterGenerator::generate_Reference_get_entry(void) {
> #ifndef SERIALGC
>   if (UseG1GC) {
>     // We need to generate have a routine that generates code to:
>     //   * load the value in the referent field
>     //   * passes that value to the pre-barrier.
>     //
>     // In the case of G1 this will record the value of the
>     // referent in an SATB buffer if marking is active.
>     // This will cause concurrent marking to mark the referent
>     // field as live.
>     Unimplemented();
>   }
> #endif // SERIALGC
>
>    // If G1 is not enabled then attempt to go through the accessor entry
> point
>   // Reference.get is an accessor
>   return generate_accessor_entry();
> }
>
>  I am wondering how the generate_Reference_get_entry function is
> triggered and why it runs into Unimplemented() when UseG1GC enabled.
> Moreover, is the iced-tea 2.3.2 shipped with G1GC by default or I should
> enable it with some sort of compilation option?
>
>  Any help would be truly appreciated.
>
>  All the best,
> Leon
>
>
>
> _______________________________________________
> hotspot-gc-use mailing listhotspot-gc-use at openjdk.java.nethttp://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-gc-use/attachments/20120911/76673e18/attachment.html 


More information about the hotspot-gc-use mailing list