We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Segfault is happening in 3.x x86_64 builds on Ubuntu 20.04. aarch64 builds do not exhibit this problem. Ubuntu22 via WSL does not segfault.
Build flags: --unoptimized --runtime-mode debug --no-goma --lto --clang --embedder-for-target --full-dart-sdk --target-os linux --linux-cpu x64 --target-triple x86_64-linux-gnu
--unoptimized --runtime-mode debug --no-goma --lto --clang --embedder-for-target --full-dart-sdk --target-os linux --linux-cpu x64 --target-triple x86_64-linux-gnu
Repro happens with or without --unoptimized.
--unoptimized
Seg fault happens with: https://github.com/freetype/freetype/blob/3f83daeecb1a78d851b660eed025eeba362c0e4a/src/base/ftobjs.c#L5656
The function that calls it has this note: https://github.com/freetype/freetype/blob/3f83daeecb1a78d851b660eed025eeba362c0e4a/include/freetype/ftcolor.h#L1620
It looks like it happens when it is trying to display the hello world text: "Futter Demo Home Page" https://github.com/google/skia/blob/main/modules/skparagraph/src/OneLineShaper.cpp#L705
libfreetype.so.6![Unknown/Just-In-Time compiled code] (Unknown Source:0) libflutter_engine.so!FT_Get_Color_Glyph_Paint(FT_Face face, FT_UInt base_glyph, FT_Color_Root_Transform root_transform, FT_OpaquePaint * paint) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\freetype2\src\base\ftobjs.c:5737) libflutter_engine.so!SkScalerContext_FreeType::generateMetrics(SkScalerContext_FreeType * this, SkGlyph * glyph, SkArenaAlloc * alloc) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\ports\SkFontHost_FreeType.cpp:1174) libflutter_engine.so!SkScalerContext::internalMakeGlyph(SkScalerContext * this, SkPackedGlyphID packedID, SkMask::Format format, SkArenaAlloc * alloc) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkScalerContext.cpp:190) libflutter_engine.so!SkScalerContext::makeGlyph(SkScalerContext * this, SkPackedGlyphID packedID, SkArenaAlloc * alloc) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkScalerContext.cpp:183) libflutter_engine.so!SkScalerCache::digest(SkScalerCache * this, SkPackedGlyphID packedGlyphID) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkScalerCache.cpp:50) libflutter_engine.so!SkScalerCache::glyph(SkScalerCache * this, SkPackedGlyphID packedGlyphID) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkScalerCache.cpp:39) libflutter_engine.so!SkScalerCache::internalPrepare(SkScalerCache * this, SkSpan<unsigned short const> glyphIDs, SkScalerCache::PathDetail pathDetail, const SkGlyph ** results) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkScalerCache.cpp:116) libflutter_engine.so!SkScalerCache::metrics(SkScalerCache * this, SkSpan<unsigned short const> glyphIDs, const SkGlyph ** results) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkScalerCache.cpp:164) libflutter_engine.so!SkStrike::metrics(SkStrike * this, SkSpan<unsigned short const> glyphIDs, const SkGlyph ** results) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkStrikeCache.h:87) libflutter_engine.so!SkBulkGlyphMetrics::glyphs(SkBulkGlyphMetrics * this, SkSpan<unsigned short const> glyphIDs) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkStrikeSpec.cpp:232) libflutter_engine.so!SkFont::getWidthsBounds(const SkFont * this, const SkGlyphID * glyphIDs, int count, SkScalar * widths, SkRect * bounds, const SkPaint * paint) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkFont.cpp:212) libflutter_engine.so!SkFont::getWidths(const SkFont * this, const SkGlyphID * glyphs, int count, SkScalar * widths) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\include\core\SkFont.h:385) libflutter_engine.so!(anonymous namespace)::skhb_glyph_h_advances(hb_font_t * hb_font, void * font_data, unsigned int count, const hb_codepoint_t * glyphs, unsigned int glyph_stride, hb_position_t * advances, unsigned int advance_stride, void * user_data) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skshaper\src\SkShaper_harfbuzz.cpp:156) libflutter_engine.so!hb_font_t::get_glyph_h_advances(hb_font_t * this, unsigned int count, const hb_codepoint_t * first_glyph, unsigned int glyph_stride, hb_position_t * first_advance, unsigned int advance_stride) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-font.hh:271) libflutter_engine.so!hb_ot_position_default(const hb_ot_shape_context_t * c) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-ot-shape.cc:1008) libflutter_engine.so!hb_ot_position(const hb_ot_shape_context_t * c) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-ot-shape.cc:1116) libflutter_engine.so!hb_ot_shape_internal(hb_ot_shape_context_t * c) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-ot-shape.cc:1191) libflutter_engine.so!_hb_ot_shape(hb_shape_plan_t * shape_plan, hb_font_t * font, hb_buffer_t * buffer, const hb_feature_t * features, unsigned int num_features) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-ot-shape.cc:1214) libflutter_engine.so!_hb_shape_plan_execute_internal(hb_shape_plan_t * shape_plan, hb_font_t * font, hb_buffer_t * buffer, const hb_feature_t * features, unsigned int num_features) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-shaper-list.hh:42) libflutter_engine.so!hb_shape_plan_execute(hb_shape_plan_t * shape_plan, hb_font_t * font, hb_buffer_t * buffer, const hb_feature_t * features, unsigned int num_features) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-shape-plan.cc:453) libflutter_engine.so!hb_shape_full(hb_font_t * font, hb_buffer_t * buffer, const hb_feature_t * features, unsigned int num_features, const char * const * shaper_list) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-shape.cc:133) libflutter_engine.so!hb_shape(hb_font_t * font, hb_buffer_t * buffer, const hb_feature_t * features, unsigned int num_features) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-shape.cc:161) libflutter_engine.so!(anonymous namespace)::ShaperHarfBuzz::shape(const (anonymous namespace)::ShaperHarfBuzz * this, const char * const utf8, const size_t utf8Bytes, const char * const utf8Start, const char * const utf8End, const SkShaper::BiDiRunIterator & bidi, const SkShaper::LanguageRunIterator & language, const SkShaper::ScriptRunIterator & script, const SkShaper::FontRunIterator & font, const SkShaper::Feature * const features, const size_t featuresSize) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skshaper\src\SkShaper_harfbuzz.cpp:1395) libflutter_engine.so!(anonymous namespace)::ShapeDontWrapOrReorder::wrap(const (anonymous namespace)::ShapeDontWrapOrReorder * this, const char * const utf8, size_t utf8Bytes, const SkShaper::BiDiRunIterator & bidi, const SkShaper::LanguageRunIterator & language, const SkShaper::ScriptRunIterator & script, const SkShaper::FontRunIterator & font, (anonymous namespace)::RunIteratorQueue & runSegmenter, const SkShaper::Feature * features, size_t featuresSize, SkScalar width, SkShaper::RunHandler * handler) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skshaper\src\SkShaper_harfbuzz.cpp:1241) libflutter_engine.so!(anonymous namespace)::ShaperHarfBuzz::shape(const (anonymous namespace)::ShaperHarfBuzz * this, const char * utf8, size_t utf8Bytes, SkShaper::FontRunIterator & font, SkShaper::BiDiRunIterator & bidi, SkShaper::ScriptRunIterator & script, SkShaper::LanguageRunIterator & language, const SkShaper::Feature * features, size_t featuresSize, SkScalar width, SkShaper::RunHandler * handler) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skshaper\src\SkShaper_harfbuzz.cpp:864) libflutter_engine.so!skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const::{lambda(sk_sp<SkTypeface>)#1}::operator()(SkTypeface) const(const class {...} * this, sk_sp<SkTypeface> typeface) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\OneLineShaper.cpp:693) libflutter_engine.so!std::__1::__invoke<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const::{lambda(sk_sp<SkTypeface>)#1}&, SkTypeface>(class {...} & __f, sk_sp<SkTypeface> && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\type_traits:3530) libflutter_engine.so!std::__1::__invoke_void_return_wrapper<skia::textlayout::OneLineShaper::Resolved>::__call<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const::{lambda(sk_sp<SkTypeface>)#1}&, SkTypeface>(skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const::{lambda(sk_sp<SkTypeface>)#1}&, SkTypeface&&)(sk_sp<SkTypeface> && __args, sk_sp<SkTypeface> && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\__functional_base:317) libflutter_engine.so!std::__1::__function::__alloc_func<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const::{lambda(sk_sp<SkTypeface>)#1}, std::__1::allocator<sk_sp<SkTypeface> >, skia::textlayout::OneLineShaper::Resolved (SkTypeface)>::operator()(SkTypeface&&)(std::__1::__function::__alloc_func<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:653:52), std::__1::allocator<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:653:52)>, skia::textlayout::OneLineShaper::Resolved (sk_sp<SkTypeface>)> * this, sk_sp<SkTypeface> && __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1533) libflutter_engine.so!std::__1::__function::__func<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const::{lambda(sk_sp<SkTypeface>)#1}, std::__1::allocator<sk_sp<SkTypeface> >, skia::textlayout::OneLineShaper::Resolved (SkTypeface)>::operator()(SkTypeface&&)(std::__1::__function::__func<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:653:52), std::__1::allocator<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:653:52)>, skia::textlayout::OneLineShaper::Resolved (sk_sp<SkTypeface>)> * this, sk_sp<SkTypeface> && __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1707) libflutter_engine.so!std::__1::__function::__value_func<skia::textlayout::OneLineShaper::Resolved (sk_sp<SkTypeface>)>::operator()(sk_sp<SkTypeface>&&) const(const std::__1::__function::__value_func<skia::textlayout::OneLineShaper::Resolved (sk_sp<SkTypeface>)> * this, sk_sp<SkTypeface> && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1860) libflutter_engine.so!std::__1::function<skia::textlayout::OneLineShaper::Resolved (sk_sp<SkTypeface>)>::operator()(sk_sp<SkTypeface>) const(const std::__1::function<skia::textlayout::OneLineShaper::Resolved (sk_sp<SkTypeface>)> * this, sk_sp<SkTypeface> __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:2419) libflutter_engine.so!skia::textlayout::OneLineShaper::matchResolvedFonts(skia::textlayout::TextStyle const&, std::__1::function<skia::textlayout::OneLineShaper::Resolved (sk_sp<SkTypeface>)> const&)(skia::textlayout::OneLineShaper * this, const skia::textlayout::TextStyle & textStyle, const skia::textlayout::OneLineShaper::TypefaceVisitor & visitor) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\OneLineShaper.cpp:482) libflutter_engine.so!skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const(const class {...} * this, skia::textlayout::Block block, SkTArray<SkShaper::Feature, false> features) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\OneLineShaper.cpp:653) libflutter_engine.so!std::__1::__invoke<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}&, skia::textlayout::Block, SkTArray<SkShaper::Feature, false> >(class {...} & __f, SkTArray<SkShaper::Feature, false> && __args, SkTArray<SkShaper::Feature, false> && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\type_traits:3530) libflutter_engine.so!std::__1::__invoke_void_return_wrapper<void>::__call<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}&, skia::textlayout::Block, SkTArray<SkShaper::Feature, false> >(skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}&, skia::textlayout::Block&&, SkTArray<SkShaper::Feature, false>&&)(SkTArray<SkShaper::Feature, false> && __args, SkTArray<SkShaper::Feature, false> && __args, SkTArray<SkShaper::Feature, false> && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\__functional_base:348) libflutter_engine.so!std::__1::__function::__alloc_func<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}, std::__1::allocator<{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}>, void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)>::operator()(skia::textlayout::Block&&, SkTArray<SkShaper::Feature, false>&&)(std::__1::__function::__alloc_func<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:641:17), std::__1::allocator<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:641:17)>, void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)> * this, SkTArray<SkShaper::Feature, false> && __arg, SkTArray<SkShaper::Feature, false> && __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1533) libflutter_engine.so!std::__1::__function::__func<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}, std::__1::allocator<{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}>, void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)>::operator()(skia::textlayout::Block&&, SkTArray<SkShaper::Feature, false>&&)(std::__1::__function::__func<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:641:17), std::__1::allocator<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:641:17)>, void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)> * this, SkTArray<SkShaper::Feature, false> && __arg, SkTArray<SkShaper::Feature, false> && __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1707) libflutter_engine.so!std::__1::__function::__value_func<void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)>::operator()(skia::textlayout::Block&&, SkTArray<SkShaper::Feature, false>&&) const(const std::__1::__function::__value_func<void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)> * this, SkTArray<SkShaper::Feature, false> && __args, SkTArray<SkShaper::Feature, false> && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1860) libflutter_engine.so!std::__1::function<void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)>::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const(const std::__1::function<void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)> * this, SkTArray<SkShaper::Feature, false> __arg, SkTArray<SkShaper::Feature, false> __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:2419) libflutter_engine.so!skia::textlayout::OneLineShaper::iterateThroughFontStyles(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, std::__1::function<void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)> const&)(skia::textlayout::OneLineShaper * this, skia::textlayout::TextRange textRange, SkSpan<skia::textlayout::Block> styleSpan, const skia::textlayout::OneLineShaper::ShapeSingleFontVisitor & visitor) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\OneLineShaper.cpp:471) libflutter_engine.so!skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const(const class {...} * this, skia::textlayout::TextRange textRange, SkSpan<skia::textlayout::Block> styleSpan, SkScalar & advanceX, skia::textlayout::TextIndex textStart, uint8_t defaultBidiLevel) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\OneLineShaper.cpp:640) libflutter_engine.so!std::__1::__invoke<skia::textlayout::OneLineShaper::shape()::$_7&, skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char>(class {...} & __f, unsigned char && __args, unsigned char && __args, unsigned char && __args, unsigned char && __args, unsigned char && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\type_traits:3530) libflutter_engine.so!std::__1::__invoke_void_return_wrapper<float>::__call<skia::textlayout::OneLineShaper::shape()::$_7&, skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char>(skia::textlayout::OneLineShaper::shape()::$_7&, skia::textlayout::SkRange<unsigned long>&&, SkSpan<skia::textlayout::Block>&&, float&, unsigned long&&, unsigned char&&)(unsigned char && __args, unsigned char && __args, unsigned char && __args, unsigned char && __args, unsigned char && __args, unsigned char && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\__functional_base:317) libflutter_engine.so!std::__1::__function::__alloc_func<skia::textlayout::OneLineShaper::shape()::$_7, std::__1::allocator<skia::textlayout::OneLineShaper::shape()::$_7>, float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char)>::operator()(skia::textlayout::SkRange<unsigned long>&&, SkSpan<skia::textlayout::Block>&&, float&, unsigned long&&, unsigned char&&)(std::__1::__function::__alloc_func<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:630:13), std::__1::allocator<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:630:13)>, float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float &, unsigned long, unsigned char)> * this, unsigned char && __arg, unsigned char && __arg, unsigned char && __arg, unsigned char && __arg, unsigned char && __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1533) libflutter_engine.so!std::__1::__function::__func<skia::textlayout::OneLineShaper::shape()::$_7, std::__1::allocator<skia::textlayout::OneLineShaper::shape()::$_7>, float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char)>::operator()(skia::textlayout::SkRange<unsigned long>&&, SkSpan<skia::textlayout::Block>&&, float&, unsigned long&&, unsigned char&&)(std::__1::__function::__func<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:630:13), std::__1::allocator<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:630:13)>, float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float &, unsigned long, unsigned char)> * this, unsigned char && __arg, unsigned char && __arg, unsigned char && __arg, unsigned char && __arg, unsigned char && __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1707) libflutter_engine.so!std::__1::__function::__value_func<float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char)>::operator()(skia::textlayout::SkRange<unsigned long>&&, SkSpan<skia::textlayout::Block>&&, float&, unsigned long&&, unsigned char&&) const(const std::__1::__function::__value_func<float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float &, unsigned long, unsigned char)> * this, unsigned char && __args, unsigned char && __args, unsigned char && __args, unsigned char && __args, unsigned char && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1860) libflutter_engine.so!std::__1::function<float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char)>::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const(const std::__1::function<float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float &, unsigned long, unsigned char)> * this, unsigned char __arg, unsigned char __arg, unsigned char __arg, unsigned char __arg, unsigned char __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:2419) libflutter_engine.so!skia::textlayout::OneLineShaper::iterateThroughShapingRegions(std::__1::function<float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char)> const&)(skia::textlayout::OneLineShaper * this, const skia::textlayout::OneLineShaper::ShapeVisitor & shape) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\OneLineShaper.cpp:574) libflutter_engine.so!skia::textlayout::OneLineShaper::shape(skia::textlayout::OneLineShaper * this) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\OneLineShaper.cpp:629) libflutter_engine.so!skia::textlayout::ParagraphImpl::shapeTextIntoEndlessLine(skia::textlayout::ParagraphImpl * this) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\ParagraphImpl.cpp:415) libflutter_engine.so!skia::textlayout::ParagraphImpl::layout(skia::textlayout::ParagraphImpl * this, SkScalar rawWidth) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\ParagraphImpl.cpp:142) libflutter_engine.so!txt::ParagraphSkia::Layout(txt::ParagraphSkia * this, double width) (\home\aik\repos\flutter_embedded\third_party\engine\src\flutter\third_party\txt\src\skia\paragraph_skia.cc:166) libflutter_engine.so!flutter::Paragraph::layout(flutter::Paragraph * this, double width) (\home\aik\repos\flutter_embedded\third_party\engine\src\flutter\lib\ui\text\paragraph.cc:87) libflutter_engine.so!tonic::DartDispatcher<tonic::IndicesHolder<0ul>, void (flutter::Paragraph::*)(double)>::Dispatch(tonic::DartDispatcher<tonic::IndicesHolder<0ul>, void (flutter::Paragraph::*)(double)> * this, tonic::DartDispatcher<tonic::IndicesHolder<0ul>, void (flutter::Paragraph::*)(double)>::FunctionPtr func) (\home\aik\repos\flutter_embedded\third_party\engine\src\flutter\third_party\tonic\dart_args.h:159) libflutter_engine.so!tonic::DartCall<void (flutter::Paragraph::*)(double)>(void (flutter::Paragraph::*)(flutter::Paragraph * const, double) func, Dart_NativeArguments args) (\home\aik\repos\flutter_embedded\third_party\engine\src\flutter\third_party\tonic\dart_args.h:216) libflutter_engine.so!flutter::Paragraph_layout(Dart_NativeArguments args) (\home\aik\repos\flutter_embedded\third_party\engine\src\flutter\lib\ui\text\paragraph.cc:40) libflutter_engine.so!dart::NativeEntry::AutoScopeNativeCallWrapperNoStackCheck(Dart_NativeArguments args, Dart_NativeFunction func) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\dart\runtime\vm\native_entry.cc:217) [Unknown/Just-In-Time compiled code] (Unknown Source:0)
@aikalant
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Segfault is happening in 3.x x86_64 builds on Ubuntu 20.04. aarch64 builds do not exhibit this problem. Ubuntu22 via WSL does not segfault.
Build flags:
--unoptimized --runtime-mode debug --no-goma --lto --clang --embedder-for-target --full-dart-sdk --target-os linux --linux-cpu x64 --target-triple x86_64-linux-gnu
Repro happens with or without
--unoptimized
.Seg fault happens with: https://github.com/freetype/freetype/blob/3f83daeecb1a78d851b660eed025eeba362c0e4a/src/base/ftobjs.c#L5656
The function that calls it has this note:
https://github.com/freetype/freetype/blob/3f83daeecb1a78d851b660eed025eeba362c0e4a/include/freetype/ftcolor.h#L1620
It looks like it happens when it is trying to display the hello world text: "Futter Demo Home Page"
https://github.com/google/skia/blob/main/modules/skparagraph/src/OneLineShaper.cpp#L705
@aikalant
The text was updated successfully, but these errors were encountered: