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.
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)
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-gnuRepro 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