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 upWindows nightly fails on open #17290
Comments
|
I get this error:
|
|
This sounds like a regression from #16477. |
|
I will get a windows virtual machine up and running and check what this is all about |
|
Does anyone know if we can get one of the test machines to smoketest running the Windows build? That way hopefully we could catch the catastrophic stuff before it lands? |
|
The tricky bit would be controlling the browser through automation. We would want to be sure that the browser.html interface has finished loading, and then quit the browser, then check the process return code. |
|
@jdm - yeah for something more complicated I can see that being harder, though for cases like "browser fails immediately" hopefully we can catch them. If we could start them up and screenshot them and compare to a known working screenshot... that'd be even better (but I'll take what I can |
|
Right, I'm just pointing out that even the most basic test of "did the browser.html interface load successfully" probably requires using something like webdriver. |
|
@jdm I'm currently running into something similar to this issue #12356, download of |
|
@NiLSPACE can you please add the backtrace? ( |
|
@sadmansk Can you download the nightly build and reproduce the crash? |
|
@paulrouget Yeap, it crashes for me in windows. |
|
Issue is not isolated to windows, the nightly build for linux also crashes for me with the same error. |
|
I'm having a hard time reproducing the error when building from source, but I think the culprit is this, in file
In case the parsing fails, it issues a warning and then tries to call |
Which is fine. It will return |
|
on Linux, do this: |
|
@paulrouget This is the output:
|
|
Here's my backtrace -- looks the same but I haven't diffed it with the one above:
Can confirm this is happening on a Debian 9 machine too |
|
In main.rs: let target_url = opts::get().url.clone()
.unwrap_or(ServoUrl::parse(PREFS.get("shell.homepage").as_string()
.unwrap_or("about:blank")).unwrap());
|
|
"shell.homepage" is a local file. It needs to go through That's why it's crashing. |
|
@paulrouget just so it's clear, it should become:
? |
|
I think this should do it: let target_url = opts::get().url.clone().or(
PREFS.get("shell.homepage").as_string().map(|str| parse_url_or_filename(str))
).or(ServoUrl::parse("about:blank")).unwrap();I haven't tried. But the unwrapping soup is confusing. Maybe you can simplify this with more steps: let cwd = env::current_dir().unwrap();
let cmdline_url = opts::get().url.clone();
let pref_url = PREFS.get("shell.homepage").as_string()
.and_then(|str| parse_url_or_filename(&cwd, str).ok());
let blank_url = ServoUrl::parse("about:blank").ok();
let target_url = cmdline_url.or(pref_url).or(blank_url).unwrap(); |
|
(I've updated the code in my latest comment) |
|
It should not be necessary; we have backtrace in a previous comment already. |
Fix parsing of shell.homepage <!-- Please describe your changes on the following line: --> This should fix the nightly builds crashing, although I don't know how to verify whether my fixes worked since I don't know how to test packaging. Any pointers on how to do that would be highly appreciated. @paulrouget Please let me know if there are any problems with these changes. --- <!-- 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 #17290 <!-- 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/17312) <!-- Reviewable:end -->

Running the current Windows nightly, whether .msi or .zip install, fails to run. The servo screen closes immediately on open.
Nothing is printed to the terminal when this occurs.