
<details>
<summary>There were failures symbolizing some of the crashes I found</summary>

When processing null I found crash

```
Crash(engineVariant: EngineVariant(os: android, arch: arm, mode: null), frames: [CrashFrame.android(no: 00, pc: 107580, binary: /system/lib/libc.so, rest:  (abort+63), buildId: null), CrashFrame.android(no: 01, pc: 2870917, binary: /data/app/com.example.app/lib/arm/libflutter.so, rest:  (offset 0x1002000), buildId: null)], format: native, androidMajorVersion: 8)
```

but failed to symbolize it with the following notes:

* Exception occurred while symbolizing:
    ```
    {EngineBuild(engineHash: 75bef9f6c8ac2ed4e1e04cdfcd88b177d9f1850d, variant: EngineVariant(os: android, arch: arm, mode: release))} Failed to download EngineBuild(engineHash: 75bef9f6c8ac2ed4e1e04cdfcd88b177d9f1850d, variant: EngineVariant(os: android, arch: arm, mode: release))
    #0      SymbolsCacheProxy.get (file:///Users/vegorov/src/dart_ci/github-label-notifier/symbolizer/test/bot_test.dart:38:7)
    #1      Symbolizer._symbolizeCrashWith (package:symbolizer/symbolizer.dart:100:40)
    #2      Symbolizer._symbolizeCrash (package:symbolizer/symbolizer.dart:156:24)
    #3      Symbolizer.symbolize.<anonymous closure> (package:symbolizer/symbolizer.dart:58:32)
    #4      MappedListIterable.elementAt (dart:_internal/iterable.dart:417:31)
    #5      ListIterator.moveNext (dart:_internal/iterable.dart:343:26)
    #6      Future.wait (dart:async/future.dart:406:26)
    #7      Symbolizer.symbolize (package:symbolizer/symbolizer.dart:57:25)
    <asynchronous suspension>
    #8      Bot.symbolizeGiven (package:symbolizer/bot.dart:249:28)
    #9      Bot.executeCommand (package:symbolizer/bot.dart:189:11)
    <asynchronous suspension>
    #10     main.<anonymous closure>.<anonymous closure> (file:///Users/vegorov/src/dart_ci/github-label-notifier/symbolizer/test/bot_test.dart:183:19)
    <asynchronous suspension>
    #11     main.<anonymous closure>.<anonymous closure> (file:///Users/vegorov/src/dart_ci/github-label-notifier/symbolizer/test/bot_test.dart)
    #12     Declarer.test.<anonymous closure>.<anonymous closure> (package:test_api/src/backend/declarer.dart:200:19)
    <asynchronous suspension>
    #13     Declarer.test.<anonymous closure>.<anonymous closure> (package:test_api/src/backend/declarer.dart)
    #14     _rootRun (dart:async/zone.dart:1190:13)
    #15     _CustomZone.run (dart:async/zone.dart:1093:19)
    #16     _runZoned (dart:async/zone.dart:1630:10)
    #17     runZoned (dart:async/zone.dart:1550:10)
    #18     Declarer.test.<anonymous closure> (package:test_api/src/backend/declarer.dart:198:13)
    #19     Invoker.waitForOutstandingCallbacks.<anonymous closure> (package:test_api/src/backend/invoker.dart:231:15)
    #20     _rootRun (dart:async/zone.dart:1190:13)
    #21     _CustomZone.run (dart:async/zone.dart:1093:19)
    #22     _runZoned (dart:async/zone.dart:1630:10)
    #23     runZoned (dart:async/zone.dart:1550:10)
    #24     Invoker.waitForOutstandingCallbacks (package:test_api/src/backend/invoker.dart:228:5)
    #25     Invoker._onRun.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:test_api/src/backend/invoker.dart:383:17)
    <asynchronous suspension>
    #26     Invoker._onRun.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:test_api/src/backend/invoker.dart)
    #27     _rootRun (dart:async/zone.dart:1190:13)
    #28     _CustomZone.run (dart:async/zone.dart:1093:19)
    #29     _runZoned (dart:async/zone.dart:1630:10)
    #30     runZoned (dart:async/zone.dart:1550:10)
    #31     Invoker._onRun.<anonymous closure>.<anonymous closure> (package:test_api/src/backend/invoker.dart:370:9)
    #32     Invoker._guardIfGuarded (package:test_api/src/backend/invoker.dart:415:15)
    #33     Invoker._onRun.<anonymous closure> (package:test_api/src/backend/invoker.dart:369:7)
    #34     _rootRun (dart:async/zone.dart:1190:13)
    #35     _CustomZone.run (dart:async/zone.dart:1093:19)
    #36     _runZoned (dart:async/zone.dart:1630:10)
    #37     runZoned (dart:async/zone.dart:1550:10)
    #38     Chain.capture (package:stack_trace/src/chain.dart:98:14)
    #39     Invoker._onRun (package:test_api/src/backend/invoker.dart:368:11)
    #40     LiveTestController.run (package:test_api/src/backend/live_test_controller.dart:153:11)
    #41     RemoteListener._runLiveTest.<anonymous closure> (package:test_api/src/remote_listener.dart:256:16)
    #42     _rootRun (dart:async/zone.dart:1190:13)
    #43     _CustomZone.run (dart:async/zone.dart:1093:19)
    #44     _runZoned (dart:async/zone.dart:1630:10)
    #45     runZoned (dart:async/zone.dart:1550:10)
    #46     RemoteListener._runLiveTest (package:test_api/src/remote_listener.dart:255:5)
    #47     RemoteListener._serializeTest.<anonymous closure> (package:test_api/src/remote_listener.dart:208:7)
    #48     _rootRunUnary (dart:async/zone.dart:1198:47)
    #49     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
    #50     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7)
    #51     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
    #52     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
    #53     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808:19)
    #54     _StreamController._add (dart:async/stream_controller.dart:682:7)
    #55     _StreamController.add (dart:async/stream_controller.dart:624:5)
    #56     _rootRunUnary (dart:async/zone.dart:1206:13)
    #57     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
    #58     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7)
    #59     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
    #60     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
    #61     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808:19)
    #62     _StreamController._add (dart:async/stream_controller.dart:682:7)
    #63     _StreamController.add (dart:async/stream_controller.dart:624:5)
    #64     _StreamSinkWrapper.add (dart:async/stream_controller.dart:900:13)
    #65     _GuaranteeSink.add (package:stream_channel/src/guarantee_channel.dart:125:12)
    #66     new _MultiChannel.<anonymous closure> (package:stream_channel/src/multi_channel.dart:159:31)
    #67     _RootZone.runUnaryGuarded (dart:async/zone.dart:1384:10)
    #68     CastStreamSubscription._onData (dart:_internal/async_cast.dart:85:11)
    #69     _RootZone.runUnaryGuarded (dart:async/zone.dart:1384:10)
    #70     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
    #71     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
    #72     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808:19)
    #73     _StreamController._add (dart:async/stream_controller.dart:682:7)
    #74     _StreamController.add (dart:async/stream_controller.dart:624:5)
    #75     _RootZone.runUnaryGuarded (dart:async/zone.dart:1384:10)
    #76     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
    #77     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
    #78     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808:19)
    #79     _StreamController._add (dart:async/stream_controller.dart:682:7)
    #80     _StreamController.add (dart:async/stream_controller.dart:624:5)
    #81     _StreamSinkWrapper.add (dart:async/stream_controller.dart:900:13)
    #82     _RootZone.runUnaryGuarded (dart:async/zone.dart:1384:10)
    #83     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
    #84     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
    #85     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808:19)
    #86     _StreamController._add (dart:async/stream_controller.dart:682:7)
    #87     _StreamController.add (dart:async/stream_controller.dart:624:5)
    #88     _RootZone.runUnaryGuarded (dart:async/zone.dart:1384:10)
    #89     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
    #90     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
    #91     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808:19)
    #92     _StreamController._add (dart:async/stream_controller.dart:682:7)
    #93     _StreamController.add (dart:async/stream_controller.dart:624:5)
    #94     _StreamSinkWrapper.add (dart:async/stream_controller.dart:900:13)
    #95     _RootZone.runUnaryGuarded (dart:async/zone.dart:1384:10)
    #96     CastStreamSubscription._onData (dart:_internal/async_cast.dart:85:11)
    #97     _RootZone.runUnaryGuarded (dart:async/zone.dart:1384:10)
    #98     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
    #99     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
    #100    _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808:19)
    #101    _StreamController._add (dart:async/stream_controller.dart:682:7)
    #102    _StreamController.add (dart:async/stream_controller.dart:624:5)
    #103    _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
    
    ```

See [my documentation](https://github.com/flutter-symbolizer-bot/flutter-symbolizer-bot/blob/main/README.md#commands) for more details.
</details>

<!-- {"symbolized":[]} -->
