flutter
flutter copied to clipboard
[windows] Crash in skia::textlayout::TextLine::buildTextBlob
systeminfo:
CPU
Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
os version:
Microsoft Windows 10(19045)
flutter doctor:
[!] Flutter (Channel unknown, 3.3.8, on Microsoft Windows [版本 10.0.19045.2251], locale zh-CN)
! Flutter version 3.3.8 on channel unknown at D:\DevTools\flutter3.3.8_custom\flutter
! Upstream repository unknown
[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
X cmdline-tools component is missing
Run `path/to/sdkmanager --install "cmdline-tools;latest"`
See https://developer.android.com/studio/command-line for more details.
X Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.3)
[√] Android Studio (version 2020.3)
[√] Connected device (3 available)
[√] HTTP Host Availability
crash stack:
flutter_windows!memcpy+0x180 [d:\a01\_work\6\s\src\vctools\crt\vcruntime\src\string\amd64\memcpy.asm @ 300]
--------`-------- flutter_windows!sk_careful_memcpy+0x1d [flutter_engine\src\third_party\skia\include\private\SkMalloc.h @ 120]
flutter_windows!skia::textlayout::Run::copyTo+0x51 [flutter_engine\src\third_party\skia\modules\skparagraph\src\Run.cpp @ 93]
flutter_windows!skia::textlayout::TextLine::buildTextBlob+0x12d [flutter_engine\src\third_party\skia\modules\skparagraph\src\TextLine.cpp @ 361]
--------`-------- flutter_windows!std::_Func_class<void,skia::textlayout::SkRange<unsigned long long>,const skia::textlayout::TextStyle &,const skia::textlayout::TextLine::ClipContext &>::operator()+0x2d [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\functional @ 968]
flutter_windows!skia::textlayout::TextLine::iterateThroughSingleRunByStyles+0x25c [flutter_engine\src\third_party\skia\modules\skparagraph\src\TextLine.cpp @ 926]
--------`-------- flutter_windows!skia::textlayout::TextLine::ensureTextBlobCachePopulated::<lambda_3>::operator()+0x58 [flutter_engine\src\third_party\skia\modules\skparagraph\src\TextLine.cpp @ 258]
--------`-------- flutter_windows!std::invoke+0x70 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\type_traits @ 1595]
--------`-------- flutter_windows!std::_Invoker_ret<bool,0>::_Call+0x70 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\functional @ 753]
flutter_windows!std::_Func_impl_no_alloc<`lambda at ../../third_party/skia/modules/skparagraph/src/TextLine.cpp:250:12',bool,const skia::textlayout::Run *,float,skia::textlayout::SkRange<unsigned long long>,float *>::_Do_call+0x9e [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\functional @ 920]
flutter_windows!std::_Func_class<bool,const skia::textlayout::Run *,float,skia::textlayout::SkRange<unsigned long long>,float *>::operator()+0x42 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\functional @ 968]
flutter_windows!skia::textlayout::TextLine::iterateThroughVisualRuns+0x2b1 [flutter_engine\src\third_party\skia\modules\skparagraph\src\TextLine.cpp @ 966]
flutter_windows!skia::textlayout::TextLine::ensureTextBlobCachePopulated+0xa5 [flutter_engine\src\third_party\skia\modules\skparagraph\src\TextLine.cpp @ 249]
flutter_windows!skia::textlayout::TextLine::paint+0xdd [flutter_engine\src\third_party\skia\modules\skparagraph\src\TextLine.cpp @ 192]
flutter_windows!skia::textlayout::ParagraphImpl::paint+0x4c [flutter_engine\src\third_party\skia\modules\skparagraph\src\ParagraphImpl.cpp @ 211]
flutter_windows!tonic::DartDispatcher<tonic::IndicesHolder<0,1,2>,void (flutter::CanvasPath::*)(flutter::CanvasPath *, double, double)>::Dispatch+0x72 [flutter_engine\src\flutter\third_party\tonic\dart_args.h @ 159]
flutter_windows!tonic::DartCall<void (flutter::CanvasPath::*)(flutter::CanvasPath *, double, double)>+0xe7 [flutter_engine\src\flutter\third_party\tonic\dart_args.h @ 216]
flutter_windows!flutter::Paragraph_paint+0x3a [flutter_engine\src\flutter\lib\ui\text\paragraph.cc @ 40]
flutter_windows!dart::NativeEntry::AutoScopeNativeCallWrapperNoStackCheck+0x8f [flutter_engine\src\third_party\dart\runtime\vm\native_entry.cc @ 218]
error message:
0x00007FFB182C1A40 (flutter_windows.dll) (725123e69270b45e7ee0dcbd4325cb7.dmp 中)处有未经处理的异常: 0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突。
There is also a call stack that rendering text crash. stack:
--------`-------- flutter_windows!skia::textlayout::Run::posX+0x11 [flutter_engine\src\third_party\skia\modules\skparagraph\src\Run.h @ 75]
flutter_windows!skia::textlayout::Run::positionX+0x11
flutter_windows!skia::textlayout::TextLine::measureTextInsideOneRun+0x35f [flutter_engine\src\third_party\skia\modules\skparagraph\src\TextLine.cpp @ 743]
flutter_windows!skia::textlayout::TextLine::iterateThroughSingleRunByStyles+0x1f4 [flutter_engine\src\third_party\skia\modules\skparagraph\src\TextLine.cpp @ 917]
--------`-------- flutter_windows!skia::textlayout::TextLine::ensureTextBlobCachePopulated::<lambda_3>::operator()+0x58 [flutter_engine\src\third_party\skia\modules\skparagraph\src\TextLine.cpp @ 258]
--------`-------- flutter_windows!std::invoke+0x70 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\type_traits @ 1595]
--------`-------- flutter_windows!std::_Invoker_ret<bool,0>::_Call+0x70 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\functional @ 753]
flutter_windows!std::_Func_impl_no_alloc<`lambda at ../../third_party/skia/modules/skparagraph/src/TextLine.cpp:250:12',bool,const skia::textlayout::Run *,float,skia::textlayout::SkRange<unsigned long long>,float *>::_Do_call+0x9e [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\functional @ 920]
flutter_windows!std::_Func_class<bool,const skia::textlayout::Run *,float,skia::textlayout::SkRange<unsigned long long>,float *>::operator()+0x42 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\functional @ 968]
flutter_windows!skia::textlayout::TextLine::iterateThroughVisualRuns+0x2b1 [flutter_engine\src\third_party\skia\modules\skparagraph\src\TextLine.cpp @ 966]
flutter_windows!skia::textlayout::TextLine::ensureTextBlobCachePopulated+0xa5 [flutter_engine\src\third_party\skia\modules\skparagraph\src\TextLine.cpp @ 249]
flutter_windows!skia::textlayout::TextLine::paint+0xdd [flutter_engine\src\third_party\skia\modules\skparagraph\src\TextLine.cpp @ 192]
flutter_windows!skia::textlayout::ParagraphImpl::paint+0x4c [flutter_engine\src\third_party\skia\modules\skparagraph\src\ParagraphImpl.cpp @ 211]
flutter_windows!tonic::DartDispatcher<tonic::IndicesHolder<0,1,2>,void (flutter::CanvasPath::*)(flutter::CanvasPath *, double, double)>::Dispatch+0x72 [flutter_engine\src\flutter\third_party\tonic\dart_args.h @ 159]
flutter_windows!tonic::DartCall<void (flutter::CanvasPath::*)(flutter::CanvasPath *, double, double)>+0xe7 [flutter_engine\src\flutter\third_party\tonic\dart_args.h @ 216]
flutter_windows!flutter::Paragraph_paint+0x3a [flutter_engine\src\flutter\lib\ui\text\paragraph.cc @ 40]
flutter_windows!dart::NativeEntry::AutoScopeNativeCallWrapperNoStackCheck+0x8f [flutter_engine\src\third_party\dart\runtime\vm\native_entry.cc @ 218]
Hello @chifandeyu. Thank you for filing this issue. Can you please provide the following information?
- A complete and minimal, reproducible example. Ideally, a single
main.dart
file that can be run directly. - The output of
flutter run -v
Please provide the information in the form of text. See how to make collapsible sections with Markdown here.
Hello @chifandeyu. Thank you for filing this issue. Can you please provide the following information?
- A complete and minimal, reproducible example. Ideally, a single
main.dart
file that can be run directly.- The output of
flutter run -v
Please provide the information in the form of text. See how to make collapsible sections with Markdown here.
Sorry. The call stack from users through the exception reporting system. Crashing randomly in use, and our project has many components.
Alright thank you for the information. I'll label this issue for insights and investigation from the team
Analysis from the user feedback. Rendering to the text contains special characters. The overflow is set to the textoverflow.ellipsis.
/cc @Rusino
Thank you. Special text + ellipsis. I am going to work on it.
Thank you. Special text + ellipsis. I am going to work on it.
Maybe my description is wrong. This one has a stack that is the same as the crash reproduce #https://github.com/flutter/flutter/issues/109825