Reland "Track detailed LibTxt metrics with LineMetrics(#10127)"#11064
Reland "Track detailed LibTxt metrics with LineMetrics(#10127)"#11064GaryQian merged 18 commits intoflutter:masterfrom
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.
Can we have a test that exercises this? Ideally one that causes a segfault without it...
There was a problem hiding this comment.
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.
I understand that now from offline - should we rever this part then?
There was a problem hiding this comment.
Sure! I can make this a bit cleaner anyways.
dnfield
left a comment
There was a problem hiding this comment.
Needs a test, otherwise should be good.
[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.