-
Notifications
You must be signed in to change notification settings - Fork 6k
Reland "Track detailed LibTxt metrics with LineMetrics(#10127)" #11064
Conversation
|
Progress on fixing the segfault is slow as the only way (known) to repro is a 5min timeout in g3 without a stacktrace. I have managed to trace it to Update: Segfault fixed. Ready to go again! |
| paint_records.emplace_back( | ||
| run.style(), SkPoint::Make(run_x_offset + justify_x_offset, 0), | ||
| builder.make(), *metrics, line_number, record_x_pos.start, | ||
| builder.make(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we have a test that exercises this? Ideally one that causes a segfault without it...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change isn't actually what caused the segfault. It was the change in line 1767 that fixes it. Here, I figured I would just use the metrics value directly instead of caching it and messing with pointers as it caused me pain when debugging.
The only case that I know of that repros this is a quite convoluted case in g3 that segfaults, and it would be quite difficult to extract out as it is a generated example out of a bunch of protos and assets. I've tried a manually coded version of it based on what it would generate, but I could not get it to segfault.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I understand that now from offline - should we rever this part then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure! I can make this a bit cleaner anyways.
dnfield
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs a test, otherwise should be good.
dnfield
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
[email protected]:flutter/engine.git/compare/78ac65320bde...975a8aa git log 78ac653..975a8aa --no-merges --oneline 2019-08-23 [email protected] Roll src/third_party/dart 022585cfe2..06d3769ac6 (12 commits) 2019-08-23 [email protected] Roll src/third_party/skia 941d0a365045..f17d1c952987 (1 commits) (flutter/engine#11393) 2019-08-23 [email protected] Wire up software rendering in the test compositor. (flutter/engine#11392) 2019-08-23 [email protected] Roll src/third_party/dart 88c0c11612..022585cfe2 (14 commits) 2019-08-23 [email protected] preventDefault on touchend to show iOS keyboard (flutter/engine#11390) 2019-08-23 [email protected] Roll src/third_party/skia 2a5954140b49..941d0a365045 (6 commits) (flutter/engine#11389) 2019-08-22 [email protected] Allow overriding the GLFW pixel ratio (flutter/engine#11388) 2019-08-22 [email protected] Allow non-resizable windows in GLFW embedding (flutter/engine#11386) 2019-08-22 [email protected] sync web engine; run web engine tests (flutter/engine#11031) 2019-08-22 [email protected] Reland "Track detailed LibTxt metrics with LineMetrics(#10127)" (flutter/engine#11064) 2019-08-22 [email protected] Remove empty line in the pom file (flutter/engine#11382) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff ([email protected]), and stop the roller if necessary.
Reland the changes from #10127, with segfault fixes.