ReadyTalk / avian

[INACTIVE] Avian is a lightweight virtual machine and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications.
https://readytalk.github.io/avian/
Other
1.22k stars 172 forks source link

Travis build is failing for "bootimage-test=true" #547

Closed chrisr3 closed 7 years ago

chrisr3 commented 7 years ago

The Travis build has begun to fail, and "git bisect" has identified the following commit as the reason:

commit ecafdf40baf2f3cde4835620e9af4380b1081fe7
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sun Jul 9 16:58:04 2017 -0600

    fix some lambda bugs

:040000 040000 cc0769cc5a74b91e974f777a940b582a1e019801 2123154524a470f88e151fb7138be10607e6f9a1 M  classpath
:040000 040000 7611f04785ef5529bdb643b0958f782e8de64398 76e02b81cc3002915861ddb8d683d602ab4463e3 M  src
:040000 040000 f1e6f141cfcf498f868cbfb80f8d773b868a0923 2116c2f1cc1f450ab3a25f7dce0db6d5d6e6e274 M  test

However, I can't fathom how this commit can suddenly be causing problems when it was merged almost two months ago. It's not as if there haven't been any builds since then, although I've never tested "bootimage" builds locally before. Is bootimage-test=true a new addition to the Travis build?

My test-command for "git bisect" was:

make bootimage=true bootimage-test=true test

The crash happens in src/compile.cpp, specifically because bootstrap->class_() returns NULL in this function:

bool isLambda(Thread* t,
              GcClassLoader* loader,
              GcCharArray* bootstrapArray,
              GcInvocation* invocation)
{
  GcMethod* bootstrap = cast<GcMethod>(t,
                                       resolve(t,
                                               loader,
                                               invocation->pool(),
                                               bootstrapArray->body()[0],
                                               findMethodInClass,
                                               GcNoSuchMethodError::Type));
  ...
dicej commented 7 years ago

Thanks for pointing this out. I don't know why Travis just now started complaining about it; or maybe it's been complaining for a while and I haven't noticed.

Anyway, this should fix it: https://github.com/ReadyTalk/avian/commit/dc8c99bd2f045c787f2c322cd65f866626fa9461

chrisr3 commented 7 years ago

LGTM