superlistapp / super_native_extensions

Native drag & drop, clipboard access and context menu.
MIT License
453 stars 82 forks source link

dlopen failed: cannot locate symbol "rust_eh_personality" #352

Closed TabooSun closed 5 months ago

TabooSun commented 5 months ago

I get the following error when I debug the app (no issue for released apk). The reason I am having this is because I use super_drag_and_drop & super_clipboard. This issue goes away when I remove both these plugins. This causes the platform channels to stop working because the GeneratedPluginRegistrant doesn't register successfully.

Logcat

``` 2024-05-06 16:31:45.829 26738-26738 GeneratedP...nsRegister com.tradeeTechnology.tradeeStaging E Tried to automatically register plugins with FlutterEngine (io.flutter.embedding.engine.FlutterEngine@75fb3a3) but could not find or invoke the GeneratedPluginRegistrant. 2024-05-06 16:31:45.831 26738-26738 GeneratedP...nsRegister com.tradeeTechnology.tradeeStaging E Received exception while registering java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at io.flutter.embedding.engine.plugins.util.GeneratedPluginRegister.registerGeneratedPlugins(GeneratedPluginRegister.java:80) at io.flutter.embedding.android.FlutterActivity.configureFlutterEngine(FlutterActivity.java:1277) at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:213) at io.flutter.embedding.android.FlutterActivity.onCreate(FlutterActivity.java:634) at android.app.Activity.performCreate(Activity.java:8591) at android.app.Activity.performCreate(Activity.java:8570) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4150) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4325) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2574) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8762) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067) Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "rust_eh_personality" referenced by "/data/app/~~UpYw9EBWLaMl07uQvn3jHg==/com.tradeeTechnology.tradeeStaging-fVwS13hiIIHJmMyUXQrcgw==/base.apk!/lib/arm64-v8a/libirondash_engine_context_native.so"... at java.lang.Runtime.loadLibrary0(Runtime.java:1082) at java.lang.Runtime.loadLibrary0(Runtime.java:1003) at java.lang.System.loadLibrary(System.java:1661) at dev.irondash.engine_context.IrondashEngineContextPlugin.(IrondashEngineContextPlugin.java:153) at io.flutter.plugins.GeneratedPluginRegistrant.registerWith(GeneratedPluginRegistrant.java:94) at java.lang.reflect.Method.invoke(Native Method)  at io.flutter.embedding.engine.plugins.util.GeneratedPluginRegister.registerGeneratedPlugins(GeneratedPluginRegister.java:80)  at io.flutter.embedding.android.FlutterActivity.configureFlutterEngine(FlutterActivity.java:1277)  at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:213)  at io.flutter.embedding.android.FlutterActivity.onCreate(FlutterActivity.java:634)  at android.app.Activity.performCreate(Activity.java:8591)  at android.app.Activity.performCreate(Activity.java:8570)  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4150)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4325)  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2574)  at android.os.Handler.dispatchMessage(Handler.java:106)  at android.os.Looper.loopOnce(Looper.java:226)  at android.os.Looper.loop(Looper.java:313)  at android.app.ActivityThread.main(ActivityThread.java:8762)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)  ```

pubspec dependencies

``` dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter repository: path: modules/repository # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.8 get: ^4.6.6 get_storage: ^2.1.1 url_launcher: ^6.2.6 package_info_plus: ^8.0.0 intl: ^0.18.1 device_info_plus: ^10.1.0 flutter_launcher_icons: ^0.13.1 flutter_native_splash: ^2.4.0 smooth_page_indicator: ^1.1.0 crypto: ^3.0.3 pin_code_fields: ^8.0.1 google_sign_in: ^6.2.1 flutter_facebook_auth: ^6.2.0 sign_in_with_apple: ^6.1.0 retrofit: ^4.1.0 logger: ^2.2.0 dio: ^5.4.3+1 dr_libphonenumber: git: url: https://github.com/TabooSun/dr_libphonenumber.git ref: v1.0.3-dr_libphonenumber path: dr_libphonenumber country_state_city: git: url: https://github.com/TabooSun/Dart.country_state_city.git ref: v0.2.0 pretty_dio_logger: ^1.3.1 darq: ^2.0.0 dartx: ^1.2.0 collection: ^1.18.0 flutter_svg: ^2.0.10+1 google_fonts: ^6.2.1 iconly: ^1.0.1 equatable: ^2.0.5 meta: ^1.11.0 event_bus_plus: ^0.6.2 country_code_picker: ^3.0.0 flutter_slidable: ^3.1.0 synchronized: ^3.1.0+1 retry: ^3.1.2 rxdart: ^0.27.7 fuzzy: ^0.5.1 boxy: ^2.2.0 faker: ^2.1.0 pinput: ^4.0.0 firebase_core: ^2.30.1 flutter_secure_storage: ^9.0.0 infinite_scroll_pagination: ^4.0.0 path: ^1.9.0 flutter_markdown: ^0.7.1 uuid: ^4.4.0 vector_math: ^2.1.4 share_plus: ^9.0.0 encrypt: ^5.0.3 dotted_border: ^2.1.0 camera: ^0.10.5+9 path_provider: ^2.1.3 pointycastle: ^3.9.0 api_keys: path: modules/api_keys onesignal_flutter: ^5.1.6 image_picker: ^1.1.1 flutter_inappwebview: ^6.0.0 contracts: path: modules/contracts event_dispatcher: path: modules/event_dispatcher pagination: path: modules/pagination grouped_list: path: modules/grouped_list easy_debounce: ^2.0.3 dart_jsonwebtoken: ^2.14.0 responsive_builder: ^0.7.0 responsive_layout_toolkit: path: modules/responsive_layout_toolkit bot_toast: ^4.1.3 font_awesome_flutter: git: url: https://github.com/TabooSun/Flutter.font_awesome_flutter.git ref: tradee-v2 super_drag_and_drop: ^0.8.12 super_clipboard: ^0.8.12 sentry_flutter: ^8.1.0 sentry_dio: ^8.1.0 sentry: ^8.1.0 custom_rating_bar: ^2.0.5 flutter_widget_from_html_core: ^0.14.12 enumerable: path: modules/enumerable socket_io_client: ^2.0.3+1 cross_file: ^0.3.4+1 reorderable_grid: ^1.0.10 text_input_formatter_toolkit: path: modules/text_input_formatter_toolkit mime: ^1.0.5 ffmpeg_kit_flutter_full_gpl: ^6.0.3 async: ^2.11.0 animated_text_kit: ^4.2.2 logging: ^1.2.0 file_upload_toolkit: path: modules/file_upload_toolkit video_player: ^2.8.6 chewie: ^1.8.1 flutter_staggered_grid_view: ^0.7.0 decimal: ^2.3.3 rational: ^2.2.2 flutter_animate: ^4.5.0 flutter_image_compress: ^2.2.0 native_platform_channel: path: modules/native_platform_channel cached_network_image: ^3.3.1 page_stacking_resource_manager: path: modules/page_stacking_resource_manager rust_builder: path: rust_builder app_links: ^6.0.1 open_file_plus: ^3.4.1+1 infinite_carousel: ^1.1.1 carousel_extension: path: modules/carousel_extension dev_dependencies: flutter_test: sdk: flutter linter: path: modules/linter flutter_lints: ^3.0.2 flutter_flavorizr: ^2.2.3 melos: ^6.0.0 integration_test: sdk: flutter ```

Flutter Doctor

``` [✓] Flutter (Channel stable, 3.19.6, on macOS 14.4.1 23E224 darwin-arm64, locale zh-Hans-MY) • Flutter version 3.19.6 on channel stable at /Users/taboosun/fvm/versions/3.19.6 • Upstream repository https://github.com/flutter/flutter.git • Framework revision 54e66469a9 (3 weeks ago), 2024-04-17 13:08:03 -0700 • Engine revision c4cd48e186 • Dart version 3.3.4 • DevTools version 2.31.1 [✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0) • Android SDK at /Users/taboosun/Library/Android/sdk • Platform android-34, build-tools 34.0.0 • ANDROID_HOME = /Users/taboosun/Library/Android/sdk • Java binary at: /Users/taboosun/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 15.3) • Xcode at /Applications/Xcode.app/Contents/Developer • Build 15E204a • CocoaPods version 1.15.2 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio (version 2023.3) • Android Studio at /Users/taboosun/Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160) [✓] IntelliJ IDEA Ultimate Edition (version 2024.1.1) • IntelliJ at /Users/taboosun/Applications/IntelliJ IDEA Ultimate.app • Flutter plugin version 79.0.3 • Dart plugin version 241.15989.9 [✓] VS Code (version 1.89.0) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.88.0 [✓] Connected device (5 available) • SM N986B (mobile) • 192.168.1.251:33501 • android-arm64 • Android 13 (API 33) • 神的iPhone 14 Pro Max (mobile) • 00008120-000E69D00E90C01E • ios • iOS 17.4.1 21E236 • 神的iPad (mobile) • 00008101-000C68360220001E • ios • iOS 17.4.1 21E236 • macOS (desktop) • macos • darwin-arm64 • macOS 14.4.1 23E224 darwin-arm64 • Chrome (web) • chrome • web-javascript • Google Chrome 124.0.6367.119 [✓] Network resources • All expected network resources are available. • No issues found! ```

I have Rust installed, so it builds all the binaries, my Rust version:

Rustup Version

``` rustup 1.27.0 (bbb9276d2 2024-03-08) info: This is the version for the rustup toolchain manager, not the rustc compiler. info: The currently active `rustc` version is `rustc 1.78.0 (9b00956e5 2024-04-29)` ```

knopp commented 5 months ago

This is weird. The irondash engine context library is build without STD and with panic=abort for both debug and release builds. It should not link to rust_eh_personality.