Jump to content

Losing connection to server when it's been connected for awhile


Luke

Recommended Posts

above1

Ever since moving toward the latest beta, the server will occasionally stop responding to requests.   Stopping and starting up the server service is the only way to get it to respond to client request once again.

 

 

Beta Server Version:  3.0.5309.26857

 

Log:

2014-07-17 06:08:19.4761 Info - App: HttpClientManager POST: http://192.168.1.121:8324/mediabrowser/message/Ping
2014-07-17 06:09:19.4763 Info - App: HttpClientManager POST: http://192.168.1.121:8324/mediabrowser/message/Ping
2014-07-17 06:10:19.4765 Info - App: HttpClientManager POST: http://192.168.1.121:8324/mediabrowser/message/Ping
2014-07-17 06:10:23.8672 Error - App: Error getting response from http://192.168.1.121:8324/mediabrowser/message/Ping
The underlying connection was closed: An unexpected error occurred on a receive.
System.Net.WebException
  at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
  at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
  at MediaBrowser.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsync>d__7.MoveNext()
InnerException: System.IO.IOException
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
  at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
  at System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size)
  at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead)
InnerException: System.Net.Sockets.SocketException
An existing connection was forcibly closed by the remote host
  at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
  at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
 
 
The .121 device is my Roku running the latest beta release as well.
Link to comment
Share on other sites

above1

I try to open the web client and it does not respond.   I try to launch the ROKU MB client and it to does not respond.  

 

It starts to respond once I restart the service.

Edited by above1
Link to comment
Share on other sites

above1

This morning again, I have the MB server not responding to the ROKU client and the web client will not come up.   I am able to open the log viewer and it comes up.  I do not know how the inner workings of MB server work, but it seems that the web server and/or web services stop working.   Event viewer does not show anything definitive nor does the log on MB server.  

 

above1

Link to comment
Share on other sites

I actually had this happen to me right after the last update went to Release status.  I couldn't figure out what was going on.  Thought my server machine had crashed when MBC wouldn't come up but found the machine running and the MB server running but just being completely un-responsive to http requests.

 

The tray menu was responsive and re-starting the server from that cleared it up.  I was an idiot user and didn't set aside the log because I still wasn't sure it wasn't just an anomaly with my server machine (which has been known to freeze up).  If it happens again, I'll be sure to investigate further.

Link to comment
Share on other sites

2014-07-18 22:07:34.6157 Error - App: Error getting response from http://192.168.1.239:8324/mediabrowser/message/Ping
	The operation has timed out
	System.Net.WebException
	   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
	   at MediaBrowser.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsync>d__7.MoveNext()
	
2014-07-18 22:07:34.6157 Debug - App: Disposing session controller HttpSessionController
2014-07-18 22:07:46.4007 Debug - HttpServer: HTTP GET http://192.168.1.253:8096/mediabrowser/Videos/381f88f92902c96b07ecd660833f905e/master.m3u8?deviceid=1GJ37M000975&audiochannels=6&audiobitrate=256000&timestampoffsetms=0&audiocodec=ac3&videocodec=h264
2014-07-18 22:07:46.4367 Debug - Dlna: No matching device profile found. The default will be used. User-agent: Roku/DVP-5.5 (045.05E00319A). 
2014-07-18 22:07:46.4367 Debug - HttpServer: HTTP Response 200 to 192.168.1.239. Response time: 38 ms.
	Url: http://192.168.1.253:8096/mediabrowser/Videos/381f88f92902c96b07ecd660833f905e/master.m3u8?deviceid=1GJ37M000975&audiochannels=6&audiobitrate=256000&timestampoffsetms=0&audiocodec=ac3&videocodec=h264
2014-07-18 22:07:46.4367 Debug - HttpServer: HTTP GET http://192.168.1.253:8096/mediabrowser/Videos/381f88f92902c96b07ecd660833f905e/main.m3u8?deviceid=1GJ37M000975&audiochannels=6&audiobitrate=256000&timestampoffsetms=0&audiocodec=ac3&videocodec=h264
2014-07-18 22:07:46.4527 Debug - Dlna: No matching device profile found. The default will be used. User-agent: Roku/DVP-5.5 (045.05E00319A). 
2014-07-18 22:07:46.4527 Debug - HttpServer: HTTP GET http://192.168.1.253:8096/mediabrowser/Videos/381f88f92902c96b07ecd660833f905e/hlsdynamic/main/0.ts?deviceid=1GJ37M000975&audiochannels=6&audiobitrate=256000&timestampoffsetms=0&audiocodec=ac3&videocodec=h264
2014-07-18 22:07:46.4787 Debug - Dlna: No matching device profile found. The default will be used. User-agent: Roku/DVP-5.5 (045.05E00319A). 
2014-07-18 22:07:46.4787 Info - App: C:\Users\speechles\AppData\Roaming\MediaBrowser-Server\ffmpeg\20140612\ffmpeg.exe -fflags +genpts -i file:"F:\-- Movies\The Other Woman (2014)\The.Other.Woman.2014.720p.BluRay.x264.YIFY-trailer.mov" -map_metadata -1 -threads 2 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -bsf h264_mp4toannexb -copyts -flags -global_header -codec:a:0 ac3 -ac 6 -ab 256000 -af "adelay=1,aresample=async=1" -hls_time 7 -start_number 0 -hls_list_size 1440 -y "C:\Users\speechles\AppData\Roaming\MediaBrowser-Server\transcoding-temp\7514b6b63200d257bf063c1826edbf84.m3u8"
2014-07-18 22:07:46.4837 Debug - HttpServer: HTTP POST http://192.168.1.253:8096/mediabrowser/Sessions/Playing?itemId=381f88f92902c96b07ecd660833f905e&PositionTicks=00000000&isPaused=false&canSeek=true&PlayMethod=streamcopy&QueueableMediaTypes=Video&MediaSourceId=
2014-07-18 22:07:46.8877 Error - HttpAsyncTaskHandler: Error occured while Processing Request: Unable to bind request
	Unable to bind request
	ServiceStack.Host.RequestBindingException
	   at ServiceStack.Host.RestHandler.GetRequest(IRequest httpReq, IRestPath restPath)
	   at ServiceStack.Host.RestHandler.ProcessRequestAsync(IRequest httpReq, IResponse httpRes, String operationName)
	InnerException: System.Runtime.Serialization.SerializationException
	KeyValueDataContractDeserializer: Error converting to type: Requested value 'streamcopy' was not found.
	propertyName: PlayMethod
	propertyValueString: streamcopy
	propertyType: MediaBrowser.Model.Session.PlayMethod
	   at ServiceStack.Serialization.StringMapTypeDeserializer.PopulateFromMap(Object instance, IDictionary`2 keyValuePairs, List`1 ignoredWarningsOnPropertyNames)
	   at ServiceStack.Host.RestPath.CreateRequest(String pathInfo, Dictionary`2 queryStringAndFormData, Object fromInstance)
	   at ServiceStack.Host.RestHandler.GetRequest(IRequest httpReq, IRestPath restPath)
	InnerException: System.ArgumentException
	Requested value 'streamcopy' was not found.
	   at System.Enum.EnumResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument)
	   at System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult)
	   at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
	   at ServiceStack.Text.Common.JsReader`1.<>c__DisplayClassb`1.<GetCoreParseFn>b__5(String x)
	   at ServiceStack.Serialization.StringMapTypeDeserializer.PopulateFromMap(Object instance, IDictionary`2 keyValuePairs, List`1 ignoredWarningsOnPropertyNames)

239 is the roku, 253 is the mb3 server.

 

When this happens you can still see images that were cached. This are still displayed on screen, any not cached are showing as the "loading icons". Oddly can still direct play video, even on videos that now won't display their images properly. Playing transcoded video when the server is in this state causes the video to stall with the 15% blue bar or so, and loading... permanently on screen.

 

Eventually the roku client crashes off to cant find a mediabrowser server screen. At this point no client can connect to the server. Forcing a reboot is the only way to save it. The dash icon will still let you reboot. The browser server/dashboard page never responds and will hang the browser.

Link to comment
Share on other sites

2014-07-18 22:07:34.6157 Error - App: Error getting response from http://192.168.1.239:8324/mediabrowser/message/Ping
	The operation has timed out
	System.Net.WebException
	   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
	   at MediaBrowser.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsync>d__7.MoveNext()
	
2014-07-18 22:07:34.6157 Debug - App: Disposing session controller HttpSessionController
2014-07-18 22:07:46.4007 Debug - HttpServer: HTTP GET http://192.168.1.253:8096/mediabrowser/Videos/381f88f92902c96b07ecd660833f905e/master.m3u8?deviceid=1GJ37M000975&audiochannels=6&audiobitrate=256000&timestampoffsetms=0&audiocodec=ac3&videocodec=h264
2014-07-18 22:07:46.4367 Debug - Dlna: No matching device profile found. The default will be used. User-agent: Roku/DVP-5.5 (045.05E00319A). 
2014-07-18 22:07:46.4367 Debug - HttpServer: HTTP Response 200 to 192.168.1.239. Response time: 38 ms.
	Url: http://192.168.1.253:8096/mediabrowser/Videos/381f88f92902c96b07ecd660833f905e/master.m3u8?deviceid=1GJ37M000975&audiochannels=6&audiobitrate=256000&timestampoffsetms=0&audiocodec=ac3&videocodec=h264
2014-07-18 22:07:46.4367 Debug - HttpServer: HTTP GET http://192.168.1.253:8096/mediabrowser/Videos/381f88f92902c96b07ecd660833f905e/main.m3u8?deviceid=1GJ37M000975&audiochannels=6&audiobitrate=256000&timestampoffsetms=0&audiocodec=ac3&videocodec=h264
2014-07-18 22:07:46.4527 Debug - Dlna: No matching device profile found. The default will be used. User-agent: Roku/DVP-5.5 (045.05E00319A). 
2014-07-18 22:07:46.4527 Debug - HttpServer: HTTP GET http://192.168.1.253:8096/mediabrowser/Videos/381f88f92902c96b07ecd660833f905e/hlsdynamic/main/0.ts?deviceid=1GJ37M000975&audiochannels=6&audiobitrate=256000&timestampoffsetms=0&audiocodec=ac3&videocodec=h264
2014-07-18 22:07:46.4787 Debug - Dlna: No matching device profile found. The default will be used. User-agent: Roku/DVP-5.5 (045.05E00319A). 
2014-07-18 22:07:46.4787 Info - App: C:\Users\speechles\AppData\Roaming\MediaBrowser-Server\ffmpeg\20140612\ffmpeg.exe -fflags +genpts -i file:"F:\-- Movies\The Other Woman (2014)\The.Other.Woman.2014.720p.BluRay.x264.YIFY-trailer.mov" -map_metadata -1 -threads 2 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -bsf h264_mp4toannexb -copyts -flags -global_header -codec:a:0 ac3 -ac 6 -ab 256000 -af "adelay=1,aresample=async=1" -hls_time 7 -start_number 0 -hls_list_size 1440 -y "C:\Users\speechles\AppData\Roaming\MediaBrowser-Server\transcoding-temp\7514b6b63200d257bf063c1826edbf84.m3u8"
2014-07-18 22:07:46.4837 Debug - HttpServer: HTTP POST http://192.168.1.253:8096/mediabrowser/Sessions/Playing?itemId=381f88f92902c96b07ecd660833f905e&PositionTicks=00000000&isPaused=false&canSeek=true&PlayMethod=streamcopy&QueueableMediaTypes=Video&MediaSourceId=
2014-07-18 22:07:46.8877 Error - HttpAsyncTaskHandler: Error occured while Processing Request: Unable to bind request
	Unable to bind request
	ServiceStack.Host.RequestBindingException
	   at ServiceStack.Host.RestHandler.GetRequest(IRequest httpReq, IRestPath restPath)
	   at ServiceStack.Host.RestHandler.ProcessRequestAsync(IRequest httpReq, IResponse httpRes, String operationName)
	InnerException: System.Runtime.Serialization.SerializationException
	KeyValueDataContractDeserializer: Error converting to type: Requested value 'streamcopy' was not found.
	propertyName: PlayMethod
	propertyValueString: streamcopy
	propertyType: MediaBrowser.Model.Session.PlayMethod
	   at ServiceStack.Serialization.StringMapTypeDeserializer.PopulateFromMap(Object instance, IDictionary`2 keyValuePairs, List`1 ignoredWarningsOnPropertyNames)
	   at ServiceStack.Host.RestPath.CreateRequest(String pathInfo, Dictionary`2 queryStringAndFormData, Object fromInstance)
	   at ServiceStack.Host.RestHandler.GetRequest(IRequest httpReq, IRestPath restPath)
	InnerException: System.ArgumentException
	Requested value 'streamcopy' was not found.
	   at System.Enum.EnumResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument)
	   at System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult)
	   at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
	   at ServiceStack.Text.Common.JsReader`1.<>c__DisplayClassb`1.<GetCoreParseFn>b__5(String x)
	   at ServiceStack.Serialization.StringMapTypeDeserializer.PopulateFromMap(Object instance, IDictionary`2 keyValuePairs, List`1 ignoredWarningsOnPropertyNames)

239 is the roku, 253 is the mb3 server.

 

When this happens you can still see images that were cached. This are still displayed on screen, any not cached are showing as the "loading icons". Oddly can still direct play video, even on videos that now won't display their images properly. Playing transcoded video when the server is in this state causes the video to stall with the 15% blue bar or so, and loading... permanently on screen.

 

Eventually the roku client crashes off to cant find a mediabrowser server screen. At this point no client can connect to the server. Forcing a reboot is the only way to save it. The dash icon will still let you reboot. The browser server/dashboard page never responds and will hang the browser.

 

 

well i don't know what roku app you're using there but that's not the official one. whatever that is isnt' using the api correctly.

Link to comment
Share on other sites

@@Luke

You may have hit the nail on the head. Perhaps this is why I always prefer the official client with its lightening fast interface.

 

@@im85288 had this ( http://mediabrowser.tv/community/index.php?/topic/8503-mb-media-centre-goes-free/ ) and my daughter uses it for the extra eye candy. In my case this could be the culprit.

 

Sent from my Nexus 7 using Tapatalk

Link to comment
Share on other sites

im85288

@@im85288 had this ( http://mediabrowser.tv/community/index.php?/topic/8503-mb-media-centre-goes-free/ ) and my daughter uses it for the extra eye candy. In my case this could be the culprit.

Sent from my Nexus 7 using Tapatalk

Your daughter has good taste. Maybe best to stick to the lightning fast version to avoid these discrepancies.

 

I will be looking into the new HLS API in more detail at a later stage though.

Edited by im85288
Link to comment
Share on other sites

@@Luke

okay, caused same scenario this time. I had only been using your official roku client. This is the part of the log from ping failure to me realizing it's in this state this morning and telling the tray icon for mb3 to restart. It appears this happens when the roku is in it's screen saver mode and it is bouncing the mb3 logo around. I noticed when a video is paused which is transcoded and sleep happens while the video remains paused, the bouncing logo is the native roku one chosen instead. That isn't why I posted though as that part is trivial. I don't like to restart the server every morning. :)

 

here's the logs:

http://paste2.org/V8p05tIF

 

@@im85288

wasnt meant as a put down what I said in regards to speed. My daughter loves all these little extra details and reading about the movies and tv-shows prior to watching them. She has more patience than I do. :)

Edited by speechles
Link to comment
Share on other sites

The roku Ping message failures are perfectly normal. It means the roku has stopped listening for commands which usually means it has idled or the app was exited. 

Link to comment
Share on other sites

above1

So yesterday the web server was not responding.   The web client would not come up, The roku would not connect. 

 

So I did what I previously said I would.   I stopped the server, copied the Cache, Config, and root directories from the appdata/roaming folder out. 

Uninstalled MB3 completely from the system. Rebooted and reinstalled.   Again stopped the server and copied back the required directories with all my info and settings. 

This morning, no issues.   Everything comes up fine and works perfectly.  

 

Something happened to the system in which I'll never know what it was, but I am happy that it did not occur this morning.  Hopefully it won't occur any longer.

 

above1

Link to comment
Share on other sites

I'm not sure we can say this is solved yet as we still don't really know what was going on here.  But, we may never know...

Link to comment
Share on other sites

Crestj

I have just started seeing this behaviour myself.

Exactly the same issue described.

Server version : 3.0.5309.26857

 

Only clients are MB classic (which seems fine during hang) and official Android Client for mobiles and tablets.

As you've said, a restart of the server app from the tray menu fixes it but it does mean you have to remote desktop into the server which is a bit of a pain.

If you need MORE logs, I can post them.

Link to comment
Share on other sites

above1

I just re-experienced it this morning again.   it went fine the last few days but this morning, no response from the web client.   I logged in locally and tried to run the web client locally and nada.

 

Restarting the media browser service was my only option to get it back.   

 

I looked at the logs and see nothing.   If there any place I can look at to see info about the web server/service?

 

above1

Link to comment
Share on other sites

Hmmm... you said you have a Roku, right?

 

And then there is this post from Jon: http://mediabrowser.tv/community/index.php?/topic/8001-media-browser-for-roku-beta-channel/?p=117556

 

And this happened to me the week my kids were here (and using the Roku) but hasn't happened since (I never use the Roku).

 

Maybe coincidence, maybe not.

Link to comment
Share on other sites

Appears related to when trailers won't play locally. I can recreate the problem easily on the roku with certain trailers. Crestj do you have trailers?

 

Sent from my Nexus 7 using Tapatalk

Link to comment
Share on other sites

I would like to say we have something in common which should narrow this down. I only use the local trailer plugin. I need to figure out exact steps to recreate this first, without involve the roku. The roku is just best at exposing the issue for me. Trailers that haven't fully downloaded are not the issue. The ones not entirely downloaded play as partials on android. Roku just stays at loading with a small blue bar. When the server stops responding all my android tablets, the roku, and the mediabrowser server dashboard stop responding. Only the tray icon is responding. This allows restarting without having to manually kill the task.

 

Sent from my Nexus 7 using Tapatalk

Edited by speechles
Link to comment
Share on other sites

Okay, the Roku itself may be a red herring but maybe it is related to transcoding certain types of content - something I almost never will do in my setup other than via the Roku (when my kids are here).

Link to comment
Share on other sites

above1

I usually leave the ROKU connected to MB server.    I'll make sure to test tonight and have the ROKU disconnected from the server.   

 

At least I'm not the only one reporting a issue. :)

 

above1

Link to comment
Share on other sites

I noticed this problem back when I was side-loading the git releases of the Roku client.  I'm not quite sure how to reproduce it, but basically, the server will become non-responsive and no longer accessible by any device until I manually restart the MB3 Server.

 

Prior to the Roku 1.21-current 1.23 official releases, I had no issues.  If there's any pattern at all it seems to occur after I finish watching a show.  It does not seem to matter if the show is transcoded or direct played.  It does not happen every time either.  I don't recall this ever happening in the now unofficial releases.

 

The server is a Dell 2950 with dual quad-core 2.66GHz Xeons and 16GB of memory on a SCSI disk subsystem.  It's plenty fast enough.  I've attached the server log.  Not sure if you need the last transcode log or not...last show watched was last night and it finished fine.

 

Server is Version 3.0.5309.26857.

server-63541756800.txt

Edited by Jon
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...