Subscriptions not loading, loading icon spins indefinitely

App version: 3.9.0

Android version: 13 One UI version 5.1

Device model: Samsung Galaxy S20 5G

Expected behaviour: Clicking “Subscriptions” either in the home page or from the side menu loads a list of subscriptions

Current behaviour: Loading spinning icon appears and spins indefinitely, haven’t been able to see my list of subscriptions

First occurred: since last update

Steps to reproduce:

  1. Homepage: click Subscriptions
  2. Or Left menu: click Subscriptions

Environment: n/a

Crash info: n/a

That sounds like something is crashing internally. Would you mind sending me the logs (settings → report bug) to info@<my username>.com?

Thanks for looking into this! I opened (settings > report bug) but it says “No crash report recorded” (I had reproduced the bug right before).

There are 3 dots at the top where you can still export the logs even if it is not a “fatal” crash

It looks like one of your subscriptions somehow has a broken (null) title. Did you recently import an opml file?

For reference, the relevant part of the logs is this:

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
	at java.lang.String$CaseInsensitiveComparator.compare(String.java:1541)
	at java.lang.String$CaseInsensitiveComparator.compare(String.java:1523)
	at java.lang.String.compareToIgnoreCase(String.java:1587)
	at de.danoeh.antennapod.storage.database.DBReader.lambda$getNavDrawerData$0(SourceFile:691)
	at de.danoeh.antennapod.storage.database.DBReader.$r8$lambda$GO3z1z5_hW5Keth2Lq8AfuH5Vec(SourceFile:0)
	at de.danoeh.antennapod.storage.database.DBReader$$ExternalSyntheticLambda0.compare(SourceFile:0)
	at java.util.TimSort.binarySort(TimSort.java:296)
	at java.util.TimSort.sort(TimSort.java:221)
	at java.util.Arrays.sort(Arrays.java:1352)
	at java.util.ArrayList.sort(ArrayList.java:1821)
	at java.util.Collections.sort(Collections.java:207)
	at de.danoeh.antennapod.storage.database.DBReader.getNavDrawerData(SourceFile:735)
	at de.danoeh.antennapod.ui.screen.drawer.NavDrawerFragment.lambda$loadData$3(SourceFile:409)
	at de.danoeh.antennapod.ui.screen.drawer.NavDrawerFragment.$r8$lambda$FnYY13DutK2DZynhgnzNu3PSiaw(SourceFile:0)
	at de.danoeh.antennapod.ui.screen.drawer.NavDrawerFragment$$ExternalSyntheticLambda3.call(SourceFile:0)
	at io.reactivex.internal.operators.observable.ObservableFromCallable.subscribeActual(SourceFile:43)
	at io.reactivex.Observable.subscribe(SourceFile:12246)
	at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(SourceFile:96)
	at io.reactivex.Scheduler$DisposeTask.run(SourceFile:578)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(SourceFile:66)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(SourceFile:57)
	at java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:348)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
	at java.lang.Thread.run(Thread.java:1119)

apologies for the late response, for some reason had expected the response over email.

no, I never imported an opml file, only added podcasts through search/subscribe. I do have many Arabic podcasts tho, and that’s where my mind is going as to the cause of the problem.

any suggestions? one way to debug is to unsubscribe from podcasts one by one (rather painful).

bumping this up so the post doesn’t get closed!