On 2/28/18 11:52 PM, Charles Oliver Nutter wrote:
Ah-ha...I added some logging, which of course made the error go away...but about ten tests later I got a metaspace OOM.

That makes sense. BTW there's another source of exceptions during MethodHandle construction (e.g., JDK-8086252 [1]):

   java.lang.VirtualMachineError: Out of space in CodeCache for adapters

Could be this was all just a memory issue, but it would be nice if the error didn't get swallowed.

It's not swallowed, but wrapped in InternalError before rethrowing. Do you have control over test harness to print the whole exception chain?

Best regards,
Vladimir Ivanov

[1] https://bugs.openjdk.java.net/browse/JDK-8086252

On Wed, Feb 28, 2018 at 12:40 PM Charles Oliver Nutter <head...@headius.com <mailto:head...@headius.com>> wrote:

    Hey, I'm still not sure how best to deal with this, but we've been
    consistently getting a similar error at the same place. It has kept
    JRuby master CI red for many weeks.

    The problem does not reproduce when running in isolation...only in a
    long test run, and so far only on Travis CI (Ubuntu 16.something,
    Java 8u151).

    Looking at the code, it appears the dropArguments call below (called
    from MethodHandles.guardWithTest:3018) was replaced with some new
    code and dropArgumentsToMatch in 9. I have not read through logs to
    see if that change might be related.

    Unhandled Java exception: java.lang.InternalError: 
exactInvoker=Lambda(a0:L/SpeciesData<LL>,a1:L,a2:L)=>{
          [exec]     t3:L=BoundMethodHandle$Species_LL.argL1(a0:L);
          [exec]     t4:L=MethodHandle.invokeBasic(t3:L);
          [exec]     t5:L=BoundMethodHandle$Species_LL.argL0(a0:L);
          [exec]     t6:V=Invokers.checkExactType(t4:L,t5:L);
          [exec]     t7:V=Invokers.checkCustomized(t4:L);
          [exec]     t8:I=MethodHandle.invokeBasic(t4:L);t8:I}
          [exec] java.lang.InternalError: 
exactInvoker=Lambda(a0:L/SpeciesData<LL>,a1:L,a2:L)=>{
          [exec]     t3:L=BoundMethodHandle$Species_LL.argL1(a0:L);
          [exec]     t4:L=MethodHandle.invokeBasic(t3:L);
          [exec]     t5:L=BoundMethodHandle$Species_LL.argL0(a0:L);
          [exec]     t6:V=Invokers.checkExactType(t4:L,t5:L);
          [exec]     t7:V=Invokers.checkCustomized(t4:L);
          [exec]     t8:I=MethodHandle.invokeBasic(t4:L);t8:I}
          [exec]    newInternalError at 
java/lang/invoke/MethodHandleStatics.java:127
          [exec]   compileToBytecode at java/lang/invoke/LambdaForm.java:660
          [exec]             prepare at java/lang/invoke/LambdaForm.java:635
          [exec]              <init> at java/lang/invoke/MethodHandle.java:461
          [exec]              <init> at 
java/lang/invoke/BoundMethodHandle.java:58
          [exec]              <init> at java/lang/invoke/Species_LL:-1
          [exec]            copyWith at java/lang/invoke/Species_LL:-1
          [exec]       dropArguments at java/lang/invoke/MethodHandles.java:2465
          [exec]       guardWithTest at java/lang/invoke/MethodHandles.java:3018
          [exec]       guardWithTest at java/lang/invoke/SwitchPoint.java:173
          [exec]         searchConst at 
org/jruby/ir/targets/ConstantLookupSite.java:103


    On Fri, Jan 12, 2018 at 9:54 AM Charles Oliver Nutter
    <head...@headius.com <mailto:head...@headius.com>> wrote:

        I wish I could provide more info here. Just got another one in CI:

              [exec] [1603/8763] 
TestBenchmark#test_benchmark_makes_extra_calcultations_with_an_Array_at_the_end_of_the_benchmark_and_show_the_resultUnhandled
 Java exception: java.lang.BootstrapMethodError: call site initialization 
exception
              [exec] java.lang.BootstrapMethodError: call site initialization 
exception
              [exec]           makeSite at java/lang/invoke/CallSite.java:341
              [exec]   linkCallSiteImpl at 
java/lang/invoke/MethodHandleNatives.java:307
              [exec]       linkCallSite at 
java/lang/invoke/MethodHandleNatives.java:297
              [exec]   block in autorun at 
/home/travis/build/jruby/jruby/test/mri/lib/test/unit.rb:935
              [exec]         callDirect at 
org/jruby/runtime/CompiledIRBlockBody.java:151
              [exec]               call at org/jruby/runtime/IRBlockBody.java:77
              [exec]               call at org/jruby/runtime/Block.java:124
              [exec]               call at org/jruby/RubyProc.java:288
              [exec]               call at org/jruby/RubyProc.java:272
              [exec]           tearDown at org/jruby/Ruby.java:3276
              [exec]           tearDown at org/jruby/Ruby.java:3249
              [exec]        internalRun at org/jruby/Main.java:309
              [exec]                run at org/jruby/Main.java:232
              [exec]               main at org/jruby/Main.java:204
              [exec]
              [exec] Caused by:
              [exec] java.lang.InternalError: 
BMH.reinvoke=Lambda(a0:L/SpeciesData<L>,a1:L,a2:L,a3:L)=>{
              [exec]     t4:L=Species_L.argL0(a0:L);
              [exec]     
t5:L=MethodHandle.invokeBasic(t4:L,a1:L,a2:L,a3:L);t5:L}
              [exec]     newInternalError at 
java/lang/invoke/MethodHandleStatics.java:127
              [exec]    compileToBytecode at 
java/lang/invoke/LambdaForm.java:660
              [exec]              prepare at 
java/lang/invoke/LambdaForm.java:635
              [exec]               <init> at 
java/lang/invoke/MethodHandle.java:461
              [exec]               <init> at 
java/lang/invoke/BoundMethodHandle.java:58
              [exec]               <init> at 
java/lang/invoke/BoundMethodHandle.java:211
              [exec]                 make at 
java/lang/invoke/BoundMethodHandle.java:224
              [exec]        makeReinvoker at 
java/lang/invoke/BoundMethodHandle.java:141
              [exec]               rebind at 
java/lang/invoke/DirectMethodHandle.java:130
              [exec]      insertArguments at 
java/lang/invoke/MethodHandles.java:2371
              [exec]                   up at 
com/headius/invokebinder/transform/Insert.java:99


        On Tue, Jan 9, 2018 at 12:18 PM Vladimir Ivanov
        <vladimir.x.iva...@oracle.com
        <mailto:vladimir.x.iva...@oracle.com>> wrote:

            Thanks, Charlie.

            Unfortunately, it doesn't give much info without the
            exception which
            caused it.

            jdk/src/share/classes/java/lang/invoke/LambdaForm.java:
                 659         } catch (Error | Exception ex) {
                 660             throw newInternalError(this.toString(),
            ex);
                 661         }

            Best regards,
            Vladimir Ivanov

            On 1/9/18 9:10 PM, Charles Oliver Nutter wrote:
             > Unfortunately this just happened in one build, but I
            thought I'd post it
             > here for posterity.
             >
             > Unhandled Java exception: java.lang.InternalError:
            identity_L=Lambda(a0:L/SpeciesData<L>,a1:L,a2:L)=>{
             >       [exec]     t3:L=Species_L.argL0(a0:L);t3:L}
             >       [exec] java.lang.InternalError:
            identity_L=Lambda(a0:L/SpeciesData<L>,a1:L,a2:L)=>{
             >       [exec]     t3:L=Species_L.argL0(a0:L);t3:L}
             >       [exec]    newInternalError at
            java/lang/invoke/MethodHandleStatics.java:127
             >       [exec]   compileToBytecode at
            java/lang/invoke/LambdaForm.java:660
             >       [exec]             prepare at
            java/lang/invoke/LambdaForm.java:635
             >       [exec]              <init> at
            java/lang/invoke/MethodHandle.java:461
             >       [exec]              <init> at
            java/lang/invoke/BoundMethodHandle.java:58
             >       [exec]              <init> at
            java/lang/invoke/BoundMethodHandle.java:211
             >       [exec]            copyWith at
            java/lang/invoke/BoundMethodHandle.java:228
             >       [exec]       dropArguments at
            java/lang/invoke/MethodHandles.java:2465
             >       [exec]       dropArguments at
            java/lang/invoke/MethodHandles.java:2535
             >       [exec]                  up at
            com/headius/invokebinder/transform/Drop.java:39
             >       [exec]              invoke at
            com/headius/invokebinder/Binder.java:1143
             >       [exec]            constant at
            com/headius/invokebinder/Binder.java:1116
             >       [exec]         searchConst at
            org/jruby/ir/targets/ConstantLookupSite.java:98
             >       [exec]    block in autorun at
            /home/travis/build/jruby/jruby/test/mri/lib/test/unit.rb:935
             >       [exec]          callDirect at
            org/jruby/runtime/CompiledIRBlockBody.java:151
             >       [exec]                call at
            org/jruby/runtime/IRBlockBody.java:77
             >       [exec]                call at
            org/jruby/runtime/Block.java:124
             >       [exec]                call at
            org/jruby/RubyProc.java:288
             >       [exec]                call at
            org/jruby/RubyProc.java:272
             >       [exec]            tearDown at org/jruby/Ruby.java:3276
             >       [exec]            tearDown at org/jruby/Ruby.java:3249
             >       [exec]         internalRun at org/jruby/Main.java:309
             >       [exec]                 run at org/jruby/Main.java:232
             >       [exec]                main at org/jruby/Main.java:204
             >
             > - Charlie
             >
             >
             >
             > _______________________________________________
             > mlvm-dev mailing list
             > mlvm-dev@openjdk.java.net <mailto:mlvm-dev@openjdk.java.net>
             > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
             >

--
    - Charlie (mobile)

--

- Charlie (mobile)

_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to