Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AntennaPod fails to download any files to external storage on Android 11 / SFOS 4.5 #6376

Closed
3 tasks done
ntninja opened this issue Mar 12, 2023 · 1 comment
Closed
3 tasks done
Labels
Functionality: (External) storage Type: Possible bug Issues that seem to be a bug, but haven't been confirmed yet

Comments

@ntninja
Copy link

ntninja commented Mar 12, 2023

Checklist

  • I have used the search function for open and closed issues to see if someone else has already submitted the same bug report.
  • I will describe the problem with as much detail as possible.
  • If the bug only to occurs with a certain podcast, I will include the URL of that podcast.

App version

2.7.1 (d5f0ef2)

Where did you get the app from

F-Droid

Android version

11 (really SailfishOS 4.5.0.18)

Device model

Sony Xperia X II

First occurred

After updating Android app supprt to Android 11 as part of the SailfishOS 4.5 update

Steps to reproduce

  1. Use Android 11 or later (there were no issues on Android 10)
  2. In SettingsStorageChoose Data Folder make sure an external SD Card is selected (internal storage folder works fine) – in this case the setting was unchanged from before the system update
  3. Any kind of feed or media download reports IO Error with detailed message No such file or directory

Expected behaviour

Update the feed obviously, took a really long time to figure out it wasn’t a network issue actually and where it tried to download these files to.

Current behaviour

For some reason it does detect if I manually create a directory where the feed file is supposed to be downloaded and reports this as the feed being of the wrong type as well as deleting the directory (so it obviously has write permissions to the place).

I’m starting to think it might simply not like the java.io.File.createNewFile call for some reason. It might be firmware bug, not really sure.

Logs

03-12 16:03:13.524 15610 15610 D DownloadRequestCreat: Requesting download of url https://podcast.orf.at/podcast/oe1/oe1_journale/oe1_journale.xml
03-12 16:03:13.552 15610 15610 D DownloadService: parallel downloads: 4
03-12 16:03:13.552 15610 15610 D DownloadService: Service started
03-12 16:03:13.554 15610 15610 D DownloadSvcNotification: Notification set up
03-12 16:03:13.558 176 329 D ConnectivityService: NetReassign [no changes]
03-12 16:03:13.564 15610 15610 D DownloadService: Setting up notification updater
03-12 16:03:13.567 15610 15796 D DownloadService: Received enqueue request. #requests=1
03-12 16:03:13.567 15610 15796 D DownloadService: Add new request: https://podcast.orf.at/podcast/oe1/oe1_journale/oe1_journale.xml
03-12 16:03:13.569 15610 15796 D DownloadService: 1 downloads left
03-12 16:03:13.569 15610 15796 D DBReader: getQueueIDList() called
03-12 16:03:13.570 176 6853 I WifiService: acquireWifiLock uid=10039 lockMode=1
03-12 16:03:13.576 15610 15610 D ItemlistFragment: onEventMainThread() called with: event = [DownloadEvent{update=DownloaderUpdate{downloaders=[de.danoeh.antennapod.core.service.download.HttpDownloader@288c53b], feedIds=[15], mediaIds=[]}}]
03-12 16:03:13.594 15610 15610 D FeedMenuHandler: Preparing options menu
03-12 16:03:13.716 15610 15798 D HttpDownloader: Response code is 200
03-12 16:03:13.742 608 13482 I MediaProvider: Deleted 0 items on d5c3ef56-eac1-4bd7-85cc-4c25e8ee0bd5 due to de.danoeh.antennapod
03-12 16:03:13.749 15610 15798 W System.err: java.io.IOException: No such file or directory
03-12 16:03:13.749 15610 15798 W System.err: at java.io.UnixFileSystem.createFileExclusively0(Native Method)
03-12 16:03:13.749 15610 15798 W System.err: at java.io.UnixFileSystem.createFileExclusively(UnixFileSystem.java:317)
03-12 16:03:13.749 15610 15798 W System.err: at java.io.File.createNewFile(File.java:1008)
03-12 16:03:13.749 15610 15798 W System.err: at de.danoeh.antennapod.core.service.download.HttpDownloader.download(SourceFile:137)
03-12 16:03:13.750 15610 15798 W System.err: at de.danoeh.antennapod.core.service.download.Downloader.call(SourceFile:49)
03-12 16:03:13.750 15610 15798 W System.err: at de.danoeh.antennapod.core.service.download.DownloadService.performDownload(SourceFile:285)
03-12 16:03:13.750 15610 15798 W System.err: at de.danoeh.antennapod.core.service.download.DownloadService.lambda$addNewRequest$10(SourceFile:544)
03-12 16:03:13.750 15610 15798 W System.err: at de.danoeh.antennapod.core.service.download.DownloadService.lambda$addNewRequest$10$DownloadService(Unknown Source:0)
03-12 16:03:13.750 15610 15798 W System.err: at de.danoeh.antennapod.core.service.download.-$$Lambda$DownloadService$eTC0NfSjQHIRQzg67mKkeMvV774.run(Unknown Source:4)
03-12 16:03:13.750 15610 15798 W System.err: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
03-12 16:03:13.750 15610 15798 W System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
03-12 16:03:13.750 15610 15798 W System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
03-12 16:03:13.750 15610 15798 W System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
03-12 16:03:13.750 15610 15798 W System.err: at java.lang.Thread.run(Thread.java:923)
03-12 16:03:13.751 15610 15798 D HttpDownloader: onFail() called with: reason = [ERROR_IO_ERROR], reasonDetailed = [No such file or directory]
03-12 16:03:13.759 15610 15798 D HttpDownloader: cleanup() didn't delete file: does not exist.
03-12 16:03:13.763 176 2865 I WifiService: releaseWifiLock uid=10039
03-12 16:03:13.766 15610 15798 E DownloadService: Download failed
03-12 16:03:13.767 15610 15796 D DownloadService: 0 downloads left
03-12 16:03:13.767 15610 15796 D DownloadService: Attempting shutdown
03-12 16:03:13.774 15610 15796 D DownloadService: NotificationUpdater cancelled. Result: true
03-12 16:03:13.779 15610 15610 D DownloadService: Service shutting down
03-12 16:03:13.779 15610 15610 D DownloadSvcNotification: Creating report
03-12 16:03:13.784 15610 15610 D DownloadSvcNotification: Download report notification was posted
03-12 16:03:13.788 15610 15610 D ItemlistFragment: onEventMainThread() called with: event = [DownloadEvent{update=DownloaderUpdate{downloaders=[], feedIds=[], mediaIds=[]}}]
03-12 16:03:13.798 15610 15610 D FeedMenuHandler: Preparing options menu
03-12 16:03:13.798 15610 15610 D DownloadService: NotificationUpdater cancelled. Result: false

@ntninja ntninja added the Type: Possible bug Issues that seem to be a bug, but haven't been confirmed yet label Mar 12, 2023
@ntninja
Copy link
Author

ntninja commented Mar 12, 2023

I’m starting to think it might simply not like the java.io.File.createNewFile call for some reason. It might be firmware bug, not really sure.

Made a test build from develop that skips that call and it still insists that it cannot open it…

And I also realized that even with a root shell I cannot run:

touch "/storage/d5c3ef56-eac1-4bd7-85cc-4c25e8ee0bd5/Android/data/de.danoeh.antennapod.debug/files/cache/feed-O1 Journale1"

… and it gives the same error code (No such file or directory) as is encountered by AntennaPod, while the same command with mkdir works fine. Guess it really is a firmware bug then. 🙁

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Functionality: (External) storage Type: Possible bug Issues that seem to be a bug, but haven't been confirmed yet
Projects
None yet
Development

No branches or pull requests

2 participants