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

Send request's integrity metadata via RequestBuilder #25642

Merged
merged 1 commit into from Jan 31, 2020

Conversation

@pshaughn
Copy link
Member

pshaughn commented Jan 29, 2020

RequestBuilder wasn't reinflating integrity_metadata along with other request fields, so main_fetch never saw that an integrity checksum was requested. Integrity checking seems to have otherwise been working; with this change, the entire WPT test for it passes (other than the SharedWorker test, which would probably pass if we had SharedWorker)


  • ./mach build -d does not report any errors
  • ./mach test-tidy does not report any errors
  • These changes fix #24906
  • There are tests for these changes
@highfive
Copy link

highfive commented Jan 29, 2020

Heads up! This PR modifies the following files:

@Manishearth
Copy link
Member

Manishearth commented Jan 30, 2020

@bors-servo
Copy link
Contributor

bors-servo commented Jan 30, 2020

📌 Commit 3958d0d has been approved by Manishearth

@bors-servo
Copy link
Contributor

bors-servo commented Jan 30, 2020

Testing commit 3958d0d with merge db24ace...

bors-servo added a commit that referenced this pull request Jan 30, 2020
Send request's integrity metadata via RequestBuilder

RequestBuilder wasn't reinflating integrity_metadata along with other request fields, so main_fetch never saw that an integrity checksum was requested. Integrity checking seems to have otherwise been working; with this change, the entire WPT test for it passes.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #24906

<!-- Either: -->
- [X] There are tests for these changes

<!-- 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. -->
@bors-servo
Copy link
Contributor

bors-servo commented Jan 30, 2020

💔 Test failed - status-taskcluster

@CYBAI
Copy link
Collaborator

CYBAI commented Jan 30, 2020

This will need to be updated 👀

  ▶ ERROR [expected OK] /fetch/api/basic/integrity.sub.any.sharedworker.html
  │   → SharedWorker is not defined
  │ 
  └ @http://web-platform.test:8000/fetch/api/basic/integrity.sub.any.sharedworker.html:8:1

and I suspect this is an intermittent 🤔

  ▶ CRASH [expected OK] /FileAPI/url/url-format.any.worker.html
  │ 
  │ 
  │ 
  │ 
  │ called `Result::unwrap()` on an `Err` value: Io(Custom { kind: ConnectionReset, error: "All senders for this socket closed" }) (thread WebWorker for http://web-platform.test:8000/FileAPI/url/url-format.any.worker.js, at components/script/dom/globalscope.rs:1291)
  │ stack backtrace:
  │    0: servo::backtrace::print
  │    1: servo::main::{{closure}}
  │    2: std::panicking::rust_panic_with_hook
  │              at src/libstd/panicking.rs:476
  │    3: rust_begin_unwind
  │              at src/libstd/panicking.rs:380
  │    4: core::panicking::panic_fmt
  │              at src/libcore/panicking.rs:85
  │    5: core::option::expect_none_failed
  │              at src/libcore/option.rs:1198
  │    6: script::dom::globalscope::GlobalScope::promote
  │    7: script::dom::globalscope::GlobalScope::get_blob_url_id
  │    8: script::dom::blob::Blob::get_blob_url_id
  │    9: script::dom::url::URL::CreateObjectURL
  │   10: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  │   11: _ZN3std9panicking3try7do_call17hf3aebb9b3a2f1958E.llvm.16428511656612885158
  │   12: __rust_maybe_catch_panic
  │              at src/libpanic_unwind/lib.rs:86
  │   13: script::dom::bindings::codegen::Bindings::URLBinding::URLBinding::createObjectURL
  │   14: <unknown>
  │   15: <unknown>
  │   16: <unknown>
  │   17: _ZL13EnterBaselineP9JSContextRN2js3jit12EnterJitDataE
  │              at /root/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/5906588/mozjs/js/src/jit/BaselineJIT.cpp:111
  │       _ZN2js3jit21EnterBaselineAtBranchEP9JSContextPNS_16InterpreterFrameEPh
  │              at /root/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/5906588/mozjs/js/src/jit/BaselineJIT.cpp:189
  │   18: <unknown>
  │ 
  │ [2020-01-30T00:59:24Z ERROR servo] called `Result::unwrap()` on an `Err` value: Io(Custom { kind: ConnectionReset, error: "All senders for this socket closed" })
  └ Pipeline failed in hard-fail mode.  Crashing!
@pshaughn
Copy link
Member Author

pshaughn commented Jan 30, 2020

The first was me not realizing this test had a third case to it and deleting the entire metadata file; the second is indeed intermittent.

@pshaughn pshaughn force-pushed the pshaughn:requestintegrity branch from 3958d0d to 065c61e Jan 30, 2020
@jdm
Copy link
Member

jdm commented Jan 30, 2020

@bors-servo
Copy link
Contributor

bors-servo commented Jan 30, 2020

📌 Commit 065c61e has been approved by jdm

@highfive highfive assigned jdm and unassigned Manishearth Jan 30, 2020
@bors-servo
Copy link
Contributor

bors-servo commented Jan 30, 2020

Testing commit 065c61e with merge 7df0557...

bors-servo added a commit that referenced this pull request Jan 30, 2020
Send request's integrity metadata via RequestBuilder

RequestBuilder wasn't reinflating integrity_metadata along with other request fields, so main_fetch never saw that an integrity checksum was requested. Integrity checking seems to have otherwise been working; with this change, the entire WPT test for it passes (other than the SharedWorker test, which would probably pass if we had SharedWorker)

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #24906

<!-- Either: -->
- [X] There are tests for these changes

<!-- 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. -->
@bors-servo
Copy link
Contributor

bors-servo commented Jan 30, 2020

💔 Test failed - status-taskcluster

@jdm
Copy link
Member

jdm commented Jan 31, 2020

@bors-servo retry

@bors-servo
Copy link
Contributor

bors-servo commented Jan 31, 2020

Testing commit 065c61e with merge 0bf4703...

bors-servo added a commit that referenced this pull request Jan 31, 2020
Send request's integrity metadata via RequestBuilder

RequestBuilder wasn't reinflating integrity_metadata along with other request fields, so main_fetch never saw that an integrity checksum was requested. Integrity checking seems to have otherwise been working; with this change, the entire WPT test for it passes (other than the SharedWorker test, which would probably pass if we had SharedWorker)

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #24906

<!-- Either: -->
- [X] There are tests for these changes

<!-- 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. -->
@bors-servo
Copy link
Contributor

bors-servo commented Jan 31, 2020

☀️ Test successful - status-taskcluster
Approved by: jdm
Pushing 0bf4703 to master...

@bors-servo bors-servo merged commit 065c61e into servo:master Jan 31, 2020
2 checks passed
2 checks passed
Community-TC (pull_request) TaskGroup: success
Details
homu Test successful
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

7 participants
You can’t perform that action at this time.