Skip to content

CI failures running Rust 1.48 and 1.49 on ubuntu-latest and windows-latest #2527

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

Open
arik-so opened this issue Aug 25, 2023 · 8 comments · Fixed by #2537
Open

CI failures running Rust 1.48 and 1.49 on ubuntu-latest and windows-latest #2527

arik-so opened this issue Aug 25, 2023 · 8 comments · Fixed by #2537

Comments

@arik-so
Copy link
Contributor

arik-so commented Aug 25, 2023

The Cargo manifest cannot be parsed due to a serde dependency with version 1.0.187.

Here's an example of CI failing: https://github.com/lightningdevkit/rust-lightning/actions/runs/5979401369/job/16223410901

@arik-so arik-so changed the title CI failures on ubuntu-latest and windows-latest CI failures running Rust 1.48 and 1.49 on ubuntu-latest and windows-latest Aug 25, 2023
@TheBlueMatt
Copy link
Collaborator

Reported upstream cause they seemed to indicate in the pr they didn't expect breakage, but I assume we may simply have to pin.

@TheBlueMatt
Copy link
Collaborator

serde fixed the MSRV change.

@arik-so
Copy link
Contributor Author

arik-so commented Aug 28, 2023

Looks like now something similar has popped up with memchr https://github.com/lightningdevkit/rust-lightning/actions/runs/6002779089/job/16279839082

@arik-so arik-so reopened this Aug 28, 2023
TheBlueMatt added a commit to TheBlueMatt/rust-lightning that referenced this issue Aug 28, 2023
We use `tokio`'s `io-util` feature to provide the
`Async{Read,Write}Ext` traits, which allow us to simply launch a
read future or `poll_write` directly as well as `split` the
`TcpStream` into a read/write half. However, these traits aren't
actually doing much for us - they are really just wrapping the
`readable` future (which we can trivially use ourselves) and
`poll_write` isn't doing anything for us that `poll_write_ready`
can't.

Similarly, the split logic is actually just `Arc`ing the
`TcpStream` and busy-waiting when an operation is busy to prevent
concurrent reads/writes. However, there's no reason to prevent
concurrent access at the stream level - we aren't ever concurrently
writing or reading (though we may concurrently read and write,
which is fine).

Worse, the `io-util` feature broke MSRV (though they're likely to
fix this upstream) and carries two additional dependencies (only
one on the latest upstream tokio).

Thus, we simply drop the dependency here.

Fixes lightningdevkit#2527.
@jkczyz
Copy link
Contributor

jkczyz commented Aug 28, 2023

Looks like now something similar has popped up with memchr https://github.com/lightningdevkit/rust-lightning/actions/runs/6002779089/job/16279839082

Looks like #2537 doesn't fix this according to CI.

@TheBlueMatt
Copy link
Collaborator

Should be fixed.

TheBlueMatt added a commit to TheBlueMatt/rust-lightning that referenced this issue Aug 28, 2023
We use `tokio`'s `io-util` feature to provide the
`Async{Read,Write}Ext` traits, which allow us to simply launch a
read future or `poll_write` directly as well as `split` the
`TcpStream` into a read/write half. However, these traits aren't
actually doing much for us - they are really just wrapping the
`readable` future (which we can trivially use ourselves) and
`poll_write` isn't doing anything for us that `poll_write_ready`
can't.

Similarly, the split logic is actually just `Arc`ing the
`TcpStream` and busy-waiting when an operation is busy to prevent
concurrent reads/writes. However, there's no reason to prevent
concurrent access at the stream level - we aren't ever concurrently
writing or reading (though we may concurrently read and write,
which is fine).

Worse, the `io-util` feature broke MSRV (though they're likely to
fix this upstream) and carries two additional dependencies (only
one on the latest upstream tokio).

Thus, we simply drop the dependency here.

Fixes lightningdevkit#2527.
@TheBlueMatt TheBlueMatt reopened this Aug 29, 2023
@TheBlueMatt
Copy link
Collaborator

TheBlueMatt commented Aug 29, 2023

Oops, no, this is still live cause of core2. cc rust-bitcoin/rust-bitcoin#2034

@arik-so
Copy link
Contributor Author

arik-so commented Aug 29, 2023

kvoc is now also consistently failing

domZippilli pushed a commit to domZippilli/rust-lightning that referenced this issue Aug 30, 2023
We use `tokio`'s `io-util` feature to provide the
`Async{Read,Write}Ext` traits, which allow us to simply launch a
read future or `poll_write` directly as well as `split` the
`TcpStream` into a read/write half. However, these traits aren't
actually doing much for us - they are really just wrapping the
`readable` future (which we can trivially use ourselves) and
`poll_write` isn't doing anything for us that `poll_write_ready`
can't.

Similarly, the split logic is actually just `Arc`ing the
`TcpStream` and busy-waiting when an operation is busy to prevent
concurrent reads/writes. However, there's no reason to prevent
concurrent access at the stream level - we aren't ever concurrently
writing or reading (though we may concurrently read and write,
which is fine).

Worse, the `io-util` feature broke MSRV (though they're likely to
fix this upstream) and carries two additional dependencies (only
one on the latest upstream tokio).

Thus, we simply drop the dependency here.

Fixes lightningdevkit#2527.
henghonglee pushed a commit to henghonglee/rust-lightning that referenced this issue Sep 1, 2023
We use `tokio`'s `io-util` feature to provide the
`Async{Read,Write}Ext` traits, which allow us to simply launch a
read future or `poll_write` directly as well as `split` the
`TcpStream` into a read/write half. However, these traits aren't
actually doing much for us - they are really just wrapping the
`readable` future (which we can trivially use ourselves) and
`poll_write` isn't doing anything for us that `poll_write_ready`
can't.

Similarly, the split logic is actually just `Arc`ing the
`TcpStream` and busy-waiting when an operation is busy to prevent
concurrent reads/writes. However, there's no reason to prevent
concurrent access at the stream level - we aren't ever concurrently
writing or reading (though we may concurrently read and write,
which is fine).

Worse, the `io-util` feature broke MSRV (though they're likely to
fix this upstream) and carries two additional dependencies (only
one on the latest upstream tokio).

Thus, we simply drop the dependency here.

Fixes lightningdevkit#2527.
@TheBlueMatt
Copy link
Collaborator

Seems to have resolved itself - was a GitHub access downloading a file from GitHub but apparently only within CI.

jbesraa pushed a commit to jbesraa/rust-lightning that referenced this issue Sep 4, 2023
We use `tokio`'s `io-util` feature to provide the
`Async{Read,Write}Ext` traits, which allow us to simply launch a
read future or `poll_write` directly as well as `split` the
`TcpStream` into a read/write half. However, these traits aren't
actually doing much for us - they are really just wrapping the
`readable` future (which we can trivially use ourselves) and
`poll_write` isn't doing anything for us that `poll_write_ready`
can't.

Similarly, the split logic is actually just `Arc`ing the
`TcpStream` and busy-waiting when an operation is busy to prevent
concurrent reads/writes. However, there's no reason to prevent
concurrent access at the stream level - we aren't ever concurrently
writing or reading (though we may concurrently read and write,
which is fine).

Worse, the `io-util` feature broke MSRV (though they're likely to
fix this upstream) and carries two additional dependencies (only
one on the latest upstream tokio).

Thus, we simply drop the dependency here.

Fixes lightningdevkit#2527.
henghonglee pushed a commit to henghonglee/rust-lightning that referenced this issue Sep 4, 2023
We use `tokio`'s `io-util` feature to provide the
`Async{Read,Write}Ext` traits, which allow us to simply launch a
read future or `poll_write` directly as well as `split` the
`TcpStream` into a read/write half. However, these traits aren't
actually doing much for us - they are really just wrapping the
`readable` future (which we can trivially use ourselves) and
`poll_write` isn't doing anything for us that `poll_write_ready`
can't.

Similarly, the split logic is actually just `Arc`ing the
`TcpStream` and busy-waiting when an operation is busy to prevent
concurrent reads/writes. However, there's no reason to prevent
concurrent access at the stream level - we aren't ever concurrently
writing or reading (though we may concurrently read and write,
which is fine).

Worse, the `io-util` feature broke MSRV (though they're likely to
fix this upstream) and carries two additional dependencies (only
one on the latest upstream tokio).

Thus, we simply drop the dependency here.

Fixes lightningdevkit#2527.
waterson pushed a commit to waterson/rust-lightning that referenced this issue Sep 7, 2023
We use `tokio`'s `io-util` feature to provide the
`Async{Read,Write}Ext` traits, which allow us to simply launch a
read future or `poll_write` directly as well as `split` the
`TcpStream` into a read/write half. However, these traits aren't
actually doing much for us - they are really just wrapping the
`readable` future (which we can trivially use ourselves) and
`poll_write` isn't doing anything for us that `poll_write_ready`
can't.

Similarly, the split logic is actually just `Arc`ing the
`TcpStream` and busy-waiting when an operation is busy to prevent
concurrent reads/writes. However, there's no reason to prevent
concurrent access at the stream level - we aren't ever concurrently
writing or reading (though we may concurrently read and write,
which is fine).

Worse, the `io-util` feature broke MSRV (though they're likely to
fix this upstream) and carries two additional dependencies (only
one on the latest upstream tokio).

Thus, we simply drop the dependency here.

Fixes lightningdevkit#2527.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants