Jump to content

Recommended Posts

Wait, really? How far do you get? Where can I find the service stack fixes?

I've been running mb3 in Linux for a couple of days. Almost everything I've tried work(streaming, chapter image extraction,...).

 

It fix Mono's Attribute.GetHashCode generating a stackoverflow exception when using ServiceStack v4. See https://github.com/mono/mono/commit/850dd016781e523b5c80b9eb69db5a63a03b585f

 

See post #47 for more info.

 

Here's a snippet from the server log: http://pastebin.com/e9h5L7Sn

Edited by abeloin
  • Like 1
Link to post
Share on other sites

I've been running mb3 in Linux for a couple of days. Almost everything I've tried work(streaming, chapter image extraction,...).

 

It fix Mono's Attribute.GetHashCode generating a stackoverflow exception when using ServiceStack v4. See https://github.com/mono/mono/commit/850dd016781e523b5c80b9eb69db5a63a03b585f

 

See post #47 for more info.

 

Here's a snippet from the server log: http://pastebin.com/e9h5L7Sn

 

Well that is fantastic. I thought we would be stuck waiting for Demis to resolve the issues. 

Link to post
Share on other sites

For those interested, current Mono and MonoDevelop for all major Linux Distributions:

http://www.pokorra.de/2013/12/easy-installation-of-current-mono-and-monodevelop-for-all-major-linux-distributions/

 

Though MB3 still won't run in Linux because of an issue between SSv4 and mono(still not fixed in 3.2.6) which can be fixed by patching mono with this:

https://github.com/mono/mono/commit/850dd016781e523b5c80b9eb69db5a63a03b585f

 

Here's some changes to MB3 source code to make it compile and run on Linux(and Windows)

http://pastebin.com/3THvwvXk

 

 

can you put these into a pull request?

Link to post
Share on other sites

Done. Pull request #652 https://github.com/MediaBrowser/MediaBrowser/pull/652

 

Here a more complete guide to compile MediaBrowser in Linux

 1. git clone https://github.com/MediaBrowser/MediaBrowser.git

 2. Nuget (Cert, update and restore), open cli to cloned git repo:

    2.1 cd .nuget

    2.2 mozroots --import --sync

    2.3 mono NuGet.exe update -self

    2.4 cd ..

    2.5 mono .nuget/NuGet.exe restore MediaBrowser.Mono.sln

 3. Download sqlite3.dll from http://www.sqlite.org/2013/sqlite-dll-win32-x86-3080200.zip

 4. Copy sqlite3.dll from the archive into MediaBrowser.Server.Mono folder

 5. Open MediaBrowser.Mono.sln in Monodevelop

 6. Choose "Release Mono"

 7. Run -> Start Without Debugging (Ctrl+F5) or Build -> Build All (F8)

 

why is the sqlite3 download needed? We already include that for the mono solution

Link to post
Share on other sites

can you put these into a pull request?

 

Done. Pull request #652 https://github.com/MediaBrowser/MediaBrowser/pull/652

 

Here a more complete guide to compile MediaBrowser in Linux

 1. git clone https://github.com/MediaBrowser/MediaBrowser.git

 2. Nuget (Cert, update and restore), open cli to cloned git repo:

    2.1 cd .nuget

    2.2 mozroots --import --sync

    2.3 mono NuGet.exe update -self

    2.4 cd ..

    2.5 mono .nuget/NuGet.exe restore MediaBrowser.Mono.sln

 3. Open MediaBrowser.Mono.sln in Monodevelop

 4. Choose "Release Mono"

 5. Run -> Start Without Debugging (Ctrl+F5) or Build -> Build All (F8)

 

Edit: Removed sqlite3.dll part

Edited by abeloin
  • Like 1
Link to post
Share on other sites

Since we've gotten a little further, to anyone who wants to test -

 

I can provide a build for the linux server, but you will have to be capable of not only installing mono, but building it as well.

 

@@abeloin

 

can you verify these updated instructions, assuming I provide a build for testers:

 

  1. Rebuild Pokorra's Mono src rpms with patch for servicestack v4 issue
  2. Instal Mono, libgdi+
Link to post
Share on other sites
Beardyname

@@Luke should i Contact you through a pm or something to get my hand on this bild :) ? I built mono with the servicestack fix yesterday, but have not intalled mono-dev yet.

Edited by plumblum
Link to post
Share on other sites
Abobader

I'll get a build up today. Abo - any distro but you have to be able to build mono

 

Many thanks Luke, I will see today what distro are best for mono.

Link to post
Share on other sites

Here you go guys, here's a build:

 

https://www.dropbox.com/s/fki81zomq7mtryx/Release%20Mono.zip

 

Remember that you have to follow the instructions to build mono outlined by @@abeloin

 

http://mediabrowser.tv/community/index.php?/topic/947-linux-server/?p=52817

 

Hopefully in a few weeks as the official mono releases get updated that won't be necessary anymore.

Link to post
Share on other sites

Yea except that it will require the latest and greatest mono versions, whereas synology generally runs pretty far behind with it's mono installation. So for a while it might be limited to people who know how to update their mono installations before installing the server.

Link to post
Share on other sites

appHost.Init

UnhandledException

One or more errors occured

System.AggregateException

  at System.Threading.Tasks.Task.WaitAll (System.Threading.Tasks.Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken) [0x00000] in <filename unknown>:0

  at System.Threading.Tasks.Task.WaitAll (System.Threading.Tasks.Task[] tasks) [0x00000] in <filename unknown>:0

  at MediaBrowser.Server.Mono.MainClass.RunApplication (MediaBrowser.Server.Implementations.ServerApplicationPaths appPaths, ILogManager logManager) [0x00000] in <filename unknown>:0

  at MediaBrowser.Server.Mono.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0

InnerException: System.NullReferenceException

Object reference not set to an instance of an object

  at MediaBrowser.Controller.Entities.User.GetConfigurationDirectoryPath (System.String username) [0x00000] in <filename unknown>:0

  at MediaBrowser.Controller.Entities.User.get_ConfigurationDirectoryPath () [0x00000] in <filename unknown>:0

  at MediaBrowser.Controller.Entities.User.get_Path () [0x00000] in <filename unknown>:0

  at (wrapper dynamic-method) object:lambda_method (System.Runtime.CompilerServices.Closure,MediaBrowser.Controller.Entities.User)

  at ServiceStack.Text.Common.WriteType`2[MediaBrowser.Controller.Entities.User,ServiceStack.Text.Json.JsonTypeSerializer].WriteProperties (System.IO.TextWriter writer, System.Object value) [0x00000] in <filename unknown>:0

  at ServiceStack.Text.JsonSerializer.SerializeToStream (System.Object value, System.Type type, System.IO.Stream stream) [0x00000] in <filename unknown>:0

  at MediaBrowser.Common.Implementations.Serialization.JsonSerializer.SerializeToStream (System.Object obj, System.IO.Stream stream) [0x00000] in <filename unknown>:0

  at MediaBrowser.Common.Implementations.Serialization.JsonSerializer.SerializeToBytes (System.Object obj) [0x00000] in <filename unknown>:0

  at MediaBrowser.Server.Implementations.Persistence.SqliteUserRepository+<SaveUser>c__async8C.MoveNext () [0x00000] in <filename unknown>:0

--- End of stack trace from previous location where exception was thrown ---

  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0

  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0

  at MediaBrowser.Server.Implementations.Library.UserManager+<LoadUsers>c__async27.MoveNext () [0x00000] in <filename unknown>:0

--- End of stack trace from previous location where exception was thrown ---

  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0

  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[system.Collections.Generic.IEnumerable`1[MediaBrowser.Controller.Entities.User]].GetResult () [0x00000] in <filename unknown>:0

  at MediaBrowser.Server.Implementations.Library.UserManager+<Initialize>c__async25.MoveNext () [0x00000] in <filename unknown>:0

--- End of stack trace from previous location where exception was thrown ---

  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0

  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0

  at MediaBrowser.ServerApplication.ApplicationHost+<RegisterResources>c__async1.MoveNext () [0x00000] in <filename unknown>:0

--- End of stack trace from previous location where exception was thrown ---

  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0

  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0

  at MediaBrowser.Common.Implementations.BaseApplicationHost`1+<Init>c__async0[MediaBrowser.Server.Implementations.ServerApplicationPaths].MoveNext () [0x00000] in <filename unknown>:0

Edited by Debug Mode
Link to post
Share on other sites

new one is up, using the same link. if you could delete the program data directory it generated and start fresh with this that would be helpful. thanks.

Link to post
Share on other sites

2013-12-29 16:04:12.3451, Info, Main, Media Browser Server started

2013-12-29 16:04:12.3535, Info, Main, Command line: /home/yoru/release/MediaBrowser.Server.Mono.exe

2013-12-29 16:04:12.3535, Info, Main, Server: mightygaben

2013-12-29 16:04:12.3542, Info, Main, Operating system: Unix 3.10.17.0

2013-12-29 16:04:12.5143, Info, App, Loading MediaBrowser.Api, Version=3.0.5111.16149, Culture=neutral, PublicKeyToken=null

2013-12-29 16:04:12.5143, Info, App, Loading MediaBrowser.WebDashboard, Version=3.0.5111.16148, Culture=neutral, PublicKeyToken=null

2013-12-29 16:04:12.5143, Info, App, Loading MediaBrowser.Model, Version=3.0.5111.16145, Culture=neutral, PublicKeyToken=null

2013-12-29 16:04:12.5143, Info, App, Loading MediaBrowser.Common, Version=3.0.5111.16145, Culture=neutral, PublicKeyToken=null

2013-12-29 16:04:12.5143, Info, App, Loading MediaBrowser.Controller, Version=3.0.5111.16146, Culture=neutral, PublicKeyToken=null

2013-12-29 16:04:12.5143, Info, App, Loading MediaBrowser.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

2013-12-29 16:04:12.5143, Info, App, Loading MediaBrowser.Common.Implementations, Version=3.0.5111.16146, Culture=neutral, PublicKeyToken=null

2013-12-29 16:04:12.5143, Info, App, Loading MediaBrowser.Server.Implementations, Version=3.0.5111.16147, Culture=neutral, PublicKeyToken=null

2013-12-29 16:04:12.5143, Info, App, Loading MediaBrowser.Server.Mono, Version=3.0.5111.16150, Culture=neutral, PublicKeyToken=null

2013-12-29 16:04:12.5215, Info, App, Version 3.0.5111.16150 initializing

2013-12-29 16:04:12.5426, Info, SqliteUserRepository, Opening /home/yoru/release/ProgramData-Server/data/users.db

2013-12-29 16:04:12.7143, Info, SqliteItemRepository, Opening /home/yoru/release/ProgramData-Server/data/chapters.db

2013-12-29 16:04:12.7879, Info, SqliteItemRepository, Opening /home/yoru/release/ProgramData-Server/data/mediainfo.db

2013-12-29 16:04:12.8634, Info, SqliteItemRepository, Opening /home/yoru/release/ProgramData-Server/data/providerinfo.db

2013-12-29 16:04:13.0101, Info, App, HttpClientManager.GetTempFileResponse url: http://ffmpeg.gusari.org/static/32bit/ffmpeg.static.32bit.2013-12-21.tar.gz

2013-12-29 16:04:13.0168, Info, App, HttpClientManager.GetTempFileResponse url: https://www.dropbox.com/s/pj847twf7riq0j7/ARIALUNI.7z?dl=1

2013-12-29 16:05:30.8196, Info, SqliteDisplayPreferencesRepository, Opening /home/yoru/release/ProgramData-Server/data/displaypreferences.db

2013-12-29 16:05:30.8207, Info, SqliteItemRepository, Opening /home/yoru/release/ProgramData-Server/data/library.db

2013-12-29 16:05:30.8226, Info, SqliteNotificationsRepository, Opening /home/yoru/release/ProgramData-Server/data/notifications.db

2013-12-29 16:05:30.8237, Info, SqliteUserDataRepository, Opening /home/yoru/release/ProgramData-Server/data/userdata_v2.db

2013-12-29 16:05:31.9122, Error, Main, UnhandledException

        One or more errors occured

        System.AggregateException

          at System.Threading.Tasks.Task.WaitAll (System.Threading.Tasks.Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken) [0x00000] in <filename unknown>:0

          at System.Threading.Tasks.Task.WaitAll (System.Threading.Tasks.Task[] tasks) [0x00000] in <filename unknown>:0

          at MediaBrowser.Server.Mono.MainClass.RunApplication (MediaBrowser.Server.Implementations.ServerApplicationPaths appPaths, ILogManager logManager) [0x00000] in <filename unknown>:0

          at MediaBrowser.Server.Mono.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0

        InnerException: System.NullReferenceException

        Object reference not set to an instance of an object

          at MediaBrowser.Controller.Entities.User.GetConfigurationDirectoryPath (System.String username) [0x00000] in <filename unknown>:0

          at MediaBrowser.Controller.Entities.User.get_ConfigurationDirectoryPath () [0x00000] in <filename unknown>:0

          at MediaBrowser.Controller.Entities.User.get_ConfigurationFilePath () [0x00000] in <filename unknown>:0

          at (wrapper dynamic-method) object:lambda_method (System.Runtime.CompilerServices.Closure,MediaBrowser.Controller.Entities.User)

          at ServiceStack.Text.Common.WriteType`2[MediaBrowser.Controller.Entities.User,ServiceStack.Text.Json.JsonTypeSerializer].WriteProperties (System.IO.TextWriter writer, System.Object value) [0x00000] in <filename unknown>:0

          at ServiceStack.Text.JsonSerializer.SerializeToStream (System.Object value, System.Type type, System.IO.Stream stream) [0x00000] in <filename unknown>:0

          at MediaBrowser.Common.Implementations.Serialization.JsonSerializer.SerializeToStream (System.Object obj, System.IO.Stream stream) [0x00000] in <filename unknown>:0

          at MediaBrowser.Common.Implementations.Serialization.JsonSerializer.SerializeToBytes (System.Object obj) [0x00000] in <filename unknown>:0

          at MediaBrowser.Server.Implementations.Persistence.SqliteUserRepository+<SaveUser>c__async8D.MoveNext () [0x00000] in <filename unknown>:0

        --- End of stack trace from previous location where exception was thrown ---

          at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0

          at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0

          at MediaBrowser.Server.Implementations.Library.UserManager+<LoadUsers>c__async27.MoveNext () [0x00000] in <filename unknown>:0

        --- End of stack trace from previous location where exception was thrown ---

          at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0

          at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[system.Collections.Generic.IEnumerable`1[MediaBrowser.Controller.Entities.User]].GetResult () [0x00000] in <filename unknown>:0

          at MediaBrowser.Server.Implementations.Library.UserManager+<Initialize>c__async25.MoveNext () [0x00000] in <filename unknown>:0

        --- End of stack trace from previous location where exception was thrown ---

          at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0

          at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0

          at MediaBrowser.ServerApplication.ApplicationHost+<RegisterResources>c__async1.MoveNext () [0x00000] in <filename unknown>:0

        --- End of stack trace from previous location where exception was thrown ---

          at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0

          at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0

          at MediaBrowser.Common.Implementations.BaseApplicationHost`1+<Init>c__async0[MediaBrowser.Server.Implementations.ServerApplicationPaths].MoveNext () [0x00000] in <filename unknown>:0

Link to post
Share on other sites

Ok, thanks for your patience. I'll dig a little deeper and make a few more changes. This is one of those oddballs that is behaving a little differently when running under mono as compared to the .net framework.

Link to post
Share on other sites

2013-12-29 16:38:14.7107, Info, Main, Media Browser Server started

2013-12-29 16:38:14.7198, Info, Main, Command line: /home/yoru/release/MediaBrowser.Server.Mono.exe

2013-12-29 16:38:14.7198, Info, Main, Server: mightygaben

2013-12-29 16:38:14.7198, Info, Main, Operating system: Unix 3.10.17.0

2013-12-29 16:38:14.9168, Error, Main, UnhandledException

One or more errors occured

System.AggregateException

at System.Threading.Tasks.Task.WaitAll (System.Threading.Tasks.Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken) [0x00000] in <filename unknown>:0

at System.Threading.Tasks.Task.WaitAll (System.Threading.Tasks.Task[] tasks) [0x00000] in <filename unknown>:0

at MediaBrowser.Server.Mono.MainClass.RunApplication (MediaBrowser.Server.Implementations.ServerApplicationPaths appPaths, ILogManager logManager) [0x00000] in <filename unknown>:0

at MediaBrowser.Server.Mono.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0

InnerException: System.IO.DirectoryNotFoundException

Directory '/home/yoru/release/ProgramData-Server/plugins' not found.

at System.IO.Directory.ValidateDirectoryListing (System.String path, System.String searchPattern, System.Boolean& stop) [0x00000] in <filename unknown>:0

at System.IO.Directory+<EnumerateKind>c__Iterator11.MoveNext () [0x00000] in <filename unknown>:0

at System.Linq.Enumerable+<CreateSelectIterator>c__Iterator25`2[system.String,System.Reflection.Assembly].MoveNext () [0x00000] in <filename unknown>:0

at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator33`1[system.Reflection.Assembly].MoveNext () [0x00000] in <filename unknown>:0

at System.Collections.Generic.List`1[system.Reflection.Assembly].AddEnumerable (IEnumerable`1 enumerable) [0x00000] in <filename unknown>:0

at System.Collections.Generic.List`1[system.Reflection.Assembly]..ctor (IEnumerable`1 collection) [0x00000] in <filename unknown>:0

at System.Linq.Enumerable.ToList[Assembly] (IEnumerable`1 source) [0x00000] in <filename unknown>:0

at MediaBrowser.ServerApplication.ApplicationHost.GetComposablePartAssemblies () [0x00000] in <filename unknown>:0

at MediaBrowser.Common.Implementations.BaseApplicationHost`1[MediaBrowser.Server.Implementations.ServerApplicationPaths].DiscoverTypes () [0x00000] in <filename unknown>:0

at MediaBrowser.Common.Implementations.BaseApplicationHost`1+<Init>c__async0[MediaBrowser.Server.Implementations.ServerApplicationPaths].MoveNext () [0x00000] in <filename unknown>:0

Link to post
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...