aws-amplify / amplify-flutter

A declarative library with an easy-to-use interface for building Flutter applications on AWS.
https://docs.amplify.aws
Apache License 2.0
1.31k stars 246 forks source link

Query throws NullPointerException on empty Datastore with limit #1532

Closed Rayv1 closed 2 years ago

Rayv1 commented 2 years ago

Description

Hi, when querying empty datastore with limit, it throws:

DataStoreException (DataStoreException(message: An unknown exception has happened. Please take a look at
https://github.com/aws-amplify/amplify-flutter/issues to see if there are any existing issues that
match your scenario, and file an issue with the details of the bug if there isn't., recoverySuggestion: We currently don't have a recovery suggestion for this exception., underlyingException: java.lang.NullPointerException: null cannot be cast to non-null type kotlin.Int))

Code:

final res = await Amplify.DataStore.query(
  FoodTransaction.classType,
  pagination: new QueryPagination( limit:10),
);

Its working fine without the QueryPagination and empty datastore.

Categories

Steps to Reproduce

No response

Screenshots

No response

Platforms

Android Device/Emulator API Level

No response

Environment

[✓] Flutter (Channel stable, 2.10.3, on Ubuntu 20.04.4 LTS 5.13.0-39-generic, locale en_US.UTF-8)
    • Flutter version 2.10.3 at /home/rnkoeste/snap/flutter/common/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7e9793dee1 (6 weeks ago), 2022-03-02 11:23:12 -0600
    • Engine revision bd539267b4
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /home/rnkoeste/Android/Sdk
    • Platform android-32, build-tools 32.1.0-rc1
    • Java binary at: /opt/android-studio-2021.1.1/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)
    • All Android licenses accepted.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Android Studio (version 2021.1)
    • Android Studio at /opt/android-studio-2021.1.1/android-studio
    • 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 11.0.11+0-b60-7590822)

[✓] Android Studio
    • Android Studio at /opt/android-studio
    • 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 11.0.11+0-b60-7590822)

[✓] VS Code
    • VS Code at /snap/code/current
    • Flutter extension version 3.38.1

[✓] Connected device (1 available)
    • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64 • Android 12 (API 31) (emulator)

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Dependencies

Dart SDK 2.16.1
Flutter SDK 2.10.3
fitasy 1.2.0+30

dependencies:
- amazon_cognito_identity_dart_2 1.0.3 [convert crypto http]
- amplify_api 0.4.5 [amplify_api_plugin_interface amplify_core collection flutter meta plugin_platform_interface]
- amplify_auth_cognito 0.4.5 [flutter amplify_auth_plugin_interface amplify_core amplify_auth_cognito_android amplify_auth_cognito_ios collection plugin_platform_interface]
- amplify_core 0.4.5 [flutter plugin_platform_interface collection date_time_format meta uuid]
- amplify_datastore 0.4.5 [flutter amplify_datastore_plugin_interface amplify_core plugin_platform_interface meta collection async]
- amplify_flutter 0.4.5 [amplify_analytics_plugin_interface amplify_api_plugin_interface amplify_auth_plugin_interface amplify_core amplify_datastore_plugin_interface amplify_storage_plugin_interface collection flutter json_annotation meta plugin_platform_interface]
- amplify_storage_s3 0.4.5 [flutter amplify_storage_plugin_interface plugin_platform_interface amplify_storage_s3_android amplify_storage_s3_ios amplify_core]
- async 2.8.2 [collection meta]
- auto_size_text 3.0.0 [flutter]
- badges 2.0.2 [flutter]
- bot_toast 4.0.1 [flutter]
- cached_network_image 3.2.0 [flutter flutter_cache_manager octo_image cached_network_image_platform_interface cached_network_image_web]
- card_swiper 1.0.4 [flutter]
- carousel_slider 4.0.0 [flutter]
- collection 1.15.0
- connectivity 3.0.6 [flutter meta connectivity_platform_interface connectivity_macos connectivity_for_web]
- convex_bottom_bar 3.0.0 [flutter]
- cupertino_icons 1.0.4
- dio 4.0.4 [http_parser path]
- dotted_border 2.0.0+1 [flutter path_drawing]
- easy_localization 3.0.0 [flutter shared_preferences intl args path easy_logger flutter_localizations]
- encrypt 5.0.1 [args asn1lib clock collection crypto pointycastle]
- extension_google_sign_in_as_googleapis_auth 2.0.4 [flutter google_sign_in googleapis_auth http meta]
- fl_chart 0.40.6 [flutter equatable]
- flutter 0.0.0 [characters collection material_color_utilities meta typed_data vector_math sky_engine]
- flutter_appauth 1.1.1 [flutter flutter_appauth_platform_interface]
- flutter_barcode_scanner 2.0.0 [flutter flutter_plugin_android_lifecycle]
- flutter_custom_clippers 2.0.0 [flutter]
- flutter_datetime_picker 1.5.1 [flutter]
- flutter_holo_date_picker 1.0.1+2 [flutter auto_size_text]
- flutter_html 2.2.1 [html csslib flutter_layout_grid video_player chewie webview_flutter chewie_audio flutter_svg flutter_math_fork collection numerus flutter]
- flutter_inappwebview 5.3.2 [flutter]
- flutter_local_notifications 8.2.0 [flutter flutter_local_notifications_platform_interface platform timezone]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path typed_data vector_math]
- flutter_secure_storage 4.2.1 [meta flutter]
- flutter_svg 0.22.0 [flutter meta path_drawing vector_math xml]
- font_awesome_flutter 10.0.0 [flutter]
- get_it 7.2.0 [async collection]
- google_sign_in 5.2.1 [flutter google_sign_in_platform_interface google_sign_in_web meta]
- googleapis 5.0.1 [_discoveryapis_commons http]
- health 3.3.1 [flutter intl device_info_plus]
- hive 2.0.5 [meta crypto]
- hive_flutter 1.1.0 [flutter hive path_provider path]
- image 3.1.0 [archive meta xml]
- image_picker 0.8.4+4 [flutter flutter_plugin_android_lifecycle image_picker_for_web image_picker_platform_interface]
- injectable 1.5.0 [get_it]
- intl 0.17.0 [clock path]
- introduction_screen 2.1.0 [flutter dots_indicator]
- jiffy 4.1.0 [intl]
- json_annotation 4.4.0 [meta]
- lottie 1.2.1 [archive characters flutter path vector_math]
- mime 1.0.1
- package_info 2.0.2 [flutter]
- path_provider 2.0.8 [flutter path_provider_android path_provider_ios path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows]
- pedometer 3.0.0 [flutter]
- percent_indicator 3.4.0 [flutter]
- permission_handler 8.3.0 [flutter meta permission_handler_platform_interface]
- pull_to_refresh 2.0.0 [flutter]
- quiver 3.0.1+1 [matcher]
- responsive_framework 0.1.7 [flutter collection]
- scroll_to_index 2.1.1 [flutter]
- sembast 3.1.1+1 [meta path synchronized]
- sentry 6.2.2 [http meta stack_trace uuid]
- simple_animations 4.0.1 [flutter flutter_lints collection]
- sqflite 2.0.1 [flutter sqflite_common path]
- stacked 2.2.7+1 [flutter get_it meta provider collection universal_io]
- stacked_hooks 0.2.1+1 [flutter flutter_hooks provider]
- stacked_services 0.8.16 [flutter get crypto]
- timezone 0.8.0 [path]
- url_launcher 6.0.17 [flutter meta url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- wakelock 0.6.1+2 [flutter meta wakelock_macos wakelock_platform_interface wakelock_web wakelock_windows]

transitive dependencies:
- _discoveryapis_commons 1.0.2 [http http_parser meta]
- amplify_analytics_plugin_interface 0.4.5 [amplify_core flutter meta]
- amplify_api_plugin_interface 0.4.5 [amplify_core collection flutter json_annotation meta]
- amplify_auth_cognito_android 0.4.5 [flutter]
- amplify_auth_cognito_ios 0.4.5 [amplify_core flutter]
- amplify_auth_plugin_interface 0.4.5 [flutter meta amplify_core]
- amplify_datastore_plugin_interface 0.4.5 [flutter meta collection amplify_core]
- amplify_storage_plugin_interface 0.4.5 [flutter meta amplify_core]
- amplify_storage_s3_android 0.4.5 [flutter]
- amplify_storage_s3_ios 0.4.5 [flutter]
- archive 3.1.6 [crypto path]
- args 2.3.0
- asn1lib 1.0.3
- cached_network_image_platform_interface 1.0.0 [flutter flutter_cache_manager]
- cached_network_image_web 1.0.1 [flutter flutter_cache_manager cached_network_image_platform_interface]
- characters 1.2.0
- charcode 1.3.1
- chewie 1.3.1 [cupertino_icons flutter provider video_player wakelock very_good_analysis]
- chewie_audio 1.2.0 [cupertino_icons flutter video_player]
- clock 1.1.0
- connectivity_for_web 0.4.0+1 [connectivity_platform_interface flutter_web_plugins flutter]
- connectivity_macos 0.2.1+2 [flutter connectivity_platform_interface]
- connectivity_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- convert 3.0.1 [typed_data]
- cross_file 0.3.2 [flutter js meta]
- crypto 3.0.1 [collection typed_data]
- csslib 0.17.1 [source_span]
- date_time_format 2.0.1
- device_info_plus 3.2.0 [flutter device_info_plus_platform_interface device_info_plus_linux device_info_plus_macos device_info_plus_web device_info_plus_windows]
- device_info_plus_linux 2.1.0 [device_info_plus_platform_interface file flutter meta]
- device_info_plus_macos 2.2.0 [device_info_plus_platform_interface flutter]
- device_info_plus_platform_interface 2.3.0 [flutter meta plugin_platform_interface]
- device_info_plus_web 2.1.0 [device_info_plus_platform_interface flutter_web_plugins flutter]
- device_info_plus_windows 2.1.0 [device_info_plus_platform_interface ffi flutter win32]
- dots_indicator 2.0.0 [flutter]
- easy_logger 0.0.2 [flutter]
- equatable 2.0.3 [collection meta]
- ffi 1.1.2
- file 6.1.2 [meta path]
- flutter_appauth_platform_interface 3.1.0 [flutter plugin_platform_interface]
- flutter_blurhash 0.6.0 [flutter meta pedantic]
- flutter_cache_manager 3.3.0 [clock collection file flutter http path path_provider pedantic rxdart sqflite uuid]
- flutter_hooks 0.17.0 [flutter]
- flutter_layout_grid 1.0.3 [flutter collection meta quiver]
- flutter_lints 1.0.4 [lints]
- flutter_local_notifications_platform_interface 4.0.1 [flutter plugin_platform_interface]
- flutter_math_fork 0.4.2+2 [flutter flutter_svg provider meta collection tuple]
- flutter_plugin_android_lifecycle 2.0.5 [flutter]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta typed_data vector_math]
- get 4.6.1 [flutter]
- google_sign_in_platform_interface 2.1.0 [flutter meta quiver]
- google_sign_in_web 0.10.0+3 [flutter flutter_web_plugins google_sign_in_platform_interface js meta]
- googleapis_auth 1.3.0 [crypto http http_parser]
- html 0.15.0 [csslib source_span]
- http 0.13.4 [async http_parser meta path]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- image_picker_for_web 2.1.4 [flutter flutter_web_plugins image_picker_platform_interface meta]
- image_picker_platform_interface 2.4.1 [flutter http meta plugin_platform_interface cross_file]
- js 0.6.3
- lints 1.0.1
- matcher 0.12.11 [stack_trace]
- material_color_utilities 0.1.3
- meta 1.7.0
- nested 1.0.0 [flutter]
- numerus 1.1.1
- octo_image 1.0.1 [flutter flutter_blurhash]
- path 1.8.0
- path_drawing 0.5.1+1 [vector_math meta path_parsing flutter]
- path_parsing 0.2.1 [vector_math meta]
- path_provider_android 2.0.11 [flutter path_provider_platform_interface]
- path_provider_ios 2.0.7 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.4 [ffi flutter meta path path_provider_platform_interface xdg_directories]
- path_provider_macos 2.0.4 [flutter meta path_provider_platform_interface]
- path_provider_platform_interface 2.0.1 [flutter meta platform plugin_platform_interface]
- path_provider_windows 2.0.4 [ffi flutter meta path path_provider_platform_interface win32]
- pedantic 1.11.1
- permission_handler_platform_interface 3.7.0 [flutter meta plugin_platform_interface]
- petitparser 4.4.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.0.2 [meta]
- pointycastle 3.4.0 [collection convert js]
- process 4.2.4 [file path platform]
- provider 6.0.1 [collection flutter nested]
- rxdart 0.27.3
- shared_preferences 2.0.11 [flutter meta shared_preferences_android shared_preferences_ios shared_preferences_linux shared_preferences_macos shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- shared_preferences_android 2.0.9 [flutter meta shared_preferences_platform_interface]
- shared_preferences_ios 2.0.8 [flutter meta shared_preferences_platform_interface]
- shared_preferences_linux 2.0.3 [file flutter meta path path_provider_linux shared_preferences_platform_interface]
- shared_preferences_macos 2.0.2 [flutter shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.0.0 [flutter]
- shared_preferences_web 2.0.2 [flutter flutter_web_plugins meta shared_preferences_platform_interface]
- shared_preferences_windows 2.0.3 [file flutter meta path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- sky_engine 0.0.99
- source_span 1.8.1 [collection path term_glyph]
- sqflite_common 2.1.0 [synchronized path meta]
- stack_trace 1.10.0 [path]
- string_scanner 1.1.0 [charcode source_span]
- synchronized 3.0.0
- term_glyph 1.2.0
- tuple 2.0.0 [quiver]
- typed_data 1.3.0 [collection]
- universal_io 2.0.4 [collection crypto meta typed_data]
- url_launcher_android 6.0.13 [flutter meta url_launcher_platform_interface]
- url_launcher_ios 6.0.13 [flutter meta url_launcher_platform_interface]
- url_launcher_linux 2.0.2 [flutter]
- url_launcher_macos 2.0.2 [flutter]
- url_launcher_platform_interface 2.0.4 [flutter plugin_platform_interface]
- url_launcher_web 2.0.5 [flutter flutter_web_plugins meta url_launcher_platform_interface]
- url_launcher_windows 2.0.2 [flutter]
- uuid 3.0.5 [crypto]
- vector_math 2.1.1
- very_good_analysis 2.4.0
- video_player 2.2.10 [flutter meta video_player_platform_interface video_player_web html]
- video_player_platform_interface 5.0.0 [flutter plugin_platform_interface]
- video_player_web 2.0.5 [flutter flutter_web_plugins meta pedantic video_player_platform_interface]
- wakelock_macos 0.4.0 [flutter flutter_web_plugins wakelock_platform_interface]
- wakelock_platform_interface 0.3.0 [flutter meta]
- wakelock_web 0.4.0 [flutter flutter_web_plugins js wakelock_platform_interface]
- wakelock_windows 0.2.0 [flutter wakelock_platform_interface win32]
- webview_flutter 2.8.0 [flutter webview_flutter_android webview_flutter_platform_interface webview_flutter_wkwebview]
- webview_flutter_android 2.8.2 [flutter webview_flutter_platform_interface]
- webview_flutter_platform_interface 1.8.0 [flutter plugin_platform_interface]
- webview_flutter_wkwebview 2.7.1 [flutter webview_flutter_platform_interface]
- win32 2.3.3 [ffi]
- xdg_directories 0.2.0 [meta path process]
- xml 5.3.1 [collection meta petitparser]

Device

Pixel 5 API 31

OS

Android 11

CLI Version

8.0.1

Additional Context

No response

HuiSF commented 2 years ago

Thanks @Rayv1 for reporting this issue.

Can you run the App in Android Studio and paste the logs around executing your code example here?

cshfang commented 2 years ago

Hi @Rayv1. I was able to reproduce this issue and I believe it to be a duplicate of #842.

As a workaround, you can provide the page parameter with a 0 value when constructing your QueryPagination. In the meantime, I will close this issue in favor of the original issue and try to provide some additional info to the original issue to see if we can get the appropriate people looking into it.

If you feel that this is a different issue and that it has been closed in error, please feel free to reopen. Thank you!