segfault with 8u5

Martin Traverso mtraverso at gmail.com
Fri Sep 12 03:08:06 UTC 2014


Good news (so far)!

I've had the system running for a couple of hours with this patch without
problems (it would crash within a few minutes before). I'll leave it
running a bit longer to be sure, but this looks promising.

Thanks!
Martin

On Thu, Sep 11, 2014 at 6:03 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com
> wrote:

> Nice!
>
> You can remove changes I gave to you and apply next code and see if it
> helps. It may crash in an other place.
>
> Vladimir
>
> diff -r fe1f65b0a2d8 src/share/vm/opto/doCall.cpp
> --- a/src/share/vm/opto/doCall.cpp      Wed Sep 10 09:05:31 2014 -0700
> +++ b/src/share/vm/opto/doCall.cpp      Thu Sep 11 18:00:29 2014 -0700
> @@ -802,6 +802,11 @@
>      if( ex_node->is_Phi() ) {
>        ex_klass_node = new (C) PhiNode( ex_node->in(0),
> TypeKlassPtr::OBJECT );
>        for( uint i = 1; i < ex_node->req(); i++ ) {
> +        Node* ex_in = ex_node->in(i);
> +        if (ex_in == top() || ex_in == NULL) {
> +          ex_klass_node->init_req(i, top());
> +          continue;
> +        }
>          Node* p = basic_plus_adr( ex_node->in(i), ex_node->in(i),
> oopDesc::klass_offset_in_bytes() );
>          Node* k = _gvn.transform( LoadKlassNode::make(_gvn,
> immutable_memory(), p, TypeInstPtr::KLASS, TypeKlassPtr::OBJECT) );
>          ex_klass_node->init_req( i, k );
>
>
>
> On 9/11/14 5:31 PM, Martin Traverso wrote:
>
>> Vladimir,
>>
>>     Did you get next message in output before the crash?
>>     "*** Exception not InstPtr"
>>
>>
>> Not that I can tell.
>>
>>
>>     It could happen if it is dead part of the IR graph.
>>     Can you add next debug output code to Hotspot's doCall.cpp (patch
>>     attached) and test with it?
>>
>>
>> Here's the output:
>>
>> ******** Expecting TypeClassPtr 1 ********
>>
>> *** compilation continue
>>
>> *** save_ex_node:
>>
>>   900    CastPP  ===  899  575  [[ 891  909  909  1016  932  1110  958
>> 978  970  993  1016  1004  1004  1013 ]]  #java/lang/Exception:NotNull
>> *  Oop:java/lang/Exception:NotNull * !jvms:
>> HiveMetastoreApiStats$1::call @ bci:97 RetryDriver::run @ bci:25
>>
>>   1013   CheckCastPP     ===  1011  900  [[ 923  1021  1021  1031  1040
>> 1050  1066  1085  1077  1100  1110  1176  1176 ]]
>> #org/apache/hadoop/hive/metastore/api/NoSuchObjectException:NotNull:exact
>> *
>> Oop:org/apache/hadoop/hive/metastore/api/NoSuchObjectException:NotNull:
>> exact
>> * !jvms: HiveMetastoreApiStats$1::call @ bci:118 RetryDriver::run @ bci:25
>>
>>   1000   Region  ===  1000  1097 _  990  [[ 1000  942  1107  1108  1109
>> 1110  1121  1124  1175 ]]  !jvms: HiveMetastoreApiStats$1::call @
>> bci:135 RetryDriver::run @ bci:25
>>
>>   1110   Phi     ===  1000  1013  1  900  [[ 942  1115  1132  1150
>> 1142  1165  1115  1172  1172 ]]  #java/lang/Exception:NotNull *
>> Oop:java/lang/Exception:NotNull * !jvms: HiveMetastoreApiStats$1::call @
>> bci:135 RetryDriver::run @ bci:25
>>
>> *** ex_node:
>>
>>   900    CastPP  ===  899  575  [[ 891  909  909  1016  932  1110  958
>> 978  970  993  1016  1004  1004  1013 ]]  #java/lang/Exception:NotNull
>> *  Oop:java/lang/Exception:NotNull * !jvms:
>> HiveMetastoreApiStats$1::call @ bci:97 RetryDriver::run @ bci:25
>>
>>   1013   CheckCastPP     ===  1011  900  [[ 923  1021  1021  1031  1040
>> 1050  1066  1085  1077  1100  1110  1176  1176 ]]
>> #org/apache/hadoop/hive/metastore/api/NoSuchObjectException:NotNull:exact
>> *
>> Oop:org/apache/hadoop/hive/metastore/api/NoSuchObjectException:NotNull:
>> exact
>> * !jvms: HiveMetastoreApiStats$1::call @ bci:118 RetryDriver::run @ bci:25
>>
>>   1000   Region  ===  1000  1097 _  990  [[ 1000  942  1107  1108  1109
>> 1110  1121  1124  1175 ]]  !jvms: HiveMetastoreApiStats$1::call @
>> bci:135 RetryDriver::run @ bci:25
>>
>>   1110   Phi     ===  1000  1013  1  900  [[ 942  1115  1132  1150
>> 1142  1165  1115  1172  1172 ]]  #java/lang/Exception:NotNull *
>> Oop:java/lang/Exception:NotNull * !jvms: HiveMetastoreApiStats$1::call @
>> bci:135 RetryDriver::run @ bci:25
>>
>>
>>
>>     I may need to ask you do more such testing if it is fine with you.
>>
>>
>> Absolutely! Just let me know.
>>
>> Thanks,
>> Martin
>>
>>
>>
>>
>>     Regards,
>>     Vladimir
>>
>>     On 9/11/14 2:05 PM, Martin Traverso wrote:
>>
>>         Hi Vladimir,
>>
>>         I finally got around to building a fastdebug VM. I don't see the
>>         first
>>         crash anymore (great!), but the second one still happens. Here's
>>         the output:
>>
>>         https://gist.github.com/__martint/abea9be3df700236ec0b
>>         <https://gist.github.com/martint/abea9be3df700236ec0b>
>>
>>         Let me know if there's anything other information you'd like me
>>         to gather.
>>
>>         Thanks!
>>         Martin
>>
>>         On Wed, Jul 30, 2014 at 10:29 AM, Vladimir Kozlov
>>         <vladimir.kozlov at oracle.com <mailto:vladimir.kozlov at oracle.com>
>>         <mailto:vladimir.kozlov at __oracle.com
>>         <mailto:vladimir.kozlov at oracle.com>>> wrote:
>>
>>              Martin,
>>
>>              It would be also nice if you can build fastdebug VM and run
>>         with it.
>>              cd hotspot/make; make fastdebug LP64=1
>>
>>              Thanks,
>>              Vladimir
>>
>>
>>              On 7/30/14 9:40 AM, Vladimir Kozlov wrote:
>>
>>                  8029381 was fixed in jdk9 and 8u20 (which should be
>>         release soon):
>>
>>         http://hg.openjdk.java.net/____jdk8u/jdk8u/hotspot/rev/____
>> 0b9500028980
>>         <http://hg.openjdk.java.net/__jdk8u/jdk8u/hotspot/rev/__
>> 0b9500028980>
>>
>>         <http://hg.openjdk.java.net/__jdk8u/jdk8u/hotspot/rev/__
>> 0b9500028980
>>         <http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/rev/0b9500028980
>> >>
>>
>>                  I will look on C2 crash more. I don't remember any recent
>>                  problems in
>>                  catch_inline_exceptions().
>>
>>                  Regards,
>>                  Vladimir
>>
>>                  On 5/19/14 12:24 PM, Martin Traverso wrote:
>>
>>                           The failure happened in C1 JIT compiler (first
>>         tier).
>>                      You can try
>>                      to switch off -XX:-TieredCompilation.
>>
>>
>>                      That seemed to have worked around this particular
>>         issue.
>>
>>                      However, we ran into another crash:
>>
>>                      Stack: [0x00000000430c8000,____0x00000000431c9000],
>>                      sp=0x00000000431c5980,
>>                      free space=1014k
>>                      Native frames: (J=compiled Java code,
>>         j=interpreted, Vv=VM code,
>>                      C=native code)
>>
>>                      V [libjvm.so+0x814115]
>>         LoadKlassNode::make(PhaseGVN&, Node*,
>>                      Node*,
>>                      TypePtr const*, TypeKlassPtr const*)+0x45
>>                      V [libjvm.so+0x51ab06]
>>
>>         Parse::catch_inline_____exceptions(SafePointNode*)+____0x936
>>
>>                      V [libjvm.so+0x8c1a5a] Parse::do_exceptions()+0xba
>>                      V [libjvm.so+0x8c6100] Parse::do_one_block()+0x180
>>                      V [libjvm.so+0x8c6377] Parse::do_all_blocks()+0x127
>>                      V [libjvm.so+0x8c95d3] Parse::Parse(JVMState*,
>>         ciMethod*, float,
>>                      Parse*)+0x15a3
>>                      V [libjvm.so+0x3b6529]
>>         ParseGenerator::generate(____JVMState*,
>>                      Parse*)+0x99
>>                      V [libjvm.so+0x3b7202]
>>                      PredictedCallGenerator::____generate(JVMState*,
>>                      Parse*)+0x2a2
>>                      V [libjvm.so+0x51aefd] Parse::do_call()+0x1cd
>>                      V [libjvm.so+0x8d3c7a]
>>         Parse::do_one_bytecode()+____0x32da
>>                      V [libjvm.so+0x8c60f8] Parse::do_one_block()+0x178
>>
>>                      V [libjvm.so+0x8c6377] Parse::do_all_blocks()+0x127
>>                      V [libjvm.so+0x8c95d3] Parse::Parse(JVMState*,
>>         ciMethod*, float,
>>                      Parse*)+0x15a3
>>
>>                      V [libjvm.so+0x3b6529]
>>         ParseGenerator::generate(____JVMState*,
>>                      Parse*)+0x99
>>                      V [libjvm.so+0x46111c] Compile::Compile(ciEnv*,
>>         C2Compiler*,
>>                      ciMethod*, int, bool, bool, bool)+0x128c
>>
>>                      V [libjvm.so+0x3b5008]
>>         C2Compiler::compile_method(____ciEnv*,
>>                      ciMethod*,
>>                      int)+0x198
>>                      V [libjvm.so+0x46982a]
>>
>>         CompileBroker::invoke_____compiler_on_method(____
>> CompileTask*)+0xc8a
>>
>>                      V [libjvm.so+0x46c230]
>>                      CompileBroker::compiler_____thread_loop()+0x620
>>                      V [libjvm.so+0x9e303f]
>>         JavaThread::thread_main_inner(____)+0xdf
>>
>>                      V [libjvm.so+0x9e3205] JavaThread::run()+0x1b5
>>                      V [libjvm.so+0x8a00c8] java_start(Thread*)+0x108
>>
>>
>>
>>                      Full dump here:
>>         https://gist.github.com/____martint/783cf3e30c17fc897423
>>         <https://gist.github.com/__martint/783cf3e30c17fc897423>
>>
>>         <https://gist.github.com/__martint/783cf3e30c17fc897423
>>         <https://gist.github.com/martint/783cf3e30c17fc897423>>
>>
>>
>>                           The only bug I found which could be related is
>>         next:
>>
>>         https://bugs.openjdk.java.net/______browse/JDK-8029381
>>         <https://bugs.openjdk.java.net/____browse/JDK-8029381>
>>
>>         <https://bugs.openjdk.java.__net/__browse/JDK-8029381
>>         <https://bugs.openjdk.java.net/__browse/JDK-8029381>>
>>                      <https://bugs.openjdk.java.___
>> _net/browse/JDK-8029381
>>                      <https://bugs.openjdk.java.__net/browse/JDK-8029381
>>         <https://bugs.openjdk.java.net/browse/JDK-8029381>>>
>>
>>
>>                      Unfortunately, I can't see this bug report. I get
>>         redirected
>>                      to the
>>                      login screen.
>>
>>
>>                      Thanks!
>>                      Martin
>>
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20140911/3f52af7d/attachment-0001.html>


More information about the hotspot-compiler-dev mailing list