shorebird icon indicating copy to clipboard operation
shorebird copied to clipboard

fix: duplicate index crash when creating patch for iOS

Open eseidel opened this issue 1 year ago • 1 comments

Failed to link AOT files: Exception: Failed to link: /Users/foo/.shorebird/bin/cache/flutter/aee5222c0d52012f089564a8395826d56e7c2fe8/bin/cache/artifacts/engine/ios-release/gen_snapshot_arm64 --snapshot_kind=app-aot-elf --base_link_data=/var/folders/15/x1vj06jn41s9g_4n05098rjw0000gn/T/LInE6z/Products/Applications/Runner.app/Frameworks/App.framework/App.link --patch_link_data=/Users/foo/Downloads/alaman/build/out.link --elf=/Users/foo/Downloads/alaman/build/out.optimized.aot /Users/foo/Downloads/alaman/.dart_tool/flutter_build/01ec46f0a31b1d56bd01436a3e551298/app.dill
../../third_party/dart/runtime/vm/shorebird/object_pool_mapper.cc: 222: error: Duplicate index: 12141
===== CRASH =====
si_signo=Segmentation fault: 11(11), si_code=SEGV_MAPERR(1), si_addr=0x102042
Aborting reentrant request for stack trace.

Unhandled exception:
Exception: gen_snapshot failed
#0      SnapshotGenerator.generateAotElfSnapshot (package:aot_tools/src/snapshot_generator.dart:54:7)
#1      LinkCommand._generateOptimizedPatchSnapshot (package:aot_tools/src/commands/link_command.dart:281:24)
#2      LinkCommand.run (package:aot_tools/src/commands/link_command.dart:141:40)
#3      CommandRunner.runCommand (package:args/command_runner.dart:212:27)
#4      CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:122:25)
#5      new Future.sync (dart:async/future.dart:305:31)
#6      CommandRunner.run (package:args/command_runner.dart:122:14)
#7      main.<anonymous closure> (file:///home/gha/.engine_checkout/engine/src/third_party/dart/pkg/aot_tools/bin/aot_tools.dart:9:57)
#8      _rootRun (dart:async/zone.dart:1399:13)
#9      _CustomZone.run (dart:async/zone.dart:1301:19)
#10     _runZoned (dart:async/zone.dart:1804:10)
#11     runZoned (dart:async/zone.dart:1747:10)
#12     LoggerOverrides.runZoned (package:aot_tools/src/logger.dart:28:18)
#13     runWithLogger (package:aot_tools/src/logger.dart:18:26)
#14     main (file:///home/gha/.engine_checkout/engine/src/third_party/dart/pkg/aot_tools/bin/aot_tools.dart:9:26)
#15     _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:33)
#16     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)

User reports all they changed was "donationType" to "donationTypa", a single character, they were just testing Shorebird:

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final userSetting = ref.watch(settingHiveNotifierProvider);
    return SafeArea(
      child: Scaffold(
      appBar: CustomAppBar(
        notMain: false,
          title: userSetting?.role == "Beneficiary"
              ? "grantsType"
              : "donationType",
          description: userSetting?.role == "Beneficiary"
              ? "choosegrant"
              : "choosedonation",
        ),

eseidel avatar May 07 '24 20:05 eseidel

From the user:

Shorebird 1.0.4 • [email protected]:shorebirdtech/shorebird.git
Flutter 3.19.6 • revision aee5222c0d52012f089564a8395826d56e7c2fe8
Engine • revision e4434d7a212b29a8ee8ffaf8e2c453c753904933
A new version of shorebird is available!
Run shorebird upgrade to upgrade.

1.0.5 was released yesterday, they're trying now.

eseidel avatar May 07 '24 21:05 eseidel

We've not heard any other reports of this, so I'm closing for now.

eseidel avatar May 22 '24 15:05 eseidel