Page 1 of 1

4.8.3360.beta3 Last.FM exception

PostPosted: Wed Mar 27, 2013 5:52 pm
by TheWarden
Hi,

Thought I'd report this exception I get when updating my library with the new "Sync Madsonic Artist Summary from Last.FM" option.

Code: Select all
Exception   net.sourceforge.subsonic.lastfm.CallException
Message   org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 55; The entity name must immediately follow the '&' in the entity reference.
Java version   Oracle Corporation 1.7.0_10
Operating system   Linux 2.6.33.2
Server   jetty-6.1.x
Memory   Used 135 of 201 MB
Stack trace   net.sourceforge.subsonic.lastfm.CallException: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 55; The entity name must immediately follow the '&' in the entity reference.
   at net.sourceforge.subsonic.lastfm.Caller.call(Caller.java:276)
   at net.sourceforge.subsonic.lastfm.Caller.call(Caller.java:192)
   at net.sourceforge.subsonic.lastfm.Artist.getImages(Artist.java:402)
   at net.sourceforge.subsonic.service.LastFMService.startImportLastFMArtist(LastFMService.java:234)
   at net.sourceforge.subsonic.controller.LastFMSettingsController.handleRequestInternal(LastFMSettingsController.java:69)
   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:875)
   at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
   at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
   at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
   at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
   at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
   at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
   at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
   at net.sourceforge.subsonic.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:43)
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
   at net.sourceforge.subsonic.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:54)
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
   at net.sourceforge.subsonic.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:54)
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
   at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
   at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
   at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
   at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
   at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
   at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
   at org.mortbay.jetty.Server.handle(Server.java:313)
   at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
   at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
   at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
   at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
   at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
   at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
   at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
Caused by: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 55; The entity name must immediately follow the '&' in the entity reference.
   at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
   at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
   at net.sourceforge.subsonic.lastfm.Caller.createResultFromInputStream(Caller.java:332)
   at net.sourceforge.subsonic.lastfm.Caller.call(Caller.java:264)
   ... 57 more


Re: 4.8.3360.beta3 Last.FM exception

PostPosted: Wed Mar 27, 2013 6:21 pm
by bushman4
Madsonic's Last.fm module does not correctly encode some special characters in artists names when making the query, in this case the ampersand (&).

Until he fixes that, the only workaround is to remove the ampersands from artist names...

A real bummer, because I don't get my details "Hall & Oats" biography... :wink:

Glenn

Re: 4.8.3360.beta3 Last.FM exception

PostPosted: Sat Apr 13, 2013 8:56 pm
by larry.hanks
Would having an ampersand in your collection break all of the Last.FM features within MadSonic or would the system carry on and just ignore music that includes an ampersand?

The reason I ask is I can get my played music to register with last.fm but when I click the last.fm button on the top of the madsonic window, there is nothing on the window that appears. It just has the titles of each column (Loved Tracks, Top Albums, Top Artists, Top Tags) but no data under that.

When I've installed this I've tried it with upgrading from my existing version (4.8.332), installing with a fresh install and database, on a completely fresh install of Windows2008R2 and none of that seems to work. Everytime it's the same thing. I haven't noticed anything in the web-interface log file.

Is there more than one log file I should be looking at?

Any help would be appreciated.