Last.FM

Madsonic Mashup Mod is a fork of the Subsonic 4.7 Server Build 3090 with some Subsonic Data schema modifications!

Moderator: moderators

Last.FM

Postby pabohoney1 » Mon Feb 18, 2013 2:36 pm

I'm getting an error when I use the new Sync Madsonic Artist Summary from Last.FM. It made it part way through H then stopped. Library stats:

540 all artists
335 album artists
847 albums
128 genres
13,307 songs
767.48 GB (~ 2,027 hours)

The first time I ran it, it took some time then threw the error. Now when I try and do it, it immediately gives the error.

Code: Select all
Error

Subsonic encountered an internal error. You can report this error in the Subsonic Forum. Please include the information below.
Exception    net.sourceforge.subsonic.lastfm.CallException
Message    org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 50; The reference to entity "M" must end with the ';' delimiter.
Java version    Oracle Corporation 1.7.0_09-icedtea
Operating system    Linux 2.6.32-279.14.1.el6.x86_64
Server    jetty-6.1.x
Memory    Used 102 of 122 MB
Stack trace    net.sourceforge.subsonic.lastfm.CallException: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 50; The reference to entity "M" must end with the ';' delimiter. 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:233) 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: 50; The reference to entity "M" must end with the ';' delimiter. 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
pabohoney1
 
Posts: 6
Joined: Wed Dec 26, 2012 9:47 pm

Re: Last.FM

Postby Plasmus » Fri Mar 08, 2013 1:56 am

Got the same exact error, only gets information up to and including H artists.

Code: Select all
Exception    net.sourceforge.subsonic.lastfm.CallException
Message    org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 50; The reference to entity "M" must end with the ';' delimiter.
Java version    Oracle Corporation 1.7.0_15
Operating system    Windows 7 6.1
Server    jetty-6.1.x
Memory    Used 213 of 236 MB
Stack trace    net.sourceforge.subsonic.lastfm.CallException: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 50; The reference to entity "M" must end with the ';' delimiter. 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: 50; The reference to entity "M" must end with the ';' delimiter. 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
Plasmus
 
Posts: 3
Joined: Fri Feb 19, 2010 11:06 pm

Re: Last.FM

Postby MadEvil » Tue Mar 12, 2013 9:35 pm

this was caused from an invalid character in the Artist Name.

Have you read the logs for the Artist Name ?

if you can find any other special characters so i can exclude this in the query

best regards
Madsonic Developer
User avatar
MadEvil
 
Posts: 354
Joined: Wed Nov 09, 2011 8:35 pm
Location: Vienna

Re: Last.FM

Postby bushman4 » Wed Mar 13, 2013 2:44 am

Happens to me when there is an ampersand (&).

"Hall & Oats"

Perhaps replace "&" with "and"?

Glenn
Glenn Sullivan
Subsonic 6.1.6 (Unraid Docker)
90 regular Subsonic Users

Library as of 2024-10-28:
4,527 artists
19,996 albums
282,151 songs
10201.40 GB
41,583 hours
User avatar
bushman4
 
Posts: 874
Joined: Thu Dec 02, 2010 1:47 pm
Location: Massachusetts, USA

Re: Last.FM

Postby hakko » Wed Mar 13, 2013 7:03 am

You probably want to encode your last.fm request parameters. see http://illegalargumentexception.blogspo ... d-url.html

So you don't replace "&" with "and" for example, you just make sure the & character is properly URL-escaped by using pre-defined library functions. I use URIBuilder since I use the Apache HTTP library for example.
MusicCabinet developer
hakko
 
Posts: 1416
Joined: Tue Apr 17, 2012 7:05 pm
Location: Sweden

Re: Last.FM

Postby pabohoney1 » Wed Mar 13, 2013 7:49 pm

The '&' is definitely the culprit, but it doesn't just have to be in the Artist Name. My Metallica - S&M double disc set caused an issue. The file structure:

Metallica
|-S&M
| |-Disc 1
| |-Disc 2


I also discovered that S&M is an Albumset when I was in editing tags:

## MediaType ALBUMSET: S&M - Disk2

So if the Albumset has an & it will also cause an issue. I have some other albums causing this problem as well and I'll update when I find out why.
pabohoney1
 
Posts: 6
Joined: Wed Dec 26, 2012 9:47 pm

Re: Last.FM

Postby Plasmus » Thu Mar 14, 2013 12:07 am

Yea had some &s in my music collection.
Thanks
Plasmus
 
Posts: 3
Joined: Fri Feb 19, 2010 11:06 pm


Return to Madsonic

Who is online

Users browsing this forum: No registered users and 22 guests