firebase / flutterfire

🔥 A collection of Firebase plugins for Flutter apps.
https://firebase.google.com/docs/flutter/setup
BSD 3-Clause "New" or "Revised" License
8.66k stars 3.96k forks source link

🐛 [firebase_storage] Storage access is broken on Android/iOS since 11.4.0 #11802

Closed Tclha closed 11 months ago

Tclha commented 11 months ago

Bug report

Describe the bug Since firebase_storage 11.4.0, while google cloud storage works on Windows builds, we keep getting unauthorized/permissions denied errors on Android/iOS when we try and use the same code (getDownloadUrl() on a storage reference object). To reiterate, the exact same Flutter App says unauthorised on Android and iOS but works on Windows (same credentials). The Android and iOS apps work as expected on firebase_storage 11.3.1 (with all other dependencies in our pubspec.yaml staying the same)

Steps to reproduce

Steps to reproduce the behavior:

  1. Initialize Firebase App:
    try {
        Firebase.initializeApp(
          options: DefaultFirebaseOptions.currentPlatform,
        );
      } catch (e) {
        log("Error initializing Firebase App: $e");
      }

(The firebase app is definitely initialised properly, as we use firebase auth to auth into the App which works, and we use firestore which all seems to work just fine).

  1. Create reference to storage object:

    final Reference storageRef = FirebaseStorage.instanceFor(bucket: <bucket-name-here>).ref().child("<file-path>.jpg");
    final String = await storageRef.getDownloadURL();
  2. See error below:

Error:

Click To Expand Error ``` E/StorageException( 6672): StorageException has occurred. E/StorageException( 6672): User does not have permission to access this object. E/StorageException( 6672): Code: -13021 HttpResult: 403 E/StorageException( 6672): { "error": { "code": 403, "message": "Permission denied." }} E/StorageException( 6672): java.io.IOException: { "error": { "code": 403, "message": "Permission denied." }} E/StorageException( 6672): at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:445) E/StorageException( 6672): at com.google.firebase.storage.network.NetworkRequest.parseErrorResponse(NetworkRequest.java:462) E/StorageException( 6672): at com.google.firebase.storage.network.NetworkRequest.processResponseStream(NetworkRequest.java:453) E/StorageException( 6672): at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:272) E/StorageException( 6672): at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:289) E/StorageException( 6672): at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:76) E/StorageException( 6672): at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68) E/StorageException( 6672): at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77) E/StorageException( 6672): at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65) E/StorageException( 6672): at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4) E/StorageException( 6672): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) E/StorageException( 6672): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) E/StorageException( 6672): at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) E/StorageException( 6672): at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4) E/StorageException( 6672): at java.lang.Thread.run(Thread.java:1012) ```

Flutter doctor -v output:

Click To Expand ``` [√] Flutter (Channel stable, 3.13.6, on Microsoft Windows [Version 10.0.22621.2428], locale en-AU) • Flutter version 3.13.6 on channel stable at C:\Users\tisma\flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision ead455963c (5 weeks ago), 2023-09-26 18:28:17 -0700 • Engine revision a794cf2681 • Dart version 3.1.3 • DevTools version 2.25.0 [√] Windows Version (Installed version of Windows is version 10 or higher) [√] Android toolchain - develop for Android devices (Android SDK version 34.0.0) • Android SDK at C:\Users\tisma\AppData\Local\Android\sdk [√] VS Code (version 1.83.1) • VS Code at C:\Users\tisma\AppData\Local\Programs\Microsoft VS Code • Flutter extension can be installed from: https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter [√] Connected device (4 available) • SM G996B (mobile) • RFCRB1LGR9W • android-arm64 • Android 13 (API 33) • Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.22621.2428] • Chrome (web) • chrome • web-javascript • Google Chrome 118.0.5993.118 • Edge (web) • edge • web-javascript • Microsoft Edge 118.0.2088.76 [√] Network resources • All expected network resources are available. • No issues found! ```

Flutter dependencies

Run flutter pub deps -- --style=compact and paste the output below:

Click To Expand (When we downgrade to firebase_storage 11.3.1, it works fine on Android/iOS but then we obviously lose Windows support) ``` Dart SDK 3.1.3 Flutter SDK 3.13.6 overlaystarter 1.0.0+1 dependencies: Dart SDK 3.1.3 Flutter SDK 3.13.6 overlaystarter 1.0.0+1 dependencies: - animated_text_kit 4.2.2 [flutter characters] - archive 3.3.7 [crypto path pointycastle] - auto_route 7.1.0 [flutter path collection meta] - bloc 8.1.1 [meta] - cached_network_image 3.2.3 [flutter flutter_cache_manager octo_image cached_network_image_platform_interface cached_network_image_web] - camera 0.10.5 [camera_android camera_avfoundation camera_platform_interface camera_web flutter flutter_plugin_android_lifecycle quiver] - camera_android_camerax 0.5.0+16 [async camera_platform_interface flutter integration_test meta stream_transform] - chewie 1.5.0 [cupertino_icons flutter provider video_player wakelock] - cloud_firestore 4.12.1 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta] - cloud_functions 4.5.1 [cloud_functions_platform_interface cloud_functions_web firebase_core firebase_core_platform_interface flutter] - connectivity_plus 4.0.0 [flutter flutter_web_plugins connectivity_plus_platform_interface js meta nm] - crypto 3.0.3 [typed_data] - curved_labeled_navigation_bar 2.0.2 [flutter meta] - device_info 2.0.3 [flutter device_info_platform_interface] - dio 5.1.2 [http_parser meta path] - dio_smart_retry 5.0.0 [dio http_parser path] - equatable 2.0.5 [collection meta] - firebase_auth 4.12.0 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta] - firebase_core 2.20.0 [firebase_core_platform_interface firebase_core_web flutter meta] - firebase_storage 11.4.0 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter] - flutter 0.0.0 [characters collection material_color_utilities meta vector_math web sky_engine] - flutter_bloc 8.1.2 [flutter bloc provider] - flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml] - flutter_svg_provider 1.0.4 [flutter http flutter_svg] - fluttericon 2.0.0 [flutter] - fluttertoast 8.2.1 [flutter flutter_web_plugins] - geolocator 9.0.2 [flutter geolocator_platform_interface geolocator_android geolocator_apple geolocator_web geolocator_windows] - google_fonts 4.0.4 [flutter http path_provider crypto] - google_sign_in 6.1.0 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web] - html 0.15.3 [csslib source_span] - image 4.0.17 [archive meta xml] - image_picker 0.8.6 [flutter image_picker_android image_picker_for_web image_picker_ios image_picker_platform_interface] - intl 0.18.1 [clock meta path] - just_audio 0.9.32 [just_audio_platform_interface just_audio_web audio_session rxdart path path_provider async uuid crypto meta flutter] - just_audio_windows 0.2.0 [flutter] - launchdarkly_flutter_client_sdk 3.0.0 [quiver flutter] - loading_animation_widget 1.2.0+4 [flutter] - meta 1.9.1 - overlay 0.0.1 [firebase_auth flutter google_sign_in cloud_firestore firebase_storage dio connectivity_plus dio_smart_retry permission_handler path_provider mockito device_info image archive firebase_core url_launcher launchdarkly_flutter_client_sdk] - overlay_components 0.0.1 [flutter just_audio chewie video_player image_picker html url_launcher google_fonts firebase_storage provider dio dio_smart_retry fluttertoast cached_network_image] - overlayobjectdetection 0.0.1 [flutter camera path_provider flutter_bloc image google_mlkit_object_detection overlay google_mlkit_commons dio] - overlaytraining 0.0.1 [camera dio dio_smart_retry flutter image overlay path_provider firebase_storage] - package_info_plus 3.1.2 [ffi flutter flutter_web_plugins http meta path package_info_plus_platform_interface win32] - path_provider 2.0.15 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows] - permission_handler 10.2.0 [flutter meta permission_handler_android permission_handler_apple permission_handler_windows permission_handler_platform_interface] - rive 0.11.0 [collection flutter flutter_web_plugins http meta plugin_platform_interface rive_common] - rive_common 0.0.6 [flutter flutter_web_plugins collection ffi graphs http meta plugin_platform_interface] - scroll_navigation 1.3.2 [flutter helpers] - selectable_autolink_text 2.6.0 [flutter] - sentry_flutter 7.10.1 [flutter flutter_web_plugins sentry package_info_plus meta ffi] - shared_preferences 2.1.2 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_preferences_platform_interface shared_preferences_web shared_preferences_windows] - shimmer 3.0.0 [flutter] - smooth_page_indicator 1.1.0 [flutter] - svg_path_parser 1.1.1 [string_scanner flutter] - synchronized 3.1.0 - url_launcher 6.1.11 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows] - video_player 2.6.1 [flutter html video_player_android video_player_avfoundation video_player_platform_interface video_player_web] dev dependencies: - auto_route_generator 7.0.0 [build source_gen analyzer path build_runner code_builder dart_style xml args glob auto_route] - build_runner 2.4.6 [analyzer args async build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml] - flutter_launcher_icons 0.13.1 [args checked_yaml cli_util image json_annotation path yaml] - flutter_lints 2.0.3 [lints] - flutter_test 0.0.0 [flutter test_api matcher path fake_async clock stack_trace vector_math async boolean_selector characters collection material_color_utilities meta source_span stream_channel string_scanner term_glyph web] dependency overrides: - flutter_layout_grid 2.0.5 [flutter collection meta quiver] - flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml] transitive dependencies: - _fe_analyzer_shared 61.0.0 [meta] - _flutterfire_internals 1.3.10 [collection firebase_core firebase_core_platform_interface flutter meta] - analyzer 5.13.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml] - args 2.4.2 - async 2.11.0 [collection meta] - audio_session 0.1.16 [flutter flutter_web_plugins rxdart meta] - boolean_selector 2.1.1 [source_span string_scanner] - build 2.4.1 [analyzer async convert crypto glob logging meta package_config path] - build_config 1.1.1 [checked_yaml json_annotation path pubspec_parse yaml] - build_daemon 4.0.0 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel] - build_resolvers 2.4.1 [analyzer async build collection convert crypto graphs logging package_config path pool pub_semver stream_transform yaml] - build_runner_core 7.2.11 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta package_config path pool timing watcher yaml] - built_collection 5.1.1 - built_value 8.6.3 [built_collection collection fixnum meta] - cached_network_image_platform_interface 2.0.0 [flutter flutter_cache_manager] - cached_network_image_web 1.0.2 [flutter flutter_cache_manager cached_network_image_platform_interface] - camera_android 0.10.8+13 [camera_platform_interface flutter flutter_plugin_android_lifecycle stream_transform] - camera_avfoundation 0.9.13+6 [camera_platform_interface flutter stream_transform] - camera_platform_interface 2.6.0 [cross_file flutter plugin_platform_interface stream_transform] - camera_web 0.3.2+3 [camera_platform_interface flutter flutter_web_plugins stream_transform] - characters 1.3.0 - checked_yaml 2.0.3 [json_annotation source_span yaml] - cli_util 0.4.0 [meta path] - clock 1.1.1 - cloud_firestore_platform_interface 6.0.2 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - cloud_firestore_web 3.8.2 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js] - cloud_functions_platform_interface 5.5.4 [firebase_core flutter meta plugin_platform_interface] - cloud_functions_web 4.6.4 [cloud_functions_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js] - code_builder 4.7.0 [built_collection built_value collection matcher meta] - collection 1.17.2 - connectivity_plus_platform_interface 1.2.4 [flutter meta plugin_platform_interface] - convert 3.1.1 [typed_data] - cross_file 0.3.3+6 [js meta] - csslib 0.17.3 [source_span] - cupertino_icons 1.0.6 - dart_style 2.3.2 [analyzer args path pub_semver source_span] - dbus 0.7.8 [args ffi meta xml] - device_info_platform_interface 2.0.1 [flutter meta plugin_platform_interface] - fake_async 1.3.1 [clock collection] - ffi 2.1.0 - file 6.1.4 [meta path] - firebase_auth_platform_interface 7.0.2 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - firebase_auth_web 5.8.5 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser js meta] - firebase_core_platform_interface 5.0.0 [collection flutter flutter_test meta plugin_platform_interface] - firebase_core_web 2.8.1 [firebase_core_platform_interface flutter flutter_web_plugins js meta] - firebase_storage_platform_interface 5.0.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - firebase_storage_web 3.6.11 [_flutterfire_internals async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta] - fixnum 1.1.0 - flutter_blurhash 0.7.0 [flutter] - flutter_cache_manager 3.3.1 [clock collection file flutter http path path_provider rxdart sqflite uuid] - flutter_driver 0.0.0 [file flutter flutter_test fuchsia_remote_debug_protocol path meta vm_service webdriver async boolean_selector characters clock collection matcher material_color_utilities platform process source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api vector_math web] - flutter_plugin_android_lifecycle 2.0.17 [flutter] - flutter_web_plugins 0.0.0 [flutter characters collection material_color_utilities meta vector_math web] - frontend_server_client 3.2.0 [async path] - fuchsia_remote_debug_protocol 0.0.0 [process vm_service file meta path platform] - geolocator_android 4.3.1 [flutter geolocator_platform_interface uuid] - geolocator_apple 2.3.2 [flutter geolocator_platform_interface] - geolocator_platform_interface 4.1.1 [flutter plugin_platform_interface vector_math meta] - geolocator_web 2.2.0 [flutter flutter_web_plugins geolocator_platform_interface] - geolocator_windows 0.1.3 [flutter geolocator_platform_interface] - glob 2.1.2 [async collection file path string_scanner] - google_identity_services_web 0.2.2 [js meta] - google_mlkit_commons 0.3.0 [flutter] - google_mlkit_object_detection 0.7.0 [flutter google_mlkit_commons] - google_sign_in_android 6.1.20 [flutter google_sign_in_platform_interface] - google_sign_in_ios 5.6.4 [flutter google_sign_in_platform_interface pigeon] - google_sign_in_platform_interface 2.4.2 [flutter plugin_platform_interface quiver] - google_sign_in_web 0.12.0+5 [flutter flutter_web_plugins google_identity_services_web google_sign_in_platform_interface http js] - graphs 2.3.1 [collection] - helpers 1.2.3 [flutter vector_math] - http 0.13.6 [async http_parser meta] - http_multi_server 3.2.1 [async] - http_parser 4.0.2 [collection source_span string_scanner typed_data] - image_picker_android 0.8.8+2 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface] - image_picker_for_web 2.2.0 [flutter flutter_web_plugins image_picker_platform_interface mime] - image_picker_ios 0.8.8+2 [flutter image_picker_platform_interface] - image_picker_platform_interface 2.9.1 [cross_file flutter http plugin_platform_interface] - integration_test 0.0.0 [flutter flutter_driver flutter_test path vm_service async boolean_selector characters clock collection fake_async file matcher material_color_utilities meta source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api vector_math web webdriver] - io 1.0.4 [meta path string_scanner] - js 0.6.7 [meta] - json_annotation 4.8.1 [meta] - just_audio_platform_interface 4.2.1 [flutter plugin_platform_interface] - just_audio_web 0.4.8 [just_audio_platform_interface flutter flutter_web_plugins] - lints 2.1.1 - logging 1.2.0 - matcher 0.12.16 [async meta stack_trace term_glyph test_api] - material_color_utilities 0.5.0 [collection] - mime 1.0.4 - mockito 5.4.2 [analyzer build code_builder collection dart_style matcher meta path source_gen test_api] - nested 1.0.0 [flutter] - nm 0.5.0 [dbus] - octo_image 1.0.2 [flutter flutter_blurhash] - package_config 2.1.0 [path] - package_info_plus_platform_interface 2.0.1 [flutter meta plugin_platform_interface] - path 1.8.3 - path_drawing 1.0.1 [vector_math meta path_parsing flutter] - path_parsing 1.0.1 [vector_math meta] - path_provider_android 2.2.1 [flutter path_provider_platform_interface] - path_provider_foundation 2.3.1 [flutter path_provider_platform_interface] - path_provider_linux 2.2.1 [ffi flutter path path_provider_platform_interface xdg_directories] - path_provider_platform_interface 2.1.1 [flutter platform plugin_platform_interface] - path_provider_windows 2.2.1 [ffi flutter path path_provider_platform_interface win32] - permission_handler_android 10.3.6 [flutter permission_handler_platform_interface] - permission_handler_apple 9.1.4 [flutter permission_handler_platform_interface] - permission_handler_platform_interface 3.12.0 [flutter meta plugin_platform_interface] - permission_handler_windows 0.1.3 [flutter permission_handler_platform_interface] - petitparser 5.4.0 [meta] - pigeon 11.0.1 [analyzer args collection meta path yaml] - platform 3.1.0 - plugin_platform_interface 2.1.6 [meta] - pointycastle 3.7.3 [collection convert js] - pool 1.5.1 [async stack_trace] - process 4.2.4 [file path platform] - provider 6.0.5 [collection flutter nested] - pub_semver 2.1.4 [collection meta] - pubspec_parse 1.2.3 [checked_yaml collection json_annotation pub_semver yaml] - quiver 3.2.1 [matcher] - rxdart 0.27.7 - sentry 7.10.1 [http meta stack_trace uuid] - shared_preferences_android 2.2.1 [flutter shared_preferences_platform_interface] - shared_preferences_foundation 2.3.4 [flutter shared_preferences_platform_interface] - shared_preferences_linux 2.3.2 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface] - shared_preferences_platform_interface 2.3.1 [flutter plugin_platform_interface] - shared_preferences_web 2.2.1 [flutter flutter_web_plugins shared_preferences_platform_interface] - shared_preferences_windows 2.3.2 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface] - uuid 3.0.7 [crypto] - vector_math 2.1.4 - video_player_android 2.4.10 [flutter video_player_platform_interface] - video_player_avfoundation 2.5.0 [flutter video_player_platform_interface] - video_player_platform_interface 6.2.1 [flutter plugin_platform_interface] - video_player_web 2.1.1 [flutter flutter_web_plugins video_player_platform_interface] - vm_service 11.7.1 - wakelock 0.6.2 [flutter meta wakelock_macos wakelock_platform_interface wakelock_web wakelock_windows] - 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.1 [flutter wakelock_platform_interface win32] - watcher 1.1.0 [async path] - web 0.1.4-beta - web_socket_channel 2.4.0 [async crypto stream_channel] - webdriver 3.0.2 [matcher path stack_trace sync_http] - win32 3.1.4 [ffi] - xdg_directories 1.0.3 [meta path] - xml 6.3.0 [collection meta petitparser] - yaml 3.1.2 [collection source_span string_scanner] ```

darshankawar commented 11 months ago

@Tclha I am unable to replicate this using plugin example. Can you try the same and confirm ?

live9080 commented 11 months ago

Same issue here, Get "[firebase_storage/unauthorized] User is not authorized to perform the desired action." error after update the version to "11.4.1" from "11.2.7" The storage have the rule:

service firebase.storage {
  match /b/{bucket}/o {
    match /resources/TOS/en_US.html {
      allow read: if true;
      allow write: if true;
    }
  }
}
// will throw the error in version "11.4.1" and works well in the old version "11.2.7".
FirebaseStorage.instance.refFromURL("gs://xxxxxxbucket/resources/TOS/en_US.html").getData(); 

Why I update the version? I install the latest "cloud_functions"(4.5.3). The "firebase_storage" updates automatically. So I install the old "cloud_functions" 4.4.2 instead of/

Tclha commented 11 months ago

@Tclha I am unable to replicate this using plugin example. Can you try the same and confirm ?

I just built the example app, and Im unable to upload a file or a string, I keep getting this error on repeat:

Error: ``` W/NetworkRequest(10236): error sending network request POST http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o W/NetworkRequest(10236): java.net.NoRouteToHostException: Host unreachable W/NetworkRequest(10236): at libcore.io.IoBridge.connect(IoBridge.java:182) W/NetworkRequest(10236): at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:142) W/NetworkRequest(10236): at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390) W/NetworkRequest(10236): at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230) W/NetworkRequest(10236): at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212) W/NetworkRequest(10236): at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436) W/NetworkRequest(10236): at java.net.Socket.connect(Socket.java:646) W/NetworkRequest(10236): at com.android.okhttp.internal.Platform.connectSocket(Platform.java:182) W/NetworkRequest(10236): at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:145) W/NetworkRequest(10236): at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116) W/NetworkRequest(10236): at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186) W/NetworkRequest(10236): at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128) W/NetworkRequest(10236): at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97) W/NetworkRequest(10236): at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289) W/NetworkRequest(10236): at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232) W/NetworkRequest(10236): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465) W/NetworkRequest(10236): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131) W/NetworkRequest(10236): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:262) W/NetworkRequest(10236): at com.google.firebase.storage.network.NetworkRequest.constructMessage(NetworkRequest.java:370) W/NetworkRequest(10236): at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:242) W/NetworkRequest(10236): at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263) W/NetworkRequest(10236): at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282) W/NetworkRequest(10236): at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113) W/NetworkRequest(10236): at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68) W/NetworkRequest(10236): at com.google.firebase.storage.UploadTask.sendWithRetry(UploadTask.java:527) W/NetworkRequest(10236): at com.google.firebase.storage.UploadTask.beginResumableUpload(UploadTask.java:293) W/NetworkRequest(10236): at com.google.firebase.storage.UploadTask.run(UploadTask.java:241) W/NetworkRequest(10236): at com.google.firebase.storage.StorageTask.lambda$getRunnable$7$com-google-firebase-storage-StorageTask(StorageTask.java:1077) W/NetworkRequest(10236): at com.google.firebase.storage.StorageTask$$ExternalSyntheticLambda7.run(Unknown Source:2) W/NetworkRequest(10236): at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65) W/NetworkRequest(10236): at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4) W/NetworkRequest(10236): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137) W/NetworkRequest(10236): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637) W/NetworkRequest(10236): at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) W/NetworkRequest(10236): at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4) W/NetworkRequest(10236): at java.lang.Thread.run(Thread.java:1012) W/ExponenentialBackoff(10236): network unavailable, sleeping. W/StorageUtil(10236): no auth token for request W/StorageUtil(10236): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed. W/NetworkRequest(10236): no auth token for request D/TrafficStats(10236): tagSocket(78) with statsTag=0xffffffff, statsUid=-1 ```
darshankawar commented 11 months ago

Thanks for the update. I used plugin example and ran it on Android with which I got below console log:

D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056):    at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056):    at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056):    at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056):    at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056):    at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):    at java.lang.Thread.run(Thread.java:1012)
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request
W/StorageUtil(16056): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed.
W/NetworkRequest(16056): no auth token for request
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056):    at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056):    at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056):    at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056):    at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056):    at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):    at java.lang.Thread.run(Thread.java:1012)
D/ProfileInstaller(16056): Installing profile for io.flutter.plugins.firebasestorageexample
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request
W/StorageUtil(16056): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed.
W/NetworkRequest(16056): no auth token for request
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056):    at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056):    at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056):    at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056):    at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056):    at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):    at java.lang.Thread.run(Thread.java:1012)
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request

But above seems to be coming from native and not from plugin. @Tclha Can you raise this with firebase support to check if there's any issue at firebase server side ?

HairoLabs commented 11 months ago

This issue is really serious. You can easily fix it by just pinning as below. So no server and not other library is invlovled. firebase_storage 11.3.1 (overridden) (11.4.1 available)

Tclha commented 11 months ago

Thanks for the update. I used plugin example and ran it on Android with which I got below console log:

D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056):  at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056):  at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056):  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056):  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056):  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056):  at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056):  at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056):  at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056):  at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056):  at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056):  at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056):  at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056):  at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056):  at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056):  at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056):  at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):  at java.lang.Thread.run(Thread.java:1012)
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request
W/StorageUtil(16056): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed.
W/NetworkRequest(16056): no auth token for request
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056):  at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056):  at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056):  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056):  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056):  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056):  at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056):  at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056):  at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056):  at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056):  at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056):  at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056):  at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056):  at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056):  at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056):  at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056):  at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):  at java.lang.Thread.run(Thread.java:1012)
D/ProfileInstaller(16056): Installing profile for io.flutter.plugins.firebasestorageexample
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request
W/StorageUtil(16056): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed.
W/NetworkRequest(16056): no auth token for request
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056):  at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056):  at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056):  at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056):  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056):  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056):  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056):  at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056):  at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056):  at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056):  at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056):  at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056):  at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056):  at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056):  at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056):  at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056):  at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056):  at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):  at java.lang.Thread.run(Thread.java:1012)
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request

But above seems to be coming from native and not from plugin. @Tclha Can you raise this with firebase support to check if there's any issue at firebase server side ?

The firebase_storage library works when I downgrade to 11.3.1, just doesn't work on mobile when I upgrade to 11.4.0 (but it DOES work on windows), this doesn't seem like an issue with firebase itself surely?

Desno365 commented 11 months ago

This is affecting us too. We had to downgrade the version. Also it seems that some metadata were sent automatically before (e.g., Content-Type), with the latest version that's not true anymore.

darshankawar commented 11 months ago

Thanks for the update. Based on the originally reported behavior and per my verification, keeping this issue open and labeling for team's attention.

Alex-web0 commented 11 months ago

I had the same issue, I resolved it by changing versions of firebase storage and other packages (as it seems like other packeges and core come into play) to the following.

  firebase_core: 2.16.0
  firebase_storage: 11.2.7
  firebase_auth: ^4.10.0
  firebase_database:  @^10.2.6
AkanshDivker commented 11 months ago

I'm also having the same issue. Pinning to 11.3.1 as suggested above seems to be the best solution for now.

russellwheatley commented 11 months ago

Thanks for the update. I used plugin example and ran it on Android with which I got below console log:

D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056):    at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056):    at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056):    at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056):    at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056):    at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):    at java.lang.Thread.run(Thread.java:1012)
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request
W/StorageUtil(16056): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed.
W/NetworkRequest(16056): no auth token for request
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056):    at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056):    at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056):    at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056):    at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056):    at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):    at java.lang.Thread.run(Thread.java:1012)
D/ProfileInstaller(16056): Installing profile for io.flutter.plugins.firebasestorageexample
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request
W/StorageUtil(16056): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed.
W/NetworkRequest(16056): no auth token for request
D/TrafficStats(16056): tagSocket(115) with statsTag=0xffffffff, statsUid=-1
W/NetworkRequest(16056): error sending network request GET http://10.0.2.2:9199/v0/b/flutterfire-e2e-tests.appspot.com/o/IMG_0101.JPG
W/NetworkRequest(16056): java.net.ConnectException: Failed to connect to /10.0.2.2:9199
W/NetworkRequest(16056):    at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
W/NetworkRequest(16056):    at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/NetworkRequest(16056):    at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/NetworkRequest(16056):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:387)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequestStart(NetworkRequest.java:243)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:263)
W/NetworkRequest(16056):    at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
W/NetworkRequest(16056):    at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
W/NetworkRequest(16056):    at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
W/NetworkRequest(16056):    at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/NetworkRequest(16056):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
W/NetworkRequest(16056):    at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
W/NetworkRequest(16056):    at java.lang.Thread.run(Thread.java:1012)
W/ExponenentialBackoff(16056): network unavailable, sleeping.
W/StorageUtil(16056): no auth token for request

But above seems to be coming from native and not from plugin. @Tclha Can you raise this with firebase support to check if there's any issue at firebase server side ?

The firebase_storage library works when I downgrade to 11.3.1, just doesn't work on mobile when I upgrade to 11.4.0 (but it DOES work on windows), this doesn't seem like an issue with firebase itself surely?

You need to run the storage emulator for it to work. Hence why host is unreachable.

russellwheatley commented 11 months ago

@Tclha - regarding your issue. I presume you're using the non-default bucket in the code snippet you provided?

final Reference storageRef = FirebaseStorage.instanceFor(bucket: <bucket-name-here>).ref().child("<file-path>.jpg");
final String = await storageRef.getDownloadURL();

If so, I believe I have a fix for your issue here:https://github.com/firebase/flutterfire/pull/11844

cyberpwnn commented 11 months ago

Still doesnt work on latest, also, @russellwheatley I don't understand how that fixes anything, that's how i'm accessing images and they wont load (im also using nondefault storage).

russellwheatley commented 11 months ago

@cyberpwnn - this fix - https://github.com/firebase/flutterfire/pull/11844. We've just published the latest version (11.5.0). Let me know if it resolves your issue.

Tclha commented 11 months ago

@Tclha - regarding your issue. I presume you're using the non-default bucket in the code snippet you provided?

final Reference storageRef = FirebaseStorage.instanceFor(bucket: <bucket-name-here>).ref().child("<file-path>.jpg");
final String = await storageRef.getDownloadURL();

If so, I believe I have a fix for your issue here:#11844

Yup I was using a non defualt bucket, and the latest update has fixed it, thanks! Closing the issue

cyberpwnn commented 11 months ago

That fixed it, thanks @russellwheatley