Problem fetching podcast

Need help? Post your questions here.

Moderator: moderators

Problem fetching podcast

Postby otakucode » Sun Jan 29, 2012 4:19 pm

This issue has been posted about previously, but I have some more specific information that I think would make fixing this issue fairly easy.

Basically, the problem is that Subsonic does not support fetching podcasts which require HTTP Auth to download. Even if you properly include the username and password in the URL given to Subsonic, Subsonic will fail with a NullPointerException when it tries to update the podcast.

Here is what is generated in the Subsonic log:

Code: Select all
[2012-01-29 10:32:24,598] WARN PodcastService - Failed to get/parse RSS file for Podcast channel http://USERNAME:PASSWORD@www.superfreaksideshow.com/members2/show/?feed=rss2
java.lang.NullPointerException
        at net.sourceforge.subsonic.service.PodcastService.doRefreshChannel(PodcastService.java:257)
        at net.sourceforge.subsonic.service.PodcastService.access$100(PodcastService.java:67)
        at net.sourceforge.subsonic.service.PodcastService$3.run(PodcastService.java:230)        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)


I've removed my username/password of course.

I grabbed the source and went looking, expecting this to be a fairly obvious bug (I presumed subsonic must have been trying to parse the URL and the 'extra' colon would be giving it heartburn). That doesn't seem to be the case, however. This is the line of code which is throwing the exception:

Code: Select all
channel.setTitle(channelElement.getChildTextTrim("title"));


The channel object is accessed earlier in the function, so it's not null. The channelElement shouldn't be null because the XML is well-formed and there is a <channel> element. It does include a <title> node inside of it too, so getChildTextTrim should be returning non-null as well. But, clearly, one of these things is not true.

It looks to me like it is very, very close to working, but for some reason the XML parsing is screwing up. Strange, because when I use wget on the commandline to snatch the feeds contents, everything looks kosher. Here is the top bit of the XML, down to the <title> element. Since the document.getRootElement().getChild("channel") call a couple lines before the crash does not fail, it must be loading the document OK and getting the root element OK.

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
        xmlns:content="http://purl.org/rss/1.0/modules/content/"
        xmlns:wfw="http://wellformedweb.org/CommentAPI/"
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:atom="http://www.w3.org/2005/Atom"
        xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
        xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
                xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
        xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>        <title>Superfreak Sideshow</title>


I would really appreciate having this issue fixed. If there is some change I can make to fix it temporarily until a new release is put together, please let me know!

Thanks,
otakucode
otakucode
 
Posts: 4
Joined: Sun Jan 29, 2012 3:54 pm

Return to Help

Who is online

Users browsing this forum: No registered users and 23 guests