Podcasts - java.lang.NullPointerException

Need help? Post your questions here.
frooop
Posts: 4
Joined: 19 Jan 2016, 10:39
Has thanked: 0
Been thanked: 1 time

Podcasts - java.lang.NullPointerException

Unread post by frooop »

Hello,
when i try to listen to a downloaded podcast (adding and downloading seems to work fine), I get these logentries. I can't play any of my podcasts.

Code: Select all

[20.01.16 10:30]	WARN	PodcastService	Failed to resolve media file ID for podcast channel 'ARD Radio Tatort': java.lang.NullPointerException
[20.01.16 10:30]	WARN	PodcastService	Failed to resolve media file ID for podcast channel 'Chaosradio': java.lang.NullPointerException
[20.01.16 10:30]	WARN	PodcastService	Failed to resolve media file ID for podcast channel 'Methodisch inkorrekt': java.lang.NullPointerException
[20.01.16 10:30]	WARN	PodcastService	Failed to resolve media file ID for podcast channel 'Welcome to Night Vale': java.lang.NullPointerException
My music plays fine.

Whats wrong here? How can I help to solve the problem?
boco
Posts: 35
Joined: 28 Dec 2012, 23:48
Has thanked: 38 times
Been thanked: 13 times

Re: Podcasts - java.lang.NullPointerException

Unread post by boco »

I have this exact same issue.

Boco
frooop
Posts: 4
Joined: 19 Jan 2016, 10:39
Has thanked: 0
Been thanked: 1 time

Re: Podcasts - java.lang.NullPointerException

Unread post by frooop »

This problem still exists in version MADSONIC 6.0.7960.c288541.20160122.0103

I still get the NullPointerExeption and when I click "download" on one of the already downloaded podcast files, I get this error page:

Code: Select all

HTTP ERROR 400

Problem accessing /madsonic/download.view. Reason:

    Bad Request
Powered by Jetty://
frooop
Posts: 4
Joined: 19 Jan 2016, 10:39
Has thanked: 0
Been thanked: 1 time

Re: Podcasts - java.lang.NullPointerException

Unread post by frooop »

Here is the compete stacktrace of one of those errors. Maybe that helps.

Code: Select all

[2016-02-05 13:39:25,851] WARN PodcastService - Failed to resolve media file ID for podcast channel 'Welcome to Night Vale': java.lang.NullPointerException
java.lang.NullPointerException
	at org.madsonic.service.MediaFileService.createMediaFile(MediaFileService.java:918)
	at org.madsonic.service.MediaFileService.getMediaFile(MediaFileService.java:140)
	at org.madsonic.service.MediaFileService.getMediaFile(MediaFileService.java:106)
	at org.madsonic.service.PodcastService.addMediaFileIdToChannels(PodcastService.java:284)
	at org.madsonic.service.PodcastService.getAllChannels(PodcastService.java:196)
	at org.madsonic.controller.PodcastReceiverController.handleRequestInternal(PodcastReceiverController.java:60)
	at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:842)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:827)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:106)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1484)
	at org.madsonic.filter.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:47)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1484)
	at org.madsonic.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:43)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1484)
	at org.madsonic.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:54)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1484)
	at org.madsonic.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:58)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1476)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.eclipse.jetty.server.Server.handle(Server.java:370)
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:231)
	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
	at java.lang.Thread.run(Thread.java:745)
FoxBJK
Posts: 2
Joined: 22 Feb 2015, 15:23
Has thanked: 1 time
Been thanked: 2 times

Re: Podcasts - java.lang.NullPointerException

Unread post by FoxBJK »

I found the fix for this issue - you have to add your Podcasts directory as a media source, then everything works just fine. It doesn't have to be in any kind of group, it just needs to be listed as a source.
These users thanked the author FoxBJK for the post (total 2):
Madsonicgaryo
Rating: 15.38%
jsgates
Posts: 54
Joined: 22 Oct 2013, 21:53
Has thanked: 0
Been thanked: 15 times

Re: Podcasts - java.lang.NullPointerException

Unread post by jsgates »

Thank You, Thank you, Thank You! Thanks for posting the solution to this. I have been working on trying to get my Podcasts working again for over year and since a 5.x build of Madsonic. I had tried all kinds of permissions related fixes on my Linux server folders etc. It does makes sense now though. When you specify a different download location for Podcasts, I guess Madsonic needs to have it listed as a media folder as you said. I guess you don't have to do this for the default Podcast download folder location since Madsonic/Subsonic will look there by default, and therefore that default path isn't listed in the media folders. I am wondering if this affects Subsonic as well as Madsonic. If it's not in Subsonic, but is in Madsonic, then there probably just needs to be a note added to the Podcast Settings page stating that you need to add the path to your Media folders (or the Podcasts directory should be shown by default in the media folders). Thanks again! I thought I was crazy!
Post Reply