Subject: bug#36685: ant-bootstrap fails on core-updates (409 dependents)

From: Ricardo Wurmus <[email-masked]>
Date: Fri, 19 Jul 2019 14:56:04 +0200

Hi Gábor,

> Ricardo Wurmus <[email-masked]> ezt írta (időpont: 2019. júl. 19., P,
> 8:09):
>
>>
>> Ricardo Wurmus <[email-masked]> writes:
>> > Here’s a shorter patch:
>> >
>> > --8<---------------cut here---------------start------------->8---
>> > diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
>> > index 403c446a82..bd98784232 100644
>> > --- a/gnu/packages/java.scm
>> > +++ b/gnu/packages/java.scm
>> > @@ -152,6 +152,13 @@ and binary format defined in The Java Virtual
>> Machine Specification.")
>> >               "--disable-gjdoc")
>> >         #:phases
>> >         (modify-phases %standard-phases
>> > +         (add-after 'unpack 'foo
>> > +           (lambda _
>> > +             (substitute* "native/jni/java-io/java_io_VMFile.c"
>> > +               (("result = cpio_isFileExists.*" m)
>> > +                (string-append m "
>> > +//Without a long comment the Java side will return \"true\" on x86_64
>> all the time.")))
>> > +             #t))
>> >           (add-after 'install 'install-data
>> >             (lambda _ (invoke "make" "install-data"))))))
>> >      (native-inputs
>> > --8<---------------cut here---------------end--------------->8---
>> >
>> > This only adds a comment.  If the comment is too short it won’t work.
>>
>>
> I confirm this path works.
> I tested a modified version, where I took out the comment text. It also
> works that way.

Yes.  It’s just commenting the *following* line (i.e. removal of the
call to “free”) that fixes it.

> We might contact the classpath devs to get a proper fix, and maybe a new
> release, they
> were super responsive the last time.

I don’t think the problem is with GNU Classpath.  Classpath devs are
welcome to look at this, of course, but we are not even using the latest
version at this point in the bootstrap.

I wonder what could have caused this problem in the first place.  The
bootstrap hasn’t changed.  Using the same compiler as before doesn’t fix
it, so it’s probably not the compiler either.  So what is it?

>> Illegal instruction?  This uses JamVM 2.0.0 as the JVM.  I’ll try to
>> figure out what instruction this is and where it comes from.
>
> I hit the same bug now.

Good.  We need to figure out why – is it miscompilation?  Tuning to a
different CPU type…?

--
Ricardo