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

text flow / layout issues on OSX #20239

Closed
cpdean opened this issue Mar 8, 2018 · 23 comments
Closed

text flow / layout issues on OSX #20239

cpdean opened this issue Mar 8, 2018 · 23 comments
Labels

Comments

@cpdean
Copy link

@cpdean cpdean commented Mar 8, 2018

I tried building from source on master but I got some interesting issues

I decided I probably built it wrong, so I downloaded the nightly build from the project page and when I open the .app file I have similar symptoms:

image

I'm on osx sierra ( 10.12.6 (16G1212) ) on a 13 inch 2017 macbook pro.

@emilio
Copy link
Member

@emilio emilio commented Mar 8, 2018

cc @glennw, maybe OSX driver bug?

@jdm
Copy link
Member

@jdm jdm commented Mar 8, 2018

Yeah, I can't reproduce this on my local build on macOS Sierra on a 2015 macbook pro.

@jdm jdm added the P-mac label Mar 8, 2018
@emilio
Copy link
Member

@emilio emilio commented Mar 8, 2018

@kvark
Copy link
Member

@kvark kvark commented Mar 9, 2018

Should be "fixed" by WR update including servo/webrender#2499

@cpdean
Copy link
Author

@cpdean cpdean commented Mar 9, 2018

@kvark I'm still having the same issue as before:

image

I did a git pull followed by a clean, build, and opened with the newly-built binary:

./mach clean
...
./mach build --dev
...
- ❯❯❯ ./mach run https://www.reddit.com/r/rust/comments/82u3bm/servo_is_supposed_to_do_this_right/
Error running module
reddit.js
:
TypeError: n.fillText is not a function
Error sending debug logs to server:
parsererror
;
SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data
Error during reddit-init.js init
TypeError: n.fillText is not a function
2018-03-09 11:16:47.256 servo[21356:600227] IMKInputSession presentFunctionRowItemTextInputViewWithEndpoint:completionHandler: : [self textInputContext]=0x0 *NO* NSRemoteViewController to client, NSError=Error Domain=NSCocoaErrorDomain Code=4099 "The connection from pid 0 was invalidated from this process." UserInfo={NSDebugDescription=The connection from pid 0 was invalidated from this process.}, com.apple.inputmethod.EmojiFunctionRowItem
Error sending debug logs to server:
parsererror
;
SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data

Am I doing something wrong to test the 'fix' from webrenderer?

@kvark
Copy link
Member

@kvark kvark commented Mar 9, 2018

@cpdean interesting. I can see that Servo's cargo.lock has WR version that includes the "fix".
Perhaps, the bisection pointed to the wrong change? @staktrace
I wasn't able to reproduce it, hence I myself can't confirm if the revert fixes anything.

@staktrace
Copy link
Contributor

@staktrace staktrace commented Mar 9, 2018

I verified the revert fixed things on the Gecko try builds.

@cpdean
Copy link
Author

@cpdean cpdean commented Mar 10, 2018

I've updated osx/macos to high sierra, 10.13.3 (17D47).

After re-installing all the xcode stuff to get rust builds working again, I still have the same issue. I've tested with both a --dev and --release build.

How do I debug what's going on here? I'm not sure how to compare what my build is doing versus other's who aren't experiencing this issue.

edit: my nightly is pretty old, going to experiment with different versions of rustc:

- ❯❯❯ rustc --version
rustc 1.25.0-nightly (15a1e2844 2018-01-20)

edit: okay nvm not sure what else to try

@kvark
Copy link
Member

@kvark kvark commented Mar 11, 2018

@staktrace since you had the original issue In Gecko, could you try checking the Servo to see if the issue is visible there?

@staktrace
Copy link
Contributor

@staktrace staktrace commented Mar 12, 2018

I tried the macOS build from download.servo.org and I can reproduce the issue as well. I'm on macOS 10.13.3, with a Intel Iris Plus Graphics 650 1536 MB graphics card.

@kvark
Copy link
Member

@kvark kvark commented Mar 12, 2018

@staktrace could you record a capture and provide something for us to investigate please?

@staktrace
Copy link
Contributor

@staktrace staktrace commented Mar 13, 2018

@kvark How do I get a capture in servo without doing a local build?

@kvark
Copy link
Member

@kvark kvark commented Mar 13, 2018

@staktrace I was thinking about the old binary recorder, which can be enabled in Servo by passing -Z wr-record

@staktrace
Copy link
Contributor

@staktrace staktrace commented Mar 14, 2018

Ah, here's a recording then. I just started servo with -Z wr-record and then closed it. The default start page had the funky text so presumably the recording should have it.
wr-record.bin.gz

@kvark
Copy link
Member

@kvark kvark commented Mar 14, 2018

@staktrace thanks! We'll need to know the WR revision here and ultimately convert it to a "real" capture (by hitting "C" within wrench when replaying it).

@staktrace
Copy link
Contributor

@staktrace staktrace commented Mar 14, 2018

@kvark It's whatever version of WR was in the March 12 servo-latest.dmg.

@jdm
Copy link
Member

@jdm jdm commented Mar 14, 2018

That would be 6611df9fdf930db4fb93a00ce2c2d3163c0bb1a1.

@jdm
Copy link
Member

@jdm jdm commented Mar 14, 2018

Nevermind, it should be 6dea428a429cb6410949c14279e115122f74c501.

@kvark
Copy link
Member

@kvark kvark commented Mar 14, 2018

I'm not able to replay the binary capture with either of those revisions :( WR binary reader only sees a single black frame.

@kvark
Copy link
Member

@kvark kvark commented Mar 16, 2018

Interestingly, both @staktrace and @cpdean appear to have Iris 650 video, and I can't reproduce it on Iris 550 video (apparently, OS version is less relevant here). I'll try to find another machine to repro.

@cpdean
Copy link
Author

@cpdean cpdean commented Mar 16, 2018

@kvark you are correct, my laptop has this gpu: Intel Iris Plus Graphics 650 1536 MB

@kvark
Copy link
Member

@kvark kvark commented Mar 16, 2018

I got a MBP 2017 with Iris 650, not able to reproduce the issue with latest Servo build (downloaded from download.servo.org). @cpdean is it still an issue for you?

@cpdean
Copy link
Author

@cpdean cpdean commented Mar 16, 2018

Both the latest build on download.servo.org works for me, as does a fresh pull on master (1ae5715) with a clean build:

./mach clean && ./mach build --dev && ./mach run https://www.reddit.com/r/rust/comments/82u3bm/servo_is_supposed_to_do_this_right/

image

Whatever happened, it's now resolved. Thanks everyone!

@cpdean cpdean closed this Mar 16, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants
You can’t perform that action at this time.