Closed najeira closed 5 years ago
The stack trace symbol may be incorrect. I replaced it with plain one.
Is the file used for Release build of Android android-arm-release
? I used android-arm
in previous comments.
with adnroid-arm-release
********** Crash dump: **********
pid: 0, tid: 0 >>> me.cartune.android <<<
Stack frame #00 pc 000000000030c8a8 /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine unorm2_composePair_62 at /b/build/slave/Linux_Engine/build/src/out/android_release/../../third_party/icu/source/common/normalizer2.cpp:474
Stack frame #01 pc 0000000000589eeb /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine hb_icu_unicode_compose(hb_unicode_funcs_t*, unsigned int, unsigned int, unsigned int*, void*) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../third_party/harfbuzz/src/hb-icu.cc:180
Stack frame #02 pc 00000000005a6609 /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine hb_unicode_funcs_t::compose(unsigned int, unsigned int, unsigned int*) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../third_party/harfbuzz/src/hb-unicode-private.hh:81
Stack frame #03 pc 00000000005a639d /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine _hb_ot_shape_normalize(hb_ot_shape_plan_t const*, hb_buffer_t*, hb_font_t*) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../third_party/harfbuzz/src/hb-ot-shape-normalize.cc:390
Stack frame #04 pc 00000000005a7add /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine hb_ot_substitute_default(hb_ot_shape_context_t*) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../third_party/harfbuzz/src/hb-ot-shape.cc:604
Stack frame #05 pc 00000000005a94c9 /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine hb_shape_plan_execute at /b/build/slave/Linux_Engine/build/src/out/android_release/../../third_party/harfbuzz/src/hb-shaper-list.hh:43
Stack frame #06 pc 00000000005a970b /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine hb_shape_full at /b/build/slave/Linux_Engine/build/src/out/android_release/../../third_party/harfbuzz/src/hb-shape.cc:137
Stack frame #07 pc 00000000005a9733 /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine hb_shape at /b/build/slave/Linux_Engine/build/src/out/android_release/../../third_party/harfbuzz/src/hb-shape.cc:165
Stack frame #08 pc 00000000003e38c5 /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine minikin::Layout::doLayoutRun(unsigned short const*, unsigned int, unsigned int, unsigned int, bool, minikin::LayoutContext*, std::__ndk1::shared_ptr<minikin::FontCollection> const&) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../flutter/third_party/txt/src/minikin/Layout.cpp:1040
Stack frame #09 pc 00000000003e2fbf /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine minikin::LayoutCacheKey::doLayout(minikin::Layout*, minikin::LayoutContext*, std::__ndk1::shared_ptr<minikin::FontCollection> const&) const at /b/build/slave/Linux_Engine/build/src/out/android_release/../../flutter/third_party/txt/src/minikin/Layout.cpp:110
Stack frame #10 pc 00000000003e31ef /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine minikin::LayoutCache::get(minikin::LayoutCacheKey&, minikin::LayoutContext*, std::__ndk1::shared_ptr<minikin::FontCollection> const&) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../flutter/third_party/txt/src/minikin/Layout.cpp:150
Stack frame #11 pc 00000000003e2e83 /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine minikin::Layout::doLayoutWord(unsigned short const*, unsigned int, unsigned int, unsigned int, bool, minikin::LayoutContext*, unsigned int, std::__ndk1::shared_ptr<minikin::FontCollection> const&, minikin::Layout*, float*) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../flutter/third_party/txt/src/minikin/Layout.cpp:739
Stack frame #12 pc 00000000003e2c61 /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine minikin::Layout::doLayoutRunCached(unsigned short const*, unsigned int, unsigned int, unsigned int, bool, minikin::LayoutContext*, unsigned int, std::__ndk1::shared_ptr<minikin::FontCollection> const&, minikin::Layout*, float*) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../flutter/third_party/txt/src/minikin/Layout.cpp:700
Stack frame #13 pc 00000000003e2d65 /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine minikin::Layout::measureText(unsigned short const*, unsigned int, unsigned int, unsigned int, bool, minikin::FontStyle const&, minikin::MinikinPaint const&, std::__ndk1::shared_ptr<minikin::FontCollection> const&, float*) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../flutter/third_party/txt/src/minikin/Layout.cpp:637
Stack frame #14 pc 00000000003e491d /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine minikin::LineBreaker::addStyleRun(minikin::MinikinPaint*, std::__ndk1::shared_ptr<minikin::FontCollection> const&, minikin::FontStyle, unsigned int, unsigned int, bool) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../flutter/third_party/txt/src/minikin/LineBreaker.cpp:131
Stack frame #15 pc 00000000003e8959 /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine txt::Paragraph::ComputeLineBreaks() at /b/build/slave/Linux_Engine/build/src/out/android_release/../../flutter/third_party/txt/src/txt/paragraph.cc:293
Stack frame #16 pc 00000000003e91f3 /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine txt::Paragraph::Layout(double, bool) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../flutter/third_party/txt/src/txt/paragraph.cc:422
Stack frame #17 pc 000000000017c0ed /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine blink::ParagraphImplTxt::layout(double) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../flutter/lib/ui/text/paragraph_impl_txt.cc:54
Stack frame #18 pc 000000000016dabb /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine tonic::DartDispatcher<tonic::IndicesHolder<0u>, void (blink::Canvas::*)(double)>::Dispatch(void (blink::Canvas::*)(double)) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../third_party/tonic/dart_args.h:151
Stack frame #19 pc 000000000016da73 /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine void tonic::DartCall<void (blink::Canvas::*)(double)>(void (blink::Canvas::*)(double), _Dart_NativeArguments*) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../third_party/tonic/dart_args.h:204
Stack frame #20 pc 00000000004bf943 /data/app/me.cartune.android-1/lib/arm/libflutter.so: Routine dart::NativeEntry::AutoScopeNativeCallWrapperNoStackCheck(_Dart_NativeArguments*, void (*)(_Dart_NativeArguments*)) at /b/build/slave/Linux_Engine/build/src/out/android_release/../../third_party/dart/runtime/vm/native_entry.cc:199
Stack frame #21 pc 0000000000002654 /data/data/me.cartune.android/app_flutter/vm_snapshot_instr
Crash dump is completed
This stack trace seems to be correct.
Thanks for the bug report @najeira! From the stack trace it looks like this crash is generally related to converting text into glyphs for rendering. It's pointing to Layout.ccp
and eventually through into harfbuzz. This may potentially be related to the harfbuzz roll in flutter/engine#5913.
Unfortunately I haven't been able to reproduce this. Could you add some example code that causes the crash?
Some users encountered crashes and were recorded on the Google Play Store. Unfortunately, I do not know the conditions for reproduction.
I will try on a custom engine that reverted https://github.com/flutter/engine/pull/5913.
Got it, thanks for the clarification. /cc @GaryQian in case the stack trace looks familiar to him.
I don't know if it's possible to revert that patch on its own, /cc @goderbauer . The PR comment talks about the patch having a followup PR. I was guessing that it was related since the crash seems to be coming out of harfbuzz and that looks like the latest time we've changed our version of their library.
I got similar crashes on iOS:
Crashed: io.flutter.1.ui
0 Flutter 0x1023162f0 hb_icu_unicode_compose(hb_unicode_funcs_t*, unsigned int, unsigned int, unsigned int*, void*) + 24
1 Flutter 0x10233d944 compose_unicode(hb_ot_shape_normalize_context_t const*, unsigned int, unsigned int, unsigned int*) + 48
2 Flutter 0x10233d5ec _hb_ot_shape_normalize(hb_ot_shape_plan_t const*, hb_buffer_t*, hb_font_t*) + 1948
3 Flutter 0x10233f5d8 _hb_ot_shape + 1440
4 Flutter 0x102341594 hb_shape_plan_execute + 124
5 Flutter 0x102341b9c hb_shape + 84
6 Flutter 0x10208c75c minikin::LayoutCacheKey::doLayout(minikin::Layout*, minikin::LayoutContext*, std::__1::shared_ptr<minikin::FontCollection> const&) const + 5516
7 Flutter 0x10208aa94 minikin::Layout::doLayoutWord(unsigned short const*, unsigned long, unsigned long, unsigned long, bool, minikin::LayoutContext*, unsigned long, std::__1::shared_ptr<minikin::FontCollection> const&, minikin::Layout*, float*) + 1096
8 Flutter 0x10208a5a4 minikin::Layout::doLayoutRunCached(unsigned short const*, unsigned long, unsigned long, unsigned long, bool, minikin::LayoutContext*, unsigned long, std::__1::shared_ptr<minikin::FontCollection> const&, minikin::Layout*, float*) + 456
9 Flutter 0x10208d6ac minikin::Layout::measureText(unsigned short const*, unsigned long, unsigned long, unsigned long, bool, minikin::FontStyle const&, minikin::MinikinPaint const&, std::__1::shared_ptr<minikin::FontCollection> const&, float*) + 192
10 Flutter 0x102094388 txt::Paragraph::Layout(double, bool) + 2016
11 Flutter 0x101db8b70 blink::Paragraph_layout(_Dart_NativeArguments*) + 104
12 Flutter 0x1021f4acc dart::NativeEntry::AutoScopeNativeCallWrapperNoStackCheck(_Dart_NativeArguments*, void (*)(_Dart_NativeArguments*)) + 444
13 App 0x103177480 Precompiled_Stub_CallAutoScopeNative + 96
14 App 0x1032508fc Precompiled__SendPortImpl_1026248__sendInternal_1026248_1434 + 124
15 App 0x103264e18 Precompiled_Path_set_fillType_1581 + 120
16 App 0x1033bbbe4 Precompiled_TextPainter_layout_4044 + 804
17 App 0x1033bcaf0 Precompiled_RenderParagraph__layoutText_413149678_4051 + 464
18 App 0x1033bd6ec Precompiled_RenderParagraph__layoutTextWithConstraints_413149678_4058 + 140
19 App 0x1033bedb0 Precompiled_RenderParagraph_performLayout_4062 + 176
20 App 0x1032b3c14 Precompiled_RenderObject_layout_2078 + 1236
21 App 0x10330346c Precompiled_RenderPadding_performLayout_2734 + 716
22 App 0x1032b3c14 Precompiled_RenderObject_layout_2078 + 1236
23 App 0x103309c78 Precompiled_RenderPositionedBox_performLayout_2779 + 920
24 App 0x1032b3c14 Precompiled_RenderObject_layout_2078 + 1236
25 App 0x10348cc98 Precompiled_RenderFlex_performLayout_5482 + 2392
26 App 0x1032b3c14 Precompiled_RenderObject_layout_2078 + 1236
27 App 0x10330d8ec Precompiled__RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin_416160605_performLayout_2814 + 236
28 App 0x1032b3c14 Precompiled_RenderObject_layout_2078 + 1236
29 App 0x10330d8ec Precompiled__RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin_416160605_performLayout_2814 + 236
30 App 0x1032b3c14 Precompiled_RenderObject_layout_2078 + 1236
31 App 0x10330d8ec Precompiled__RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin_416160605_performLayout_2814 + 236
32 App 0x1032b3c14 Precompiled_RenderObject_layout_2078 + 1236
33 App 0x10330d8ec Precompiled__RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin_416160605_performLayout_2814 + 236
34 App 0x1032b3c14 Precompiled_RenderObject_layout_2078 + 1236
35 App 0x10330d8ec Precompiled__RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin_416160605_performLayout_2814 + 236
36 App 0x10378fa48 Precompiled__RenderCustomClip_416160605_performLayout_10267 + 136
37 App 0x1032b3c14 Precompiled_RenderObject_layout_2078 + 1236
38 App 0x10330346c Precompiled_RenderPadding_performLayout_2734 + 716
39 App 0x1032b3c14 Precompiled_RenderObject_layout_2078 + 1236
40 App 0x10330d8ec Precompiled__RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin_416160605_performLayout_2814 + 236
41 App 0x1032b3c14 Precompiled_RenderObject_layout_2078 + 1236
42 App 0x1033793dc Precompiled_RenderSliverMultiBoxAdaptor_insertAndLayoutChild_3519 + 604
43 App 0x103789fe0 Precompiled_RenderSliverGrid_performLayout_10226 + 6592
44 App 0x1032b3c14 Precompiled_RenderObject_layout_2078 + 1236
45 App 0x1037ae98c Precompiled_RenderViewportBase_layoutChildSequence_10505 + 2700
46 App 0x1037adbb0 Precompiled_RenderViewport__attemptLayout_433057554_10504 + 2000
47 App 0x1037b1e0c Precompiled_RenderViewport_performLayout_10518 + 684
48 App 0x1033edd74 Precompiled_RenderObject__layoutWithoutResize_412266271_4378 + 116
49 App 0x1033eda9c Precompiled_PipelineOwner_flushLayout_4377 + 796
50 App 0x1033e9210 Precompiled__WidgetsFlutterBinding_BindingBase_GestureBinding_ServicesBinding_SchedulerBinding_PaintingBinding_SemanticsBinding_RendererBinding_24399801_drawFrame_4347 + 144
51 App 0x1033e8a88 Precompiled__WidgetsFlutterBinding_BindingBase_GestureBinding_ServicesBinding_SchedulerBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_24399801_drawFrame_4342 + 168
52 App 0x1033e896c Precompiled__WidgetsFlutterBinding_BindingBase_GestureBinding_ServicesBinding_SchedulerBinding_PaintingBinding_SemanticsBinding_RendererBinding_24399801__handlePersistentFrameCallback_398452173_4341 + 108
53 App 0x1032d37d4 Precompiled_AnimationController__tick_192066280__tick_192066280_2320 + 180
54 App 0x1032adae0 Precompiled__WidgetsFlutterBinding_BindingBase_GestureBinding_ServicesBinding_SchedulerBinding_24399801__invokeFrameCallback_437222615_2029 + 288
55 App 0x1033e7048 Precompiled__WidgetsFlutterBinding_BindingBase_GestureBinding_ServicesBinding_SchedulerBinding_24399801_handleDrawFrame_4327 + 392
56 App 0x1037da33c Precompiled__WidgetsFlutterBinding_BindingBase_GestureBinding_ServicesBinding_SchedulerBinding_24399801__handleDrawFrame_437222615_10802 + 156
57 App 0x10320ba18 Precompiled_Stopwatch_start_start_933 + 120
58 App 0x10384f8f8 Precompiled__Closure_0150898_call_11533 + 120
59 App 0x1037fb998 Precompiled_____invoke_461065589_11040 + 152
60 App 0x1037fb880 Precompiled_____drawFrame_461065589_11039 + 160
61 App 0x1031771e8 Precompiled_Stub_InvokeDartCode + 232
62 Flutter 0x1021de000 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long) + 508
63 Flutter 0x1022d3090 Dart_Invoke + 4076
64 Flutter 0x1020a3e98 tonic::DartInvokeField(_Dart_Handle*, char const*, std::initializer_list<_Dart_Handle*>) + 56
65 Flutter 0x101dbd754 blink::Window::BeginFrame(fml::TimePoint) + 256
66 Flutter 0x101dc9418 shell::Engine::BeginFrame(fml::TimePoint) + 88
67 Flutter 0x101dc6020 std::__1::__function::__func<shell::Animator::AwaitVSync()::$_2, std::__1::allocator<shell::Animator::AwaitVSync()::$_2>, void (fml::TimePoint, fml::TimePoint)>::operator()(fml::TimePoint&&, fml::TimePoint&&) + 820
68 Flutter 0x101d917ac std::__1::function<void (fml::TimePoint, fml::TimePoint)>::operator()(fml::TimePoint, fml::TimePoint) const + 44
69 Flutter 0x101dd964c std::__1::__function::__func<shell::VsyncWaiter::FireCallback(fml::TimePoint, fml::TimePoint)::$_0, std::__1::allocator<shell::VsyncWaiter::FireCallback(fml::TimePoint, fml::TimePoint)::$_0>, void ()>::operator()() + 64
70 Flutter 0x101d9f01c fml::MessageLoopImpl::RunExpiredTasks() + 1872
71 Flutter 0x101da0328 fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*) + 32
72 CoreFoundation 0x1dff4abf0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
73 CoreFoundation 0x1dff4a920 __CFRunLoopDoTimer + 864
74 CoreFoundation 0x1dff4a154 __CFRunLoopDoTimers + 248
75 CoreFoundation 0x1dff45030 __CFRunLoopRun + 1880
76 CoreFoundation 0x1dff445b8 CFRunLoopRunSpecific + 436
77 Flutter 0x101da01b4 fml::MessageLoopDarwin::Run() + 88
78 Flutter 0x101d9fb00 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0> >(void*) + 272
79 libsystem_pthread.dylib 0x1dfbd52fc _pthread_body + 128
80 libsystem_pthread.dylib 0x1dfbd525c _pthread_start + 48
81 libsystem_pthread.dylib 0x1dfbd8d08 thread_start + 4
I released the application using the custom engine reverted https://github.com/flutter/engine/pull/5913. As of now, this crash has not occurred.
For details of revert please see here: https://github.com/najeira/flutter-engine/commit/5f70d50d8a2e687b1141c59266ddf4406f639337
With Flutter 1.0, this crash is not recorded.
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v
and a minimal reproduction of the issue.
Logs
Crashes are recorded by Google Play Store.
Android 6.0, Android 7.0
This was not happening with Flutter v0.5.2
Flutter doctor: