KRTirtho / spotube

🎧 Open source Spotify client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!
https://spotube.krtirtho.dev/
Other
29.59k stars 1.22k forks source link

Error when downloading music: DioExcpetion [bad response] #849

Open AndrejPatak opened 11 months ago

AndrejPatak commented 11 months ago

Is there an existing issue for this?

Current Behavior

When I attempt to download a song, the download attempts to start, but after a short while it spits out the error icon.

Expected Behavior

The download should work and place the downloaded files onto the specified folder.

Steps to reproduce

  1. I opened the app;
  2. Logged into my spotify account
  3. Opened "Liked Songs" playlist (the result is the same for all playlists)
  4. Tapped on a song
  5. Tapped the download button
  6. Went back into library
  7. Clicked on download tab

Operating System

Android 13 (specifically Nothing OS 2.0.4.)

Spotube version

v3.2.0

Installation source

F-Droid (Android)

Additional information

The logs display the following error message:

============================== CATCHER 2 LOG ============================== ------- DEVICE INFO ------- id: TKQ1.221220.001 board: Spacewar bootloader: 00872-LAHAINA-2.487493.1 brand: Nothing device: Spacewar display: T2.0-231006-1014 fingerprint: Nothing/SpacewarEEA/Spacewar:13/TKQ1.221220.001/2310061014:user/release-keys hardware: qcom host: nothing123 isPhysicalDevice: true manufacturer: Nothing model: A063 product: SpacewarEEA tags: release-keys type: user versionBaseOs: versionCodename: REL versionIncremental: 2310061014 versionPreviewSdk: 0 versionRelease: 13 versionSdk: 33 versionSecurityPatch: 2023-09-01 ------- APP INFO ------- environment: release version: 3.2.0 appName: Spotube buildNumber: 25 packageName: oss.krtirtho.spotube ---------- ERROR ---------- DioException [bad response]: The request returned an invalid status code of 503. ------- STACK TRACE -------

0 DioMixin.fetch. (package:dio/src/dio_mixin.dart:507)

1 _RootZone.runUnary (dart:async/zone.dart:1661)

2 _FutureListener.handleError (dart:async/future_impl.dart:174)

3 Future._propagateToListeners.handleError (dart:async/future_impl.dart:852)

4 Future._propagateToListeners (dart:async/future_impl.dart:873)

5 Future._completeError (dart:async/future_impl.dart:649)

6 _SyncCompleter._completeError (dart:async/future_impl.dart:60)

7 _Completer.completeError (dart:async/future_impl.dart:26)

8 Future.any.onError (dart:async/future.dart:620)

9 _RootZone.runBinary (dart:async/zone.dart:1666)

10 _FutureListener.handleError (dart:async/future_impl.dart:171)

11 Future._propagateToListeners.handleError (dart:async/future_impl.dart:852)

12 Future._propagateToListeners (dart:async/future_impl.dart:873)

13 Future._completeError (dart:async/future_impl.dart:649)

14 Future._chainForeignFuture. (dart:async/future_impl.dart:550)

15 _microtaskLoop (dart:async/schedule_microtask.dart:40)

16 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)

------- CUSTOM INFO -------

ZenKyma commented 10 months ago

Can confirm on spotube v3.3.0 on Pop!OS 22.04. Only occurs when I try to download "Foreword" from Linkin Park's album "Meteora" as .weba, for any of the album versions. It doesn't seem to be related to its tracklength of 13s, as "Queen - Yeah" with only 4s downloads appropriately. All other tracks from "Meteora" download normally.

flutter: β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
flutter: β”‚ #0   SpotubeLogger.log (package:spotube/models/logger.dart:60)
flutter: β”‚ #1   DownloadManager._startExecution (package:spotube/services/download_manager/download_manager.dart:393)
flutter: β”œβ”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„
flutter: β”‚ πŸ› [PlayerActions] Concurrent workers: 1
flutter: └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
flutter: β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
flutter: β”‚ #0   SpotubeLogger.log (package:spotube/models/logger.dart:60)
flutter: β”‚ #1   DownloadManager.download (package:spotube/services/download_manager/download_manager.dart:78)
flutter: β”œβ”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„β”„
flutter: β”‚ πŸ› [PlayerActions] [DownloadManager] https://rr5---sn-2vgu0b5auxaxjvh-apnd.googlevideo.com/videoplayback?expire=1701132167&ei=J-NkZf3iN7CfhcIPg8Gb4Ag&ip=168.182.184.249&id=o-AAuOyi0s05ilLaBbBP5euZUNHQB9eBwEwze0sPY50bbu&itag=251&source=youtube&requiressl=yes&mh=J0&mm=31%2C29&mn=sn-2vgu0b5auxaxjvh-apnd%2Csn-apn7en7e&ms=au%2Crdu&mv=m&mvi=5&pl=24&initcwndbps=1768750&vprv=1&mime=audio%2Fwebm&gir=yes&clen=187008&dur=14.001&lmt=1449575598583793&mt=1701110237&fvip=3&keepalive=yes&fexp=24007246&c=ANDROID_TESTSUITE&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=ANLwegAwRgIhAJ0N755_cv5SDrYD6ZTbe9Drsuykzm9mO9gj-uEuhWBAAiEA0u5NP693HZm7JNc3RAcrtnbAr5e8q1PdQYG3n6ppfyM%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AM8Gb2swRQIge5G5JUuZP0ZbRMghrZb40KwZjaxQ0tpNJJvbljknlx8CIQClx-u05BhZwql8bmY7Ly_NyGv89R4JHzZOemdB5wv6NA%3D%3D
flutter: └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
flutter: [2023-11-27 18:42:48.334936 | Catcher 2 | INFO] Setup localization lazily!
flutter: [2023-11-27 18:42:48.335033 | Catcher 2 | INFO] ============================== CATCHER 2 LOG ==============================
flutter: [2023-11-27 18:42:48.335048 | Catcher 2 | INFO] Crash occurred on 2023-11-27 18:42:48.335020
flutter: [2023-11-27 18:42:48.335057 | Catcher 2 | INFO] 
flutter: [2023-11-27 18:42:48.335068 | Catcher 2 | INFO] ------- DEVICE INFO -------
flutter: [2023-11-27 18:42:48.335090 | Catcher 2 | INFO] name: Pop!_OS
flutter: [2023-11-27 18:42:48.335099 | Catcher 2 | INFO] version: 22.04 LTS
flutter: [2023-11-27 18:42:48.335108 | Catcher 2 | INFO] id: pop
flutter: [2023-11-27 18:42:48.335123 | Catcher 2 | INFO] idLike: [ubuntu, debian]
flutter: [2023-11-27 18:42:48.335132 | Catcher 2 | INFO] versionCodename: jammy
flutter: [2023-11-27 18:42:48.335141 | Catcher 2 | INFO] versionId: 22.04
flutter: [2023-11-27 18:42:48.335149 | Catcher 2 | INFO] prettyName: Pop!_OS 22.04 LTS
flutter: [2023-11-27 18:42:48.335158 | Catcher 2 | INFO] buildId: null
flutter: [2023-11-27 18:42:48.335169 | Catcher 2 | INFO] variant: null
flutter: [2023-11-27 18:42:48.335178 | Catcher 2 | INFO] variantId: null
flutter: [2023-11-27 18:42:48.335187 | Catcher 2 | INFO] machineId: b23a7fa6a2bfe9366df830b3641042d2
flutter: [2023-11-27 18:42:48.335195 | Catcher 2 | INFO] 
flutter: [2023-11-27 18:42:48.335203 | Catcher 2 | INFO] ------- APP INFO -------
flutter: [2023-11-27 18:42:48.335215 | Catcher 2 | INFO] environment: release
flutter: [2023-11-27 18:42:48.335224 | Catcher 2 | INFO] version: 3.3.0
flutter: [2023-11-27 18:42:48.335233 | Catcher 2 | INFO] appName: spotube
flutter: [2023-11-27 18:42:48.335241 | Catcher 2 | INFO] buildNumber: 26
flutter: [2023-11-27 18:42:48.335250 | Catcher 2 | INFO] packageName: spotube
flutter: [2023-11-27 18:42:48.335258 | Catcher 2 | INFO] 
flutter: [2023-11-27 18:42:48.335267 | Catcher 2 | INFO] ---------- ERROR ----------
flutter: [2023-11-27 18:42:48.335274 | Catcher 2 | INFO] DioException [bad response]: The request returned an invalid status code of 416.
flutter: [2023-11-27 18:42:48.335281 | Catcher 2 | INFO] 
flutter: [2023-11-27 18:42:48.335287 | Catcher 2 | INFO] ------- STACK TRACE -------
flutter: [2023-11-27 18:42:48.335378 | Catcher 2 | INFO] #0      DioMixin.fetch.<anonymous closure> (package:dio/src/dio_mixin.dart:507)
flutter: [2023-11-27 18:42:48.335386 | Catcher 2 | INFO] #1      _FutureListener.handleError (dart:async/future_impl.dart:180)
flutter: [2023-11-27 18:42:48.335395 | Catcher 2 | INFO] #2      Future._propagateToListeners.handleError (dart:async/future_impl.dart:858)
flutter: [2023-11-27 18:42:48.335403 | Catcher 2 | INFO] #3      Future._propagateToListeners (dart:async/future_impl.dart:879)
flutter: [2023-11-27 18:42:48.335409 | Catcher 2 | INFO] #4      Future._completeError (dart:async/future_impl.dart:655)
flutter: [2023-11-27 18:42:48.335416 | Catcher 2 | INFO] #5      _SyncCompleter._completeError (dart:async/future_impl.dart:63)
flutter: [2023-11-27 18:42:48.335423 | Catcher 2 | INFO] #6      _Completer.completeError (dart:async/future_impl.dart:27)
flutter: [2023-11-27 18:42:48.335429 | Catcher 2 | INFO] #7      Future.any.onError (dart:async/future.dart:618)
flutter: [2023-11-27 18:42:48.335437 | Catcher 2 | INFO] #8      _RootZone.runBinary (dart:async/zone.dart:1666)
flutter: [2023-11-27 18:42:48.335444 | Catcher 2 | INFO] #9      _FutureListener.handleError (dart:async/future_impl.dart:177)
flutter: [2023-11-27 18:42:48.335451 | Catcher 2 | INFO] #10     Future._propagateToListeners.handleError (dart:async/future_impl.dart:858)
flutter: [2023-11-27 18:42:48.335458 | Catcher 2 | INFO] #11     Future._propagateToListeners (dart:async/future_impl.dart:879)
flutter: [2023-11-27 18:42:48.335464 | Catcher 2 | INFO] #12     Future._completeError (dart:async/future_impl.dart:655)
flutter: [2023-11-27 18:42:48.335473 | Catcher 2 | INFO] #13     Future._chainForeignFuture.<anonymous closure> (dart:async/future_impl.dart:556)
flutter: [2023-11-27 18:42:48.335480 | Catcher 2 | INFO] #14     _microtaskLoop (dart:async/schedule_microtask.dart:40)
flutter: [2023-11-27 18:42:48.335488 | Catcher 2 | INFO] #15     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
flutter: [2023-11-27 18:42:48.335497 | Catcher 2 | INFO] 
flutter: [2023-11-27 18:42:48.335505 | Catcher 2 | INFO] ======================================================================
flutter: [2023-11-27 18:42:48.335578 | Catcher 2 | FINE] Error: 'DioException [bad response]: The request returned an invalid status code of 416.' has been skipped to due to duplication occurrence within 3000 ms.
flutter: [2023-11-27 18:42:48.335595 | Catcher 2 | INFO] Report result: true
flutter: [2023-11-27 18:42:48.337917 | Catcher 2 | INFO] Report result: true
ZenKyma commented 10 months ago

Also happens for the same song when trying to download as .m4a. This is what it looks like at the download location:

image

ZenKyma commented 9 months ago

Whoever is struggling with the same issue, the following command concatenated the partials into the right format:

cat "Foreword - Linkin Park.weba.partial.temp0" "Foreword - Linkin Park.weba.partial.temp1" > Foreword.weba
HilkopterBob commented 8 months ago

another songs with a striking similarity: sorry, i'm not into short guys - Akina

Logs:

sorry, i'm not into short guys:

============================== CATCHER 2 LOG ==============================
------- DEVICE INFO -------
name: EndeavourOS
version: null
id: endeavouros
idLike: [arch]
versionCodename: rolling
versionId: rolling
prettyName: EndeavourOS
buildId: 2023.11.17
variant: null
variantId: null
machineId: 5ae5d9c048df4ea686ff3d3dc0f9f8bb
------- APP INFO -------
environment: release
version: 3.4.1
appName: spotube
buildNumber: 28
packageName: spotube
---------- ERROR ----------
DioException [bad response]: The request returned an invalid status code of 416.
------- STACK TRACE -------
#0      DioMixin.fetch.<anonymous closure> (package:dio/src/dio_mixin.dart:507)
#1      _FutureListener.handleError (dart:async/future_impl.dart:180)
#2      Future._propagateToListeners.handleError (dart:async/future_impl.dart:858)
#3      Future._propagateToListeners (dart:async/future_impl.dart:879)
#4      Future._completeError (dart:async/future_impl.dart:655)
#5      _SyncCompleter._completeError (dart:async/future_impl.dart:63)
#6      _Completer.completeError (dart:async/future_impl.dart:27)
#7      Future.any.onError (dart:async/future.dart:618)
#8      _RootZone.runBinary (dart:async/zone.dart:1666)
#9      _FutureListener.handleError (dart:async/future_impl.dart:177)
#10     Future._propagateToListeners.handleError (dart:async/future_impl.dart:858)
#11     Future._propagateToListeners (dart:async/future_impl.dart:879)
#12     Future._completeError (dart:async/future_impl.dart:655)
#13     Future._chainForeignFuture.<anonymous closure> (dart:async/future_impl.dart:556)
#14     _microtaskLoop (dart:async/schedule_microtask.dart:40)
#15     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
------- CUSTOM INFO -------