Open ditokp opened 5 years ago
Hi @ditokp,
Thanks for the report.
Unfortunately I never really got SSL connections working with the stand-alone Linux version of the game, something to do with how mono is bundled. That is causing the exception - because https is used to access the soundcloud api.
Even if that was working, there is another issue unfortunately - the Linux version of the audio library I am using does not support mp3 files. This was due to the mp3 patents still in effect when I was building this game. They are now expired, so I could use ffmpeg to decode mp3 files on Linux at some point, but it's not implemented.
Playing FLAC or WAV files locally should work okay on Linux though, sorry again about the mp3 files!
Hello, thank you for making this awesome game, and I'm sorry for replying late.
Okay, I will try that audio format.
Error Message (in Terminal):
./turnt_ninja.bin.x86_64
Running on SDL2: True
Initializing
Creating game camera
Creating font library
Loading fonts
Creating scene manager
Setting up input system callbacks
Setting clear color
Creating stopwatch
Finished OnLoad
[ERROR] System.Net.WebException: Error: SecureChannelFailure (mono_btls_ssl_ctx_new) ---> System.EntryPointNotFoundException: mono_btls_ssl_ctx_new at (wrapper managed-to-native) Mono.Btls.MonoBtlsSslCtx:mono_btls_ssl_ctx_new () at Mono.Btls.MonoBtlsSslCtx..ctor () [0x00000] in <f1906779a26b4632918eaf5050f2c5e0>:0 at Mono.Btls.MonoBtlsContext.InitializeConnection () [0x00000] in <f1906779a26b4632918eaf5050f2c5e0>:0 at Mono.Btls.MonoBtlsContext.StartHandshake () [0x00000] in <f1906779a26b4632918eaf5050f2c5e0>:0 at Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Mono.Net.Security.AsyncProtocolRequest asyncRequest, Mono.Net.Security.AsyncOperationStatus status) [0x00007] in <f1906779a26b4632918eaf5050f2c5e0>:0 at Mono.Net.Security.AsyncProtocolRequest.ProcessOperation (Mono.Net.Security.AsyncOperationStatus status) [0x00086] in <f1906779a26b4632918eaf5050f2c5e0>:0 at Mono.Net.Security.AsyncProtocolRequest.ProcessOperation () [0x0000d] in <f1906779a26b4632918eaf5050f2c5e0>:0 at Mono.Net.Security.AsyncProtocolRequest.StartOperation () [0x00000] in <f1906779a26b4632918eaf5050f2c5e0>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <f712f98eb8e445c8918edaf595bbe465>:0 at Mono.Net.Security.MobileAuthenticatedStream.ProcessAuthentication (System.Net.LazyAsyncResult lazyResult) [0x00083] in <f1906779a26b4632918eaf5050f2c5e0>:0 at Mono.Net.Security.MobileAuthenticatedStream.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, System.Boolean checkCertificateRevocation) [0x0000c] in <f1906779a26b4632918eaf5050f2c5e0>:0 at Mono.Net.Security.Private.MonoSslStreamWrapper.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, System.Boolean checkCertificateRevocation) [0x00006] in <f1906779a26b4632918eaf5050f2c5e0>:0 at Mono.Net.Security.MonoTlsStream.CreateStream (System.Byte[] buffer) [0x0006a] in <f1906779a26b4632918eaf5050f2c5e0>:0 --- End of inner exception stack trace --- at System.Net.HttpWebRequest.EndGetRequestStream (System.IAsyncResult asyncResult) [0x00043] in <f1906779a26b4632918eaf5050f2c5e0>:0 at System.Threading.Tasks.TaskFactory
1[TResult].FromAsyncCoreLogic (System.IAsyncResult iar, System.Func2[T,TResult] endFunction, System.Action
1[T] endAction, System.Threading.Tasks.Task1[TResult] promise, System.Boolean requiresSynchronization) [0x00014] in <f712f98eb8e445c8918edaf595bbe465>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <f712f98eb8e445c8918edaf595bbe465>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <f712f98eb8e445c8918edaf595bbe465>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <f712f98eb8e445c8918edaf595bbe465>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <f712f98eb8e445c8918edaf595bbe465>:0 at System.Runtime.CompilerServices.TaskAwaiter
1[TResult].GetResult () [0x00000] in2[System.String,System.Object], Byte[], System.String, SoundCloud.API.Client.Internal.Client.Helpers.Domain)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"GetResponse","in_app":true,"lineno":19,"module":"SoundCloud.API.Client.Internal.Client.SoundCloudRawClient","post_context":null,"pre_context":null,"context_line":"System.String GetResponse(SoundCloud.API.Client.Internal.Client.Helpers.Domain, System.String, System.String, SoundCloud.API.Client.Internal.Infrastructure.Objects.HttpMethod, System.Collections.Generic.Dictionary
2[System.String,System.Object], Byte[], System.String)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"Request","in_app":true,"lineno":14,"module":"SoundCloud.API.Client.Internal.Infrastructure.Network.WebGateway","post_context":null,"pre_context":null,"context_line":"System.String Request(SoundCloud.API.Client.Internal.Client.Helpers.IUriBuilder, SoundCloud.API.Client.Internal.Infrastructure.Objects.HttpMethod, System.Collections.Generic.Dictionary2[System.String,System.Object], Byte[], System.String)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"GetContent","in_app":true,"lineno":0,"module":"SoundCloud.API.Client.Internal.Infrastructure.Network.WebGateway","post_context":null,"pre_context":null,"context_line":"System.String GetContent(System.Net.WebRequest, System.Func
3[System.Int32,System.String,System.String])","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"GetResponse","in_app":true,"lineno":27,"module":"SoundCloud.API.Client.Internal.Infrastructure.Network.WebGateway","post_context":null,"pre_context":null,"context_line":"System.Net.HttpWebResponse GetResponse(System.Net.WebRequest, System.Func3[System.Int32,System.String,System.String])","vars":null}]},"type":"NullReferenceException","value":"Object reference not set to an instance of an object"}],"extra":{},"fingerprint":[],"level":"error","logger":"root","message":"Object reference not set to an instance of an object","sentry.interfaces.Message":{"message":"Object reference not set to an instance of an object"},"modules":{"CSCore":"1.1.35.0","CSCore.OSX":"1.1.35.0","Gwen":"4.0.6207.13461","Gwen.Renderer.OpenTK":"4.0.6207.13461","Mono.Security":"4.0.0.0","mscorlib":"4.0.0.0","Newtonsoft.Json":"9.0.0.0","OpenTK":"2.0.0.0","Piwik.Tracker":"2.8.0.0","QuickFont":"4.4.6273.17496","SharpFont":"4.0.1.200","SharpRaven":"2.2.0.0","SoundCloud.API.Client":"1.0.0.4","Splat":"2.0.0.0","Squirrel":"1.5.2.0","Substructio":"0.15.6274.22196","System":"4.0.0.0","System.Configuration":"4.0.0.0","System.Core":"4.0.0.0","System.Data":"4.0.0.0","System.Drawing":"4.0.0.0","System.Numerics":"4.0.0.0","System.Runtime.Serialization":"4.0.0.0","System.Web":"4.0.0.0","System.Web.Extensions":"4.0.0.0","System.Windows.Forms":"4.0.0.0","System.Xml":"4.0.0.0","System.Xml.Linq":"4.0.0.0","turnt_ninja":"0.15.6274.22197"},"platform":"csharp","project":"2","release":"0.15.6274","server_name":"","tags":{"OS":"Linux 4.15.0.42","opengl":"3.0 Mesa 18.0.5","glsl":"1.30","vendor":"Intel Open Source Technology Center","gpu":"Mesa DRI Intel(R) Sandybridge Mobile ","sdl":"True"},"timestamp":"2018-12-10T07:03:45.696805Z","user":{"username":"7a6c3c36-e8ea-4d96-aac2-43b17a05874a"}} [ERROR] Request body (scrubbed): [ERROR] {"culprit":"SoundCloud.API.Client.Internal.Infrastructure.Network.WebGateway in GetResponse","environment":"release","event_id":"e6a4cb638dd64921a005b97b6c96bdee","exception":[{"module":"SoundCloud.API.Client","stacktrace":{"frames":[{"abs_path":null,"colno":0,"filename":null,"function":"Main","in_app":true,"lineno":1425,"module":"TurntNinja.TurntNinjaGame","post_context":null,"pre_context":null,"context_line":"Void Main(System.String[])","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"Run","in_app":true,"lineno":0,"module":"OpenTK.GameWindow","post_context":null,"pre_context":null,"context_line":"Void Run()","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"Run","in_app":true,"lineno":198,"module":"OpenTK.GameWindow","post_context":null,"pre_context":null,"context_line":"Void Run(Double, Double)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"DispatchUpdateAndRenderFrame","in_app":true,"lineno":49,"module":"OpenTK.GameWindow","post_context":null,"pre_context":null,"context_line":"Void DispatchUpdateAndRenderFrame(System.Object, System.EventArgs)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"RaiseUpdateFrame","in_app":true,"lineno":12,"module":"OpenTK.GameWindow","post_context":null,"pre_context":null,"context_line":"Void RaiseUpdateFrame(Double, Double ByRef)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"OnUpdateFrameInternal","in_app":true,"lineno":16,"module":"OpenTK.GameWindow","post_context":null,"pre_context":null,"context_line":"Void OnUpdateFrameInternal(OpenTK.FrameEventArgs)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"OnUpdateFrame","in_app":true,"lineno":56,"module":"TurntNinja.GameController","post_context":null,"pre_context":null,"context_line":"Void OnUpdateFrame(OpenTK.FrameEventArgs)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"Update","in_app":true,"lineno":513,"module":"Substructio.GUI.SceneManager","post_context":null,"pre_context":null,"context_line":"Void Update(Double)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"Update","in_app":true,"lineno":30,"module":"TurntNinja.GUI.ChooseSongScene","post_context":null,"pre_context":null,"context_line":"Void Update(Double, Boolean)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"Update","in_app":true,"lineno":322,"module":"TurntNinja.FileSystem.DirectoryBrowser","post_context":null,"pre_context":null,"context_line":"Void Update(Double)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"EntrySelected","in_app":true,"lineno":121,"module":"TurntNinja.FileSystem.SoundCloudFileSystem","post_context":null,"pre_context":null,"context_line":"Boolean EntrySelected(Int32 ByRef)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"GetTracks","in_app":true,"lineno":173,"module":"SoundCloud.API.Client.Subresources.ChartApi","post_context":null,"pre_context":null,"context_line":"SoundCloud.API.Client.Objects.SCTrack[] GetTracks(SoundCloud.API.Client.Objects.SCExploreCategory, Int32, Int32)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"Request","in_app":true,"lineno":0,"module":"SoundCloud.API.Client.Internal.Client.SoundCloudRawClient","post_context":null,"pre_context":null,"context_line":"SoundCloud.API.Client.Internal.Objects.ChartTrackCollection Request[ChartTrackCollection](System.String, System.String, SoundCloud.API.Client.Internal.Infrastructure.Objects.HttpMethod, System.Collections.Generic.Dictionary
2[System.String,System.Object], Byte[], System.String, SoundCloud.API.Client.Internal.Client.Helpers.Domain)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"GetResponse","in_app":true,"lineno":19,"module":"SoundCloud.API.Client.Internal.Client.SoundCloudRawClient","post_context":null,"pre_context":null,"context_line":"System.String GetResponse(SoundCloud.API.Client.Internal.Client.Helpers.Domain, System.String, System.String, SoundCloud.API.Client.Internal.Infrastructure.Objects.HttpMethod, System.Collections.Generic.Dictionary2[System.String,System.Object], Byte[], System.String)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"Request","in_app":true,"lineno":14,"module":"SoundCloud.API.Client.Internal.Infrastructure.Network.WebGateway","post_context":null,"pre_context":null,"context_line":"System.String Request(SoundCloud.API.Client.Internal.Client.Helpers.IUriBuilder, SoundCloud.API.Client.Internal.Infrastructure.Objects.HttpMethod, System.Collections.Generic.Dictionary
2[System.String,System.Object], Byte[], System.String)","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"GetContent","in_app":true,"lineno":0,"module":"SoundCloud.API.Client.Internal.Infrastructure.Network.WebGateway","post_context":null,"pre_context":null,"context_line":"System.String GetContent(System.Net.WebRequest, System.Func3[System.Int32,System.String,System.String])","vars":null},{"abs_path":null,"colno":0,"filename":null,"function":"GetResponse","in_app":true,"lineno":27,"module":"SoundCloud.API.Client.Internal.Infrastructure.Network.WebGateway","post_context":null,"pre_context":null,"context_line":"System.Net.HttpWebResponse GetResponse(System.Net.WebRequest, System.Func
3[System.Int32,System.String,System.String])","vars":null}]},"type":"NullReferenceException","value":"Object reference not set to an instance of an object"}],"extra":{},"fingerprint":[],"level":"error","logger":"root","message":"Object reference not set to an instance of an object","sentry.interfaces.Message":{"message":"Object reference not set to an instance of an object"},"modules":{"CSCore":"1.1.35.0","CSCore.OSX":"1.1.35.0","Gwen":"4.0.6207.13461","Gwen.Renderer.OpenTK":"4.0.6207.13461","Mono.Security":"4.0.0.0","mscorlib":"4.0.0.0","Newtonsoft.Json":"9.0.0.0","OpenTK":"2.0.0.0","Piwik.Tracker":"2.8.0.0","QuickFont":"4.4.6273.17496","SharpFont":"4.0.1.200","SharpRaven":"2.2.0.0","SoundCloud.API.Client":"1.0.0.4","Splat":"2.0.0.0","Squirrel":"1.5.2.0","Substructio":"0.15.6274.22196","System":"4.0.0.0","System.Configuration":"4.0.0.0","System.Core":"4.0.0.0","System.Data":"4.0.0.0","System.Drawing":"4.0.0.0","System.Numerics":"4.0.0.0","System.Runtime.Serialization":"4.0.0.0","System.Web":"4.0.0.0","System.Web.Extensions":"4.0.0.0","System.Windows.Forms":"4.0.0.0","System.Xml":"4.0.0.0","System.Xml.Linq":"4.0.0.0","turnt_ninja":"0.15.6274.22197"},"platform":"csharp","project":"2","release":"0.15.6274","server_name":"","tags":{"OS":"Linux 4.15.0.42","opengl":"3.0 Mesa 18.0.5","glsl":"1.30","vendor":"Intel Open Source Technology Center","gpu":"Mesa DRI Intel(R) Sandybridge Mobile ","sdl":"True"},"timestamp":"2018-12-10T07:03:45.696805Z","user":{"username":"7a6c3c36-e8ea-4d96-aac2-43b17a05874a"}} [ERROR] Request headers: [ERROR] Accept: application/json [ERROR] X-Sentry-Auth: Sentry sentry_version=7, sentry_client=SharpRaven/2.2.0.0, sentry_timestamp=1544425426, sentry_key=bc21e1e426064e98b1713291dc2a8a4a, sentry_secret=0ed04023215e440ea38ef83f75bdcb32 [ERROR] User-Agent: SharpRaven/2.2.0.0 [ERROR] Content-Type: application/json; charset=utf-8 `My system specs: Lubuntu 18.04.1 LTS 64-bit