XPost: linux.debian.ports.mips
Thanks for the ideas so far!
On Sat, Feb 20, 2021 at 3:53 AM Ao Qi <
[email protected]> wrote:
I tried to dpkg-buildpackage bazel-bootstrap, but I failed to
reproduce the issue. It seems a long time is needed. Is there a
simpler way to reproduce the problem?
When you say that you failed to reproduce the issue, do you mean that the bazel-bootstrap package was built correctly or that you experienced a
different error? Regarding a simple example, this [1] is what causes the problem so adapting this snippet to delete a test directory should allow
you to reproduce the problem. A guava dependency should allow you to
satisfy this: `import com.google.common.io.MoreFiles`. But I'm not
exactly a Java expert so I may be missing something here.
Regarding the long build times, if you are able to build in a persistent environment that should speed up the build. Bazel only rebuilds changed
code so reusing the same build environment should speed up subsequent
builds. (I have done this when building software with Bazel but not with building Bazel itself because I always build Debian packages in a clean environment)
Just FYI, we had a workaround for another issue. I don't know if it
has anything to do with this problem.
That looks like it may be related (from what I can tell)! I assume that workaround is not in the current mips64el OpenJDK in Debian? If you can
confirm on your system that your workaround fixes the problem shown in [1]
then it would be great to have that fix available in Debian!
On Tue, Feb 16, 2021 at 12:29 AM Ao Qi <
[email protected]> wrote:
On Mon, Feb 15, 2021 at 10:22 PM Aleksey Shipilev <[email protected]>
wrote:
On 2/15/21 1:40 AM, Olek Wojnar wrote:
On Sat, Feb 13, 2021 at 2:21 PM <[email protected] <mailto:
[email protected]>> wrote:
It selects the "Zero" VM, which I assume is the one used on
mips64el.
https://openjdk.java.net/projects/zero/
Ah, thanks for the explanation! It helped me to appropriately adjust
build-depends. Hmm, it looks
like Zero is not supported on MIPS at the moment, but perhaps that
site is just out-of-date?
There only Zero on mips64el for all current OpenJDKs. Zero for
mips64el should be supported since
JDK 10, see JDK-8186313:
https://bugs.openjdk.java.net/browse/JDK-8186313
...so openjdk-11 is supposed to work.
Ok, I made a mistake previously and only activated Zero for the bootstrap
Bazel build and not for the main Bazel build. The latest version in experimental should have both enabled [2] but it is still failing with the
same error.
Thing is, there is hardly anyone who supports mips64el in OpenJDK
upstream. I think Debian folks are
the most heavy users of it :) So, while you can submit a bug upstream,
I don't think there is a high
chance anyone picks it up. You can try to ask here:
That's unfortunate. :( Would filing a bug in Debian make more sense then?
That way, if we can figure out a fix, it can at least be applied to Debian.
I would like to pick it up. However, I am on vacation at the moment
and did not have a mips64el machine on hand. If time permits, I will
return to the company in three days to follow up on this issue.
Thanks for the follow-up! It sounds like we may have a better idea of
what's going on now.
It looks to me that Zero mips64el is another instance of
SecureDirectoryStream bug tail:
https://bugs.openjdk.java.net/issues/?jql=text%20~%20%22SecureDirectoryStream%22
If there is the mips64el machine where this reproduces, the next step
would be trying the mainline
JDK NIO tests, something like:
$ git clone https://github.com/openjdk/jdk
$ cd jdk
$ wget https://builds.shipilev.net/jtreg/jtreg.zip
$ unzip jtreg.zip
$ ./configure --with-debug-level=fastdebug --with-jtreg=./jtreg
$ make run-test TEST=java/nio
...and if that does not yield failures, then MCVE would be needed.
Does anyone here have easy access to a mips64el machine to try this?
-Olek
[1]
https://salsa.debian.org/bazel-team/bazel-bootstrap/-/blob/master/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java#L374-383
[2]
https://buildd.debian.org/status/fetch.php?pkg=bazel-bootstrap&arch=mips64el&ver=3.5.1%2Bds-3%7Eexp4&stamp=1613632868&raw=0
<div dir="ltr"><div>Thanks for the ideas so far!</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Feb 20, 2021 at 3:53 AM Ao Qi <<a href="mailto:
[email protected]">
[email protected]</a>> wrote:<br></div><blockquote class="
gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I tried to dpkg-buildpackage bazel-bootstrap, but I failed to<br>
reproduce the issue. It seems a long time is needed. Is there a<br>
simpler way to reproduce the problem?<br></blockquote><div><br></div><div>When you say that you failed to reproduce the issue, do you mean that the bazel-bootstrap package was built correctly or that you experienced a different error? Regarding a simple
example, this [1] is what causes the problem so adapting this snippet to delete a test directory should allow you to reproduce the problem. A guava dependency should allow you to satisfy this: `<span class="gmail-kn">import</span> <span class="gmail-nn">
com.google.common.io.MoreFiles`. But I'm not exactly a Java expert so I may be missing something here.</span></div><div><span class="gmail-nn"><br></span></div><div><span class="gmail-nn">Regarding the long build times, if you are able to build in a
persistent environment that should speed up the build. Bazel only rebuilds changed code so reusing the same build environment should speed up subsequent builds. (I have done this when building software with Bazel but not with building Bazel itself
because I always build Debian packages in a clean environment)</span></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Just FYI, we had a workaround for another
issue. I don't know if it<br>
has anything to do with this problem.<br></blockquote><div><br></div><div>That looks like it may be related (from what I can tell)! I assume that workaround is not in the current mips64el OpenJDK in Debian? If you can confirm on your system that your
workaround fixes the problem shown in [1] then it would be great to have that fix available in Debian!</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Tue,
Feb 16, 2021 at 12:29 AM Ao Qi <<a href="mailto:
[email protected]" target="_blank">
[email protected]</a>> wrote:<br>
><br>
> On Mon, Feb 15, 2021 at 10:22 PM Aleksey Shipilev <<a href="mailto:
[email protected]" target="_blank">
[email protected]</a>> wrote:<br>
> ><br>
> > On 2/15/21 1:40 AM, Olek Wojnar wrote:<br>
> > > On Sat, Feb 13, 2021 at 2:21 PM <<a href="mailto:
[email protected]" target="_blank">
[email protected]</a> <mailto:<a href="mailto:
[email protected]" target="_blank">
[email protected]</a>>> wrote:<br>
> > > It selects the "Zero" VM, which I assume is the one used on mips64el.<br>
> > > <a href="
https://openjdk.java.net/projects/zero/" rel="noreferrer" target="_blank">
https://openjdk.java.net/projects/zero/</a><br>
> > ><br>
> > > Ah, thanks for the explanation! It helped me to appropriately adjust build-depends. Hmm, it looks<br>
> > > like Zero is not supported on MIPS at the moment, but perhaps that site is just out-of-date?<br>
> ><br>
> > There only Zero on mips64el for all current OpenJDKs. Zero for mips64el should be supported since<br>
> > JDK 10, see JDK-8186313: <a href="
https://bugs.openjdk.java.net/browse/JDK-8186313" rel="noreferrer" target="_blank">
https://bugs.openjdk.java.net/browse/JDK-8186313</a><br>
> ><br>
> > ...so openjdk-11 is supposed to work.<br></blockquote><div><br></div><div>Ok, I made a mistake previously and only activated Zero for the bootstrap Bazel build and not for the main Bazel build. The latest version in experimental should have
both enabled [2] but it is still failing with the same error.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> > Thing is, there is hardly anyone who
supports mips64el in OpenJDK upstream. I think Debian folks are<br>
> > the most heavy users of it :) So, while you can submit a bug upstream, I don't think there is a high<br>
> > chance anyone picks it up. You can try to ask here:<br></blockquote><div><br></div><div>That's unfortunate. :( Would filing a bug in Debian make more sense then? That way, if we can figure out a fix, it can at least be applied to Debian.</
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> I would like to pick it up. However, I am on vacation at the moment<br>
> and did not have a mips64el machine on hand. If time permits, I will<br> > return to the company in three days to follow up on this issue.<br></blockquote><div><br></div><div>Thanks for the follow-up! It sounds like we may have a better idea of what's going on now. </div><div><br></div><blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> > It looks to me that Zero mips64el is another instance of SecureDirectoryStream bug tail:<br>
> > <a href="
https://bugs.openjdk.java.net/issues/?jql=text%20~%20%22SecureDirectoryStream%22" rel="noreferrer" target="_blank">
https://bugs.openjdk.java.net/issues/?jql=text%20~%20%22SecureDirectoryStream%22</a><br>
> ><br>
> > If there is the mips64el machine where this reproduces, the next step would be trying the mainline<br>
> > JDK NIO tests, something like:<br>
> ><br>
> > $ git clone <a href="
https://github.com/openjdk/jdk" rel="noreferrer" target="_blank">
https://github.com/openjdk/jdk</a><br>
> > $ cd jdk<br>
> > $ wget <a href="
https://builds.shipilev.net/jtreg/jtreg.zip" rel="noreferrer" target="_blank">
https://builds.shipilev.net/jtreg/jtreg.zip</a><br>
> > $ unzip jtreg.zip<br>
> > $ ./configure --with-debug-level=fastdebug --with-jtreg=./jtreg<br>
> > $ make run-test TEST=java/nio<br>
> ><br>
> > ...and if that does not yield failures, then MCVE would be needed.<br></blockquote><div><br></div><div>Does anyone here have easy access to a mips64el machine to try this?</div><div><br></div><div><br></div><div>-Olek</div><div><br></div><div>[
1] <a href="
https://salsa.debian.org/bazel-team/bazel-bootstrap/-/blob/master/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java#L374-383">https://salsa.debian.org/bazel-team/bazel-bootstrap/-/blob/master/src/java_
tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java#L374-383</a></div><div>[2] <a href="
https://buildd.debian.org/status/fetch.php?pkg=bazel-bootstrap&arch=mips64el&ver=3.5.1%2Bds-3%7Eexp4&stamp=1613632868&raw=
0">
https://buildd.debian.org/status/fetch.php?pkg=bazel-bootstrap&arch=mips64el&ver=3.5.1%2Bds-3%7Eexp4&stamp=1613632868&raw=0</a></div></div></div>
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)