Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fuzz Testing & Nightly Cargo udeps are failing due to prost-derive #514

Closed
MattDavis00 opened this issue Sep 3, 2021 · 7 comments · Fixed by #535
Closed

Fuzz Testing & Nightly Cargo udeps are failing due to prost-derive #514

MattDavis00 opened this issue Sep 3, 2021 · 7 comments · Fixed by #535
Assignees
Labels
bug Something isn't working stability Issues related to the stability of the service testing Task related to testing

Comments

@MattDavis00
Copy link
Member

As mentioned, Fuzz Testing & Nightly Cargo udeps are failing due to prost-derive.

   Compiling prost-derive v0.6.1
error[E0034]: multiple applicable items in scope
   --> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/prost-derive-0.6.1/src/lib.rs:111:14
    |
111 |             .intersperse(quote!(|));
    |              ^^^^^^^^^^^ multiple `intersperse` found
    |
    = note: candidate #1 is defined in an impl of the trait `Iterator` for the type `Map<I, F>`
    = note: candidate #2 is defined in an impl of the trait `Itertools` for the type `T`
help: disambiguate the associated function for candidate #1
    |
107 ~         let tags = Iterator::intersperse(field
108 +             .tags()
109 +             .into_iter()
110 +             .map(|tag| quote!(#tag)), {
111 +         let mut _s = $crate::__private::TokenStream::new();
112 +         $crate::quote_each_token!(_s $($tt)*);
  ...
help: disambiguate the associated function for candidate #2
    |
107 ~         let tags = Itertools::intersperse(field
108 +             .tags()
109 +             .into_iter()
110 +             .map(|tag| quote!(#tag)), {
111 +         let mut _s = $crate::__private::TokenStream::new();
112 +         $crate::quote_each_token!(_s $($tt)*);
@MattDavis00 MattDavis00 added bug Something isn't working testing Task related to testing stability Issues related to the stability of the service labels Sep 3, 2021
@MattDavis00 MattDavis00 self-assigned this Sep 3, 2021
MattDavis00 added a commit to MattDavis00/parsec that referenced this issue Sep 3, 2021
This is in hopes of fixing parallaxsecond#514

Signed-off-by: Matt Davis <matt.davis@arm.com>
MattDavis00 added a commit to MattDavis00/parsec-interface-rs that referenced this issue Sep 3, 2021
In hopes of fixing parallaxsecond/parsec#514

Signed-off-by: Matt Davis <matt.davis@arm.com>
MattDavis00 added a commit to MattDavis00/parsec-interface-rs that referenced this issue Sep 3, 2021
In hopes of fixing parallaxsecond/parsec#514

Signed-off-by: Matt Davis <matt.davis@arm.com>
MattDavis00 added a commit to MattDavis00/parsec that referenced this issue Sep 3, 2021
Attempts to fix parallaxsecond#514

Signed-off-by: Matt Davis <matt.davis@arm.com>
MattDavis00 added a commit to MattDavis00/parsec-client-rust that referenced this issue Sep 3, 2021
Attempts to fix parallaxsecond/parsec#514

Signed-off-by: Matt Davis <matt.davis@arm.com>
MattDavis00 added a commit to MattDavis00/parsec that referenced this issue Sep 3, 2021
Also updated parsec-client-rust source inside of fuzz testing.
(This points to a fork of parsec-client-rust that also uses the updated parsec-interface.)
The parsec-interface includes an update where prost and prost-build are updated from 0.6.1->0.7.0

Attempts to fix parallaxsecond#514

Signed-off-by: Matt Davis <matt.davis@arm.com>
@MattDavis00 MattDavis00 removed their assignment Sep 3, 2021
@MattDavis00
Copy link
Member Author

MattDavis00 commented Sep 3, 2021

Parsec interface is running 0.6.1 and Parsec service is running 0.7.0.
An attempt at updating the Parsec interface to use prost 0.7.0 & prost-build 0.7.0 does not seem to fix the issue as seen here

@MattDavis00
Copy link
Member Author

Seems to be related to rust-lang/rust#88878

@MattDavis00
Copy link
Member Author

Seems to have been picked up within the prost crate here tokio-rs/prost#526
Looks like the fix is either pin the nightly builds to an older version or update prost to 0.8.0

MattDavis00 added a commit to MattDavis00/parsec-interface-rs that referenced this issue Sep 14, 2021
In hopes of fixing parallaxsecond/parsec#514

Signed-off-by: Matt Davis <matt.davis@arm.com>
MattDavis00 added a commit to MattDavis00/parsec-interface-rs that referenced this issue Sep 14, 2021
In hopes of fixing parallaxsecond/parsec#514

Signed-off-by: Matt Davis <matt.davis@arm.com>
MattDavis00 added a commit to MattDavis00/parsec-client-rust that referenced this issue Sep 14, 2021
Attempts to fix parallaxsecond/parsec#514

Signed-off-by: Matt Davis <matt.davis@arm.com>
MattDavis00 added a commit to MattDavis00/parsec that referenced this issue Sep 14, 2021
Also updated parsec-client-rust source inside of fuzz testing.
(This points to a fork of parsec-client-rust that also uses the updated parsec-interface.)
The parsec-interface includes an update where prost and prost-build are updated from 0.6.1->0.8.0

Attempts to fix parallaxsecond#514

Signed-off-by: Matt Davis <matt.davis@arm.com>
MattDavis00 added a commit to MattDavis00/parsec that referenced this issue Sep 14, 2021
Also updated parsec-client-rust source inside of fuzz testing.
(This points to a fork of parsec-client-rust that also uses the updated parsec-interface.)
The parsec-interface includes an update where prost and prost-build are updated from 0.6.1->0.8.0

Attempts to fix parallaxsecond#514

Signed-off-by: Matt Davis <matt.davis@arm.com>
MattDavis00 added a commit to MattDavis00/parsec that referenced this issue Sep 14, 2021
Also updated parsec-client-rust source inside of fuzz testing.
(This points to a fork of parsec-client-rust that also uses the updated parsec-interface.)
The parsec-interface includes an update where prost and prost-build are updated from 0.6.1->0.8.0

Attempts to fix parallaxsecond#514

Signed-off-by: Matt Davis <matt.davis@arm.com>
MattDavis00 added a commit to MattDavis00/parsec that referenced this issue Sep 14, 2021
Also updated parsec-client-rust source inside of fuzz testing.
(This points to a fork of parsec-client-rust that also uses the updated parsec-interface.)
The parsec-interface includes an update where prost and prost-build are updated from 0.6.1->0.8.0

Attempts to fix parallaxsecond#514

Signed-off-by: Matt Davis <matt.davis@arm.com>
@MattDavis00
Copy link
Member Author

MattDavis00 commented Sep 14, 2021

Updating prost to 0.8.0 seems to fix the itertools .intersperse() conflict. It however raises some additional errors:
https://github.com/MattDavis00/parsec/actions/runs/1233575094
https://github.com/MattDavis00/parsec/actions/runs/1233578406

@ionut-arm
Copy link
Member

Those ones are fixed if you do a cargo update, I think, but the bigger problem is that we can't update prost for now because it conflicts with our Minimum Rust Supported Version, see #471

I've added this as a discussion point for today's meeting.

ionut-arm added a commit to ionut-arm/parsec that referenced this issue Sep 17, 2021
This commit disables some of the CI and nightly workflows that were
failing due to the issues described in
parallaxsecond#514

Signed-off-by: Ionut Mihalcea <ionut.mihalcea@arm.com>
@hug-dev
Copy link
Member

hug-dev commented Sep 24, 2021

Hey @ggardet!
Small question. Reading from the rust.spec file of this page (you linked when I asked you in a previous issue), can we assume that Leap 15.3 is now using Rust version 1.53.0? If that's the case, can we update our CI scripts to use that as our Minimum Rust Supported Version?

@ggardet
Copy link

ggardet commented Sep 27, 2021

Hey @ggardet!
Small question. Reading from the rust.spec file of this page (you linked when I asked you in a previous issue), can we assume that Leap 15.3 is now using Rust version 1.53.0? If that's the case, can we update our CI scripts to use that as our Minimum Rust Supported Version?

Indeed, rust 1.53 is now available from the update channel. So, you should be able to bump the min version safely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working stability Issues related to the stability of the service testing Task related to testing
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants