[llvm-dev] Suggestions on debugging pre-merge test failure that looks irrelevant.

39 views
Skip to first unread message

Mingming Liu via llvm-dev

unread,
Dec 13, 2021, 3:49:49 PM12/13/21
to llvm-dev
Hi,
   I'm looking for some suggestions on debugging pre-merge test failures that look irrelevant.
 
   Two examples with links (while `ninja check-all` passed for the patch, although the DLLVM_ENABLE_PROJECTS doesn't necessarily cover the subprojects that fail)
   1) This is caused by stale cmake configurations, as indicated by the error.
        Link of build artifact
        Sync up to pick up new cmake configurations resolved the error.

     
       Test failed with error
       
  1. Failed Tests (1):
  2. LLVM :: Bindings/Go/go.test
      I didn't find other information in the log that might help.

     There is a playbook yet I'm wondering if there are more lightweight procedures besides restarting build (e.g., looking at a continuous build dashboard for tests that might already fail or might be flaky before the patch) to debug tests that look irrelevant.

--
Thanks,
Mingming

Geoffrey Martin-Noble via llvm-dev

unread,
Dec 13, 2021, 4:13:53 PM12/13/21
to Mingming Liu, Mikhail Goncharov, llvm-dev
The first error you linked is for Bazel, which is not officially supported, but you have opted in to the pre-merge checks by joining the Bazel phab project. That particular message comes from the tests that detect when config files have changed. As you noted, this is due to an old baseline for your patch (that was fixed 11 days ago in https://github.com/llvm/llvm-project/commit/c6cfd385b1). I'd generally recommend rebasing to more recent commits before sending something for review/testing anyway.

For the second failure, you can see more details about the error in the error logs. The raw logs have everything (whereas the buildkite UI only shows the last 1MB, as noted at the top). There you can see the output for that particular test failure (it takes a minute to load). The relevant bit is:

no required module provides package llvm.org/llvm/bindings/go/llvm: go.mod file not found in current directory or any parent directory; see 'go help modules'

So it's something about a missing go dependency. I think I've encountered that failure before. It seems flaky. Maybe people working on go bindings can help root cause?

Sorry that doesn't answer your meta-question. Perhaps +Mikhail Goncharov has some ideas for better workflows here

_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

James Farrell via llvm-dev

unread,
Dec 13, 2021, 4:15:46 PM12/13/21
to Geoffrey Martin-Noble, llvm-dev, Mingming Liu, Mikhail Goncharov
I also encountered this error, and got it to go away by passing -DLLVM_INCLUDE_GO_TESTS=OFF to cmake.

-- James

Mingming Liu via llvm-dev

unread,
Dec 13, 2021, 4:47:24 PM12/13/21
to James Farrell, llvm-dev, Mikhail Goncharov
Thanks Geoffrey and James! Very helpful!

On Mon, Dec 13, 2021 at 1:15 PM James Farrell <jamesf...@google.com> wrote:
I also encountered this error, and got it to go away by passing -DLLVM_INCLUDE_GO_TESTS=OFF to cmake.

Got it.

Just to make sure I'm getting it right, I'll have a one-line change in https://github.com/llvm/llvm-project/blob/main/llvm/CMakeLists.txt#L595 in the patch and revert this line later (which is probably fine in the review if it's obvious go tests are not very relevant)

-- James


On Mon, Dec 13, 2021 at 3:13 PM Geoffrey Martin-Noble via llvm-dev <llvm...@lists.llvm.org> wrote:
The first error you linked is for Bazel, which is not officially supported, but you have opted in to the pre-merge checks by joining the Bazel phab project. That particular message comes from the tests that detect when config files have changed. As you noted, this is due to an old baseline for your patch (that was fixed 11 days ago in https://github.com/llvm/llvm-project/commit/c6cfd385b1). I'd generally recommend rebasing to more recent commits before sending something for review/testing anyway.

For the second failure, you can see more details about the error in the error logs. The raw logs have everything (whereas the buildkite UI only shows the last 1MB, as noted at the top). There you can see the output for that particular test failure (it takes a minute to load). The relevant bit is:

no required module provides package llvm.org/llvm/bindings/go/llvm: go.mod file not found in current directory or any parent directory; see 'go help modules'

So it's something about a missing go dependency.

I was able to navigate to raw logs and see the same error of missing Go dependency now .
I think I've encountered that failure before. It seems flaky. Maybe people working on go bindings can help root cause?

Sorry that doesn't answer your meta-question.

It's already very helpful to me :-)
 
Perhaps +Mikhail Goncharov has some ideas for better workflows here

 Mikhail, it'd be great if you have some ideas!

Also, the option LLVM_INCLUDE_GO_TESTS  was turned on years ago (i.e., not a recent change of enabling Go tests). Retry gives the same error; not sure if there are changes on the testing machines (and dunno how to check that) 

On Mon, Dec 13, 2021 at 12:49 PM Mingming Liu via llvm-dev <llvm...@lists.llvm.org> wrote:
Hi,
   I'm looking for some suggestions on debugging pre-merge test failures that look irrelevant.
 
   Two examples with links (while `ninja check-all` passed for the patch, although the DLLVM_ENABLE_PROJECTS doesn't necessarily cover the subprojects that fail)
   1) This is caused by stale cmake configurations, as indicated by the error.
        Link of build artifact
        Sync up to pick up new cmake configurations resolved the error.

     
       Test failed with error
       
  1. Failed Tests (1):
  2. LLVM :: Bindings/Go/go.test
      I didn't find other information in the log that might help.

     There is a playbook yet I'm wondering if there are more lightweight procedures besides restarting build (e.g., looking at a continuous build dashboard for tests that might already fail or might be flaky before the patch) to debug tests that look irrelevant.

--
Thanks,
Mingming
_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


--
Thanks,
Mingming

Fāng-ruì Sòng via llvm-dev

unread,
Dec 13, 2021, 5:35:38 PM12/13/21
to Peter Collingbourne, llvm-dev, Mingming Liu, Mikhail Goncharov
On Mon, Dec 13, 2021 at 1:47 PM Mingming Liu via llvm-dev

The test/Bindings/Go failure was a regression of recent months. (It
failed enough that I turned off it via -DLLVM_INCLUDE_GO_TESTS=OFF)
Earlier this year (<=July) I saw that llvm/bindings/go/llvm/ir_test.go
could catch many issues due to newly introduced attributes.

Cc pcc who initially introduced the binding.

>>>> --
>>>> Thanks,
>>>> Mingming
>>>> _______________________________________________
>>>> LLVM Developers mailing list
>>>> llvm...@lists.llvm.org
>>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> llvm...@lists.llvm.org
>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
>
> --
> Thanks,
> Mingming
> _______________________________________________
> LLVM Developers mailing list
> llvm...@lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

--
宋方睿

Mingming Liu via llvm-dev

unread,
Dec 21, 2021, 1:12:09 PM12/21/21
to Fāng-ruì Sòng, llvm-dev, Mikhail Goncharov
(Probably a little late but just for the record) https://buildkite.com/llvm-project/llvm-main/builds seems to be a dashboard to check for continuous build results, so might be a good way to find existing failures.


--
Thanks,
Mingming

Fāng-ruì Sòng via llvm-dev

unread,
Jan 5, 2022, 11:09:16 PM1/5/22
to Peter Collingbourne, llvm-dev, Mingming Liu, Mikhail Goncharov
On Mon, Dec 13, 2021 at 2:35 PM Fāng-ruì Sòng <mas...@google.com> wrote:
>
> On Mon, Dec 13, 2021 at 1:47 PM Mingming Liu via llvm-dev
> <llvm...@lists.llvm.org> wrote:
> >
> > Thanks Geoffrey and James! Very helpful!
> >
> > On Mon, Dec 13, 2021 at 1:15 PM James Farrell <jamesf...@google.com> wrote:
> >>
> >> I also encountered this error, and got it to go away by passing -DLLVM_INCLUDE_GO_TESTS=OFF to cmake.
> >
> >
> > Got it.
> >
> > Just to make sure I'm getting it right, I'll have a one-line change in https://github.com/llvm/llvm-project/blob/main/llvm/CMakeLists.txt#L595 in the patch and revert this line later (which is probably fine in the review if it's obvious go tests are not very relevant)
> >>
> >>
> >> -- James
> >>
> >>
> >> On Mon, Dec 13, 2021 at 3:13 PM Geoffrey Martin-Noble via llvm-dev <llvm...@lists.llvm.org> wrote:
> >>>
> >>> The first error you linked is for Bazel, which is not officially supported, but you have opted in to the pre-merge checks by joining the Bazel phab project. That particular message comes from the tests that detect when config files have changed. As you noted, this is due to an old baseline for your patch (that was fixed 11 days ago in https://github.com/llvm/llvm-project/commit/c6cfd385b1). I'd generally recommend rebasing to more recent commits before sending something for review/testing anyway.
> >>>
> >>> For the second failure, you can see more details about the error in the error logs. The raw logs have everything (whereas the buildkite UI only shows the last 1MB, as noted at the top). There you can see the output for that particular test failure (it takes a minute to load). The relevant bit is:
> >>>
> >>>> no required module provides package llvm.org/llvm/bindings/go/llvm: go.mod file not found in current directory or any parent directory; see 'go help modules'
> >>>
> >>>
> >>> So it's something about a missing go dependency.
> >
> >
> > I was able to navigate to raw logs and see the same error of missing Go dependency now .
> >>>
> >>> I think I've encountered that failure before. It seems flaky. Maybe people working on go bindings can help root cause?
> >>>
> >>> Sorry that doesn't answer your meta-question.
> >
> >
> > It's already very helpful to me :-)
> >
> >>>
> >>> Perhaps +Mikhail Goncharov has some ideas for better workflows here
> >
> >
> > Mikhail, it'd be great if you have some ideas!
> >
> > Also, the option LLVM_INCLUDE_GO_TESTS was turned on years ago (i.e., not a recent change of enabling Go tests). Retry gives the same error; not sure if there are changes on the testing machines (and dunno how to check that)

Circling back. https://reviews.llvm.org/D116698 has been submitted to
disable LLVM_INCLUDE_GO_TESTS by default.

Reply all
Reply to author
Forward
0 new messages