cdru 0 Posted January 25, 2016 Posted January 25, 2016 [i opened a new issue in Github, but Github currently thinks I'm a new user robot so it doesn't look like it actually shows up yet so I'm also posting it here.] With the 3.0.5818 release, the Reports page is broken. When /emby/Reports/Items is called to load items filtered/sorted/whatever a server error is returned. Request URL: http://localhost:8096/emby/Reports/Items?StartIndex=0&Limit=100&IncludeItemTypes=Movie&HasQueryLimit=true&GroupBy=None&ReportView=ReportData&DisplayType=Screen&UserId=4aab1ca0204b41d693d66b434a2507c6&SortOrder=Ascending&ReportColumns=Status%7CName%7CDateAdded%7CReleaseDate%7CYear%7CGenres%7CParentalRating%7CCommunityRating%7CRuntime%7CVideo%7CResolution%7CAudio%7CSubtitles%7CTrailers%7CSpecials&SortBy=SortName Response: {"ResponseStatus":{"ErrorCode":"ArgumentException","Message":"Illegal characters in path.","StackTrace":" at System.IO.Path.GetExtension(String path)\r\n at MediaBrowser.Server.Implementations.HttpServer.SocketSharp.WebSocketSharpListener.LogRequest(ILogger logger, HttpListenerRequest request)\r\n at MediaBrowser.Server.Implementations.HttpServer.SocketSharp.WebSocketSharpListener.InitTask(HttpListenerContext context)"}} It looks like with the last set of changes in WebSocketSharpListener.cs some changes were made with regards to logging. LogRequest looks like the below now, however request.Url.ToString() returns the URL that's been URLDecoded. private static void LogRequest(ILogger logger, HttpListenerRequest request) { var url = request.Url.ToString(); var extension = Path.GetExtension(url); ... In the original url the %7C decode into a pipe character | which is an invalid character in a path on a Windows-based system (not sure on Linux or OSX). It throws an error when Path.GetExtension() is called being an invalid character. Replacing the request.Url.ToString() with request.Url.OriginalString looks like it fixes the issue. OriginalString is probably a better choice anyways with respect to logging what the actual called URL was. private static void LogRequest(ILogger logger, HttpListenerRequest request) { var url = request.Url.OriginalString; var extension = Path.GetExtension(url);
moviemadnessman 13 Posted January 25, 2016 Posted January 25, 2016 I've also noticed that reports seem to be slow/unresponsive when switching parameters (like selecting/unselecting filter options), but have found that going to another screen (like to metadata manager) then back to reports has sometimes helped to fix this. Shouldn't have to, but at least it is something. However, when trying to export the report (that's fun to say), it throws up the same bunch of errors. Here is a screenshot to hopefully aid the devs:
cdru 0 Posted January 25, 2016 Author Posted January 25, 2016 I've also noticed that reports seem to be slow/unresponsive when switching parameters (like selecting/unselecting filter options), but have found that going to another screen (like to metadata manager) then back to reports has sometimes helped to fix this. Shouldn't have to, but at least it is something. Anything that has multiple columns with the column names separated with a pipe/%7C should throw the error and not return results. If you set the filter to just a single column, the report works correctly although of limited usefulness at that point. Going to another page and then back resets the report to the initial view which does not require passing in column names, so data shows up. Paging, sorting, filtering from that point on will fail. If you inspect network requests within the browser's developer tools, you can easily see the requests that result in the status 500 errors.
santise 0 Posted January 31, 2016 Posted January 31, 2016 I have noticed the same error occurring with the | character when selecting multiple genre filters. Request url: https://localhost:8920/emby/Users/73d546068ff74bffbdef48ce94f0a9d3/Items?SortBy=SortName&SortOrder=Ascending&IncludeItemTypes=Series&Recursive=true&Fields=PrimaryImageAspectRatio%2CSortName%2CSyncInfo&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CBanner%2CThumb&StartIndex=0&Limit=100&ParentId=ed711cece30f2d4f4c4831a4955de235&Genres=Family%7CDrama& Response {"ResponseStatus":{"ErrorCode":"ArgumentException","Message":"Illegal characters in path.","StackTrace":" at System.IO.Path.GetExtension(String path)\r\n at MediaBrowser.Server.Implementations.HttpServer.SocketSharp.WebSocketSharpListener.LogRequest(ILogger logger, HttpListenerRequest request)\r\n at MediaBrowser.Server.Implementations.HttpServer.SocketSharp.WebSocketSharpListener.InitTask(HttpListenerContext context)"}}
moviemadnessman 13 Posted January 31, 2016 Posted January 31, 2016 (edited) To quote from another report thread that is recently opened (and the issue may be related): The issue will be resolved in the next release. http://emby.media/community/index.php?/topic/30672-reports-not-working/&do=findComment&comment=294223 Edited January 31, 2016 by moviemadnessman 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now