Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008633opensim[REGION] OpenSim Corepublic2019-12-03 13:122019-12-31 13:41
ReporterVerwijs 
Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformLinuxOSDebianOS VersionBullseye (10)
Product Version 
Target VersionFixed in Version 
Summary0008633: Unable to connect to MySQL 8.xx with "mysql_native_plugin"
DescriptionUnable to connect to MySQL 8.xx with "mysql_native_plugin".
i've added "mysql_native_plugin" to mysql configuration, so it should work...


22:06:34 - [SERVICE BASE]: Failed to load plugin OpenSim.Region.Framework.Interfaces.ISimulationDataStore from OpenSim.Data.MySQL.dll with args DataSource=localhost; Database=opensim; User ID=Opensim_Tester; Password=*****;System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception. ---> Mono.Btls.MonoBtlsException: Ssl error:1000042e:SSL routines:OPENSSL_internal:TLSV1_ALERT_PROTOCOL_VERSION
at /build/mono-6.6.0.160/external/boringssl/ssl/tls_record.c:462
at Mono.Btls.MonoBtlsContext.ProcessHandshake () [0x00048] in <f1d89164a14d4cc28f481be33ba79a08>:0
at Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Mono.Net.Security.AsyncOperationStatus status, System.Boolean renegotiate) [0x000da] in <f1d89164a14d4cc28f481be33ba79a08>:0
at (wrapper remoting-invoke-with-check) Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake(Mono.Net.Security.AsyncOperationStatus,bool)
at Mono.Net.Security.AsyncHandshakeRequest.Run (Mono.Net.Security.AsyncOperationStatus status) [0x00006] in <f1d89164a14d4cc28f481be33ba79a08>:0
at Mono.Net.Security.AsyncProtocolRequest.ProcessOperation (System.Threading.CancellationToken cancellationToken) [0x000fc] in <f1d89164a14d4cc28f481be33ba79a08>:0
--- End of inner exception stack trace ---
at Mono.Net.Security.MobileAuthenticatedStream.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, System.Boolean checkCertificateRevocation)[0x0004b] in <f1d89164a14d4cc28f481be33ba79a08>:0
at System.Net.Security.SslStream.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, System.Boolean checkCertificateRevocation) [0x00006] in <f1d89164a14d4cc28f481be33ba79a08>:0
at MySql.Data.MySqlClient.NativeDriver.StartSSL () [0x00035] in <0004ab8b375b422f9000ac25a68089d9>:0
at MySql.Data.MySqlClient.NativeDriver.Open () [0x002ce] in <0004ab8b375b422f9000ac25a68089d9>:0
at MySql.Data.MySqlClient.Driver.Open () [0x0000b] in <0004ab8b375b422f9000ac25a68089d9>:0
at MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x0004e] in <0004ab8b375b422f9000ac25a68089d9>:0
at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection () [0x00000] in <0004ab8b375b422f9000ac25a68089d9>:0
at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection () [0x0008a] in <0004ab8b375b422f9000ac25a68089d9>:0
at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver () [0x0003f] in <0004ab8b375b422f9000ac25a68089d9>:0
at MySql.Data.MySqlClient.MySqlPool.GetConnection () [0x0001c] in <0004ab8b375b422f9000ac25a68089d9>:0
at MySql.Data.MySqlClient.MySqlConnection.Open () [0x0016d] in <0004ab8b375b422f9000ac25a68089d9>:0
at OpenSim.Data.MySQL.MySQLSimulationData.Initialise (System.String connectionString) [0x00015] in <6b964457a60c4879989d4066068e2275>:0
at OpenSim.Data.MySQL.MySQLSimulationData..ctor (System.String connectionString) [0x00013] in <6b964457a60c4879989d4066068e2275>:0
at (wrapper managed-to-native) System.Reflection.RuntimeConstructorInfo.InternalInvoke(System.Reflection.RuntimeConstructorInfo,object,object[],System.Exception&)
at System.Reflection.RuntimeConstructorInfo.InternalInvoke (System.Object obj, System.Object[] parameters, System.Boolean wrapExceptions) [0x00005] in <610ede100ffd4304b7e2f592d47303a9>:0
--- End of inner exception stack trace ---
at System.Reflection.RuntimeConstructorInfo.InternalInvoke (System.Object obj, System.Object[] parameters, System.Boolean wrapExceptions) [0x0001a] in <610ede100ffd4304b7e2f592d47303a9>:0
at System.Reflection.RuntimeConstructorInfo.DoInvoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00086] in <610ede100ffd4304b7e2f592d47303a9>:0
at System.Reflection.RuntimeConstructorInfo.Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <610ede100ffd4304b7e2f592d47303a9>:0
at System.RuntimeType.CreateInstanceImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes, System.Threading.StackCrawlMark& stackMark) [0x0022b] in <610ede100ffd4304b7e2f592d47303a9>:0
at System.Activator.CreateInstance (System.Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[]args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes) [0x0009c] in <610ede100ffd4304b7e2f592d47303a9>:0
at System.Activator.CreateInstance (System.Type type, System.Object[] args) [0x00000] in <610ede100ffd4304b7e2f592d47303a9>:0
at OpenSim.Services.Base.ServiceBase.LoadPlugin[T] (System.String dllName, System.String className, System.Object[] args) [0x0008b] in <3be84d26ce914911b42e2814d93fd8b6>:0
22:06:34 - [SERVER UTILS]: Error loading plugin OpenSim.Region.Framework.Interfaces.ISimulationDataService from OpenSim.Services.SimulationService.dll. Exception: Could not find a storage interface in the given moduleSystem.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: Could not find a storage interface in the given module
at OpenSim.Services.SimulationService.SimulationDataService..ctor (Nini.Config.IConfigSource config) [0x000cd] in <a35eea81d5954a55a7803b284eb93aec>:0
at (wrapper managed-to-native) System.Reflection.RuntimeConstructorInfo.InternalInvoke(System.Reflection.RuntimeConstructorInfo,object,object[],System.Exception&)
at System.Reflection.RuntimeConstructorInfo.InternalInvoke (System.Object obj, System.Object[] parameters, System.Boolean wrapExceptions) [0x00005] in <610ede100ffd4304b7e2f592d47303a9>:0
--- End of inner exception stack trace ---
at System.Reflection.RuntimeConstructorInfo.InternalInvoke (System.Object obj, System.Object[] parameters, System.Boolean wrapExceptions) [0x0001a] in <610ede100ffd4304b7e2f592d47303a9>:0
at System.Reflection.RuntimeConstructorInfo.DoInvoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00086] in <610ede100ffd4304b7e2f592d47303a9>:0
at System.Reflection.RuntimeConstructorInfo.Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <610ede100ffd4304b7e2f592d47303a9>:0
at System.RuntimeType.CreateInstanceImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes, System.Threading.StackCrawlMark& stackMark) [0x0022b] in <610ede100ffd4304b7e2f592d47303a9>:0
at System.Activator.CreateInstance (System.Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[]args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes) [0x0009c] in <610ede100ffd4304b7e2f592d47303a9>:0
at System.Activator.CreateInstance (System.Type type, System.Object[] args) [0x00000] in <610ede100ffd4304b7e2f592d47303a9>:0
at OpenSim.Server.Base.ServerUtils.LoadPlugin[T] (System.String dllName, System.String className, System.Object[] args) [0x0009d] in <585dd54713344d4bb50f4e8a671cdbbf>:0
22:06:34 - [SERVER UTILS]: Error loading plugin OpenSim.Services.SimulationService.dll: Exception has been thrown by the target of an invocation. args.Length 1
22:06:34 - Fatal error: System.Exception: Could not load an ISimulationDataService implementation from OpenSim.Services.SimulationService.dll:SimulationDataService, as configured in the LocalServiceModule parameter of the [SimulationDataStore]: config section.
at OpenSim.OpenSimBase.StartupSpecific () [0x001c9] in <20d88addcbf8427baf13a308fafb915e>:0
at OpenSim.OpenSim.StartupSpecific () [0x0010c] in <20d88addcbf8427baf13a308fafb915e>:0
at OpenSim.Framework.Servers.BaseOpenSimServer.Startup () [0x00069] in <af68679cae9a428e9b8ab9526695ee27>:0
Steps To Reproduce..
Additional Information..
TagsNo tags attached.
Git Revision or version number
Run Mode Standalone (Multiple Regions)
Physics EngineBulletSim
Script EngineXEngine
EnvironmentMono / Linux64
Mono Version6.x
Viewer
Attached Files

- Relationships

-  Notes
(0035931)
BillBlight (developer)
2019-12-03 13:37

I do believe the "Latest" mysql requires encrypted connections, which Opensimulator does not support, you must disable TLS/SSL on the server side ... If possible ..

Or use MariaDB that is not enforcing that requirement currently ...
(0035932)
Robert Adams (administrator)
2019-12-03 14:18

That has been my experience -- the latest MySQL has added a bunch of security stuff to the login and connections that have made a lot of old libraries fail. The security additions are probably a Good Thing in the long run but it has tripped up many usages.

My solution has been to either down rev the MySql server version or switch to MariaDB.
(0035933)
tampa (reporter)
2019-12-03 22:55

It would have a small impact on the performance of the connections and the more you have the worse it would be, given OpenSim uses a ton of those I bet you would see slowdown of 10% at worst. MariaDB said it would ask users on secure install script whether to enable encrypted connections or not, so it is not a requirement, but I do not know what the default will be, guessing no, but cannot say for sure.

The question of good or bad can only really be asked for remote db and there you should use tunnels anyways at which point you already have a layer of encryption. Though I usually try to run database local to systems and would recommend doing that, because network and drive delay.

That said, would upgrading the plugin OpenSim uses even be possible? Could it provide the connector and still offer non-encrypted connections side-by-side?
(0035939)
Verwijs (reporter)
2019-12-04 12:25

disabling SLL did the trick for me :) by adding "ssl=0" and "skip_ssl" to mysql configuration. thanks BillBlight :)

An other option would be to add (if possible) "caching_sha2_password" (mysql 8.xx default) authentication for connecting to mysql..

more info here:
https://wp.me/p4oaqh-2F6 [^]
(0036021)
Ferd Frederix (reporter)
2019-12-31 13:41

Marked at fixed per Verwijs

- Issue History
Date Modified Username Field Change
2019-12-03 13:12 Verwijs New Issue
2019-12-03 13:37 BillBlight Note Added: 0035931
2019-12-03 14:18 Robert Adams Note Added: 0035932
2019-12-03 22:55 tampa Note Added: 0035933
2019-12-04 12:25 Verwijs Note Added: 0035939
2019-12-31 13:41 Ferd Frederix Note Added: 0036021
2019-12-31 13:41 Ferd Frederix Status new => resolved
2019-12-31 13:41 Ferd Frederix Resolution open => fixed
2019-12-31 13:41 Ferd Frederix Description Updated View Revisions


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker