Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upReplace mpsc with crossbeam-channel #21325
Conversation
highfive
commented
Aug 2, 2018
|
Heads up! This PR modifies the following files:
|
|
@bors-servo try |
Crossbeam integration <!-- Please describe your changes on the following line: --> Follow up on #19515 --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21325) <!-- Reviewable:end -->
|
|
|
In order to resolve the tidy errors, I'm currently updating dependencies of the crossbeam crates. Just waiting for the Travis tests to pass... (will take an hour or so) |
|
Done! Can we retry the tests? |
Actually getting a bunch of positive unexpected test results. Also some websocket timeouts, but I think those are intermittents. I just removed another similar default in serviceworker... @stjepang thanks, retrying now @bors-servo try |
Crossbeam integration <!-- Please describe your changes on the following line: --> Follow up on #19515 --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21325) <!-- Reviewable:end -->
awesome, let's see if those hold up on the next test run... Wasn't there something about the channel to the layout thread crashing sometimes? Could it be that this is fixed which is preventing those crashes of those webgl tests? The source for this is http://build.servo.org/grid, under the column for merge commit corresponding to what the bot announces... |
|
|
Do we need to do something on this side too? (this isn't going to prevent the other tests from running, which will still provide useful info) |
|
Oh, I see what the problem is. So I don't see an easy way out of this mess. :( Can we just allow using multiple versions of the Crossbeam crates and |
|
Yes, our servo-tidy.toml has a list of exclusions for the duplicate crate check. |
|
this looks like progress:
those look intermittent(failing on different boxes on different runs):
I'll update the test exptectations and the |
|
@bors-servo try |
Crossbeam integration <!-- Please describe your changes on the following line: --> Follow up on #19515 --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21325) <!-- Reviewable:end -->
|
|
Replace mpsc with crossbeam-channel Follow up on #19515 --- Selecting over multiple channels in `std::sync::mpsc` is not stable and likely never will be: rust-lang/rust#27800 (comment) > It seems the only thing keeping `mpsc_select` around is Servo. crossbeam-channel is designed specifically to replace `std::sync::mpsc` and fix many of its shortcomings: https://github.com/stjepang/rfcs-crossbeam/blob/channel/text/2017-11-09-channel.md This is to be landed together with servo/ipc-channel#183. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21325) <!-- Reviewable:end -->
|
|
|
@bors-servo retry |
Replace mpsc with crossbeam-channel Follow up on #19515 --- Selecting over multiple channels in `std::sync::mpsc` is not stable and likely never will be: rust-lang/rust#27800 (comment) > It seems the only thing keeping `mpsc_select` around is Servo. crossbeam-channel is designed specifically to replace `std::sync::mpsc` and fix many of its shortcomings: https://github.com/stjepang/rfcs-crossbeam/blob/channel/text/2017-11-09-channel.md This is to be landed together with servo/ipc-channel#183. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21325) <!-- Reviewable:end -->
|
|
|
@bors-servo retry |
|
|
|
|
WIP: Update hyper to 0.12 Left to do: - Fix the influent::Client call - servo/webrender#3034 - hyperium/mime#91 - sfackler/typed-headers#3 (still need a lot of work) - https://bugzilla.mozilla.org/show_bug.cgi?id=1489792 - Merge and release the ws stuff (I'll do it once I know everything is ok) - Merge and release the influent stuff (Same here, I'll do it once I know everything is ok) - #21325 - Fix unit tests <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21644) <!-- Reviewable:end -->
|
247 comments on a PR, must be a record of some kind... Thanks for everyone's help and involvement! |
|
Thanks again for tackling this, and @stjepang for so much assistance! |
…hannel. r=emilio This cherry-picks servo/servo#21325. Co-authored-by: Gregory Terzian <gterzian@users.noreply.github.com>
…hannel. r=emilio This cherry-picks servo/servo#21325. Co-authored-by: Gregory Terzian <gterzian@users.noreply.github.com>
…hannel. r=emilio This cherry-picks servo/servo#21325. Co-authored-by: Gregory Terzian <gterzianusers.noreply.github.com> UltraBlame original commit: 62fbf37ebfa6929dd6349ccb5557789bbaf30210
…hannel. r=emilio This cherry-picks servo/servo#21325. Co-authored-by: Gregory Terzian <gterzianusers.noreply.github.com> UltraBlame original commit: 62fbf37ebfa6929dd6349ccb5557789bbaf30210
…hannel. r=emilio This cherry-picks servo/servo#21325. Co-authored-by: Gregory Terzian <gterzianusers.noreply.github.com> UltraBlame original commit: 62fbf37ebfa6929dd6349ccb5557789bbaf30210
gterzian commentedAug 2, 2018
•
edited by SimonSapin
Follow up on #19515
Selecting over multiple channels in
std::sync::mpscis not stable and likely never will be:rust-lang/rust#27800 (comment)
crossbeam-channel is designed specifically to replace
std::sync::mpscand fix many of its shortcomings:https://github.com/stjepang/rfcs-crossbeam/blob/channel/text/2017-11-09-channel.md
This is to be landed together with servo/ipc-channel#183.
This change is