Skip to content

How to symbolicate symbols in App.framework without reproducing it locally? #60189

@kangwang1988

Description

@kangwang1988

We received several newly reported crashes when testflighting a new version for one add2app flutter application.
This crash can happen on various iOS devices and OS.

Hardware Model:      iPhone12,5
Version:             13317555 (3.21.999.3)
Code Type:           ARM-64
OS Version:          iOS 13.1.1 (17A854)
Report Version:      104

Exception Type:  SIGABRT
Exception Codes: 0x0 at 0x00000001a0210ef4
Triggered by Thread:  23

Thread 23 Crashed:
0   libsystem_kernel.dylib          0x00000001a0210ef4 __pthread_kill :8 (in libsystem_kernel.dylib)
1   libsystem_c.dylib               0x00000001a00c1a54 _abort :104 (in libsystem_c.dylib)
2   Flutter                         0x0000000107a91748 0x0000000107674000 + 4314952
3   Flutter                         0x0000000107b43c3c 0x0000000107674000 + 5045308
4   App                             0x000000010f5d7334 0x000000010f5d0000 + 29492
5   App                             0x000000010f5d6b2c 0x000000010f5d0000 + 27436
6   App                             0x000000010f5f1c30 0x000000010f5d0000 + 138288
7   App                             0x000000010f8f4208 0x000000010f5d0000 + 3293704
8   App                             0x000000010f8f429c 0x000000010f5d0000 + 3293852
9   App                             0x000000010fe0b350 0x000000010f5d0000 + 8631120
10  App                             0x000000010fd73fe0 0x000000010f5d0000 + 8011744
11  App                             0x000000010f75ca84 0x000000010f5d0000 + 1624708
12  App                             0x000000010f7c3404 0x000000010f5d0000 + 2044932
13  App                             0x000000010fe0b238 0x000000010f5d0000 + 8630840
14  App                             0x000000010fb57540 0x000000010f5d0000 + 5797184
15  App                             0x000000010fad1c9c 0x000000010f5d0000 + 5250204
16  App                             0x000000010fa3ea4c 0x000000010f5d0000 + 4647500
17  App                             0x000000010fe0b238 0x000000010f5d0000 + 8630840
18  App                             0x000000010f6570d4 0x000000010f5d0000 + 553172
19  App                             0x000000010facdb58 0x000000010f5d0000 + 5233496
20  App                             0x000000010f655124 0x000000010f5d0000 + 545060
21  App                             0x000000010f65549c 0x000000010f5d0000 + 545948
22  App                             0x000000010fd684c4 0x000000010f5d0000 + 7963844
23  App                             0x000000010f613000 0x000000010f5d0000 + 274432
24  App                             0x000000010f613f88 0x000000010f5d0000 + 278408
25  App                             0x000000010fd72b30 0x000000010f5d0000 + 8006448
26  App                             0x000000010f6138e4 0x000000010f5d0000 + 276708
27  App                             0x000000010f61333c 0x000000010f5d0000 + 275260
28  App                             0x000000010f613a50 0x000000010f5d0000 + 277072
29  App                             0x000000010fd370d8 0x000000010f5d0000 + 7762136
30  App                             0x000000010fe0b350 0x000000010f5d0000 + 8631120
31  App                             0x000000010f642fac 0x000000010f5d0000 + 470956
32  App                             0x000000010f643210 0x000000010f5d0000 + 471568
33  App                             0x000000010fe0abb4 0x000000010f5d0000 + 8629172
34  App                             0x000000010fd0bc54 0x000000010f5d0000 + 7584852
35  App                             0x000000010fd0b06c 0x000000010f5d0000 + 7581804
36  App                             0x000000010f601138 0x000000010f5d0000 + 201016
37  App                             0x000000010f608ef0 0x000000010f5d0000 + 233200
38  App                             0x000000010f5d6e58 0x000000010f5d0000 + 28248
39  Flutter                         0x0000000107ad1ac8 0x0000000107674000 + 4577992
40  Flutter                         0x0000000107b9b7f0 0x0000000107674000 + 5404656
41  Flutter                         0x00000001076d84f4 0x0000000107674000 + 410868
42  Flutter                         0x00000001076ed694 0x0000000107674000 + 497300
43  Flutter                         0x00000001076f34b8 0x0000000107674000 + 521400
44  Flutter                         0x00000001076f32a8 0x0000000107674000 + 520872
45  Flutter                         0x00000001076f1324 0x0000000107674000 + 512804
46  Flutter                         0x00000001076fb35c 0x0000000107674000 + 553820
47  Flutter                         0x00000001076add00 0x0000000107674000 + 236800
48  Flutter                         0x00000001076aff84 0x0000000107674000 + 245636
49  CoreFoundation                  0x00000001a03a18d4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ :32 (in CoreFoundation)
50  CoreFoundation                  0x00000001a03a160c __CFRunLoopDoTimer :928 (in CoreFoundation)
51  CoreFoundation                  0x00000001a03a0c80 __CFRunLoopDoTimers :280 (in CoreFoundation)
52  CoreFoundation                  0x00000001a039bb28 __CFRunLoopRun :1896 (in CoreFoundation)
53  CoreFoundation                  0x00000001a039b098 _CFRunLoopRunSpecific :480 (in CoreFoundation)
54  Flutter                         0x00000001076afe60 0x0000000107674000 + 245344
55  Flutter                         0x00000001076af66c 0x0000000107674000 + 243308
56  libsystem_pthread.dylib         0x00000001a0130d5c _pthread_start :128 (in libsystem_pthread.dylib)
57  libsystem_pthread.dylib         0x00000001a0138c84 _thread_start :8 (in libsystem_pthread.dylib)

After symbolicate the symbols in Flutter.framework, I got a clearer callstack:

kylewong@KyleWongdeMacBook-Pro Flutter.framework % atos -arch arm64 -o Flutter -l 0x0000000107674000
0x0000000107a91748
dart::SimpleHashMap::Lookup(void*, unsigned int, bool) (in Flutter) + 0
0x0000000107b43c3c
dart::DRT_MegamorphicCacheMissHandler(dart::NativeArguments) (in Flutter) + 0
0x0000000107ad1ac8
dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long) (in Flutter) + 452
0x0000000107b9b7f0
Dart_Invoke (in Flutter) + 4864
0x00000001076d84f4
flutter::Window::DispatchPointerDataPacket(flutter::PointerDataPacket const&) (in Flutter) + 212
0x00000001076ed694
flutter::Engine::DoDispatchPacket(std::__1::unique_ptr<flutter::PointerDataPacket, std::__1::default_delete<flutter::PointerDataPacket> >, unsigned long long) (in Flutter) + 284
0x00000001076f34b8
flutter::DefaultPointerDataDispatcher::DispatchPacket(std::__1::unique_ptr<flutter::PointerDataPacket, std::__1::default_delete<flutter::PointerDataPacket> >, unsigned long long) (in Flutter) + 48
0x00000001076f32a8
flutter::SmoothPointerDataDispatcher::DispatchPacket(std::__1::unique_ptr<flutter::PointerDataPacket, std::__1::default_delete<flutter::PointerDataPacket> >, unsigned long long) (in Flutter) + 112
0x00000001076f1324
flutter::Engine::DispatchPointerDataPacket(std::__1::unique_ptr<flutter::PointerDataPacket, std::__1::default_delete<flutter::PointerDataPacket> >, unsigned long long) (in Flutter) + 76
0x00000001076fb35c
std::__1::__function::__func<fml::internal::CopyableLambda<flutter::Shell::OnPlatformViewDispatchPointerDataPacket(std::__1::unique_ptr<flutter::PointerDataPacket, std::__1::default_delete<flutter::PointerDataPacket> >)::$_9>, std::__1::allocator<fml::internal::CopyableLambda<flutter::Shell::OnPlatformViewDispatchPointerDataPacket(std::__1::unique_ptr<flutter::PointerDataPacket, std::__1::default_delete<flutter::PointerDataPacket> >)::$_9> >, void ()>::operator()() (in Flutter) + 60
0x00000001076add00
fml::MessageLoopImpl::FlushTasks(fml::FlushType) (in Flutter) + 1664
0x00000001076aff84
fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*) (in Flutter) + 32
0x00000001076afe60
fml::MessageLoopDarwin::Run() (in Flutter) + 88
0x00000001076af66c
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*) (in Flutter) + 200

However, I failed to symbolicate the symbols in App.framework.
Based on the document given at: https://github.com/flutter/flutter/wiki/Crashes#crashes-in-dart-aot-code
It seems we need to reproduce it locally, however, we can't reproduce it locally.

Flutter environment is given below:

[✓] Flutter (Channel unknown, v1.12.13+hotfix.8, on macOS 10.16 20A4299v, locale
    zh-Hans-CN)
    • Flutter version 1.12.13+hotfix.8 at /Users/kylewong/Codes/Flutter/flutter
    • Framework revision 0b8abb4724 (4 months ago), 2020-02-11 11:44:36 -0800
    • Engine revision e1e6ced81d
    • Dart version 2.7.0

@chinmaygarde @mraleph
Any suggestions?

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: existing-appsIntegration with existing apps via the add-to-app flowcustomer: alibabad: wikiFlutter or engine wikisengineflutter/engine related. See also e: labels.platform-iosiOS applications specifically

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions