Jump to content
  • 0

Migration to MySQL


JSonderchild

Question

 

Hi there!

I'm not really new, I've been one of those quiet readers for a while now. I recently started working on a project and now encountered a problem when switching from SQLite to MySQL.

The Intersect server runs on an Ubuntu 18.04 VPS, just like the MySQL and Apache server. I get the following error message after I started the migration and entered the credentials for the MySQL server:

Spoiler

Please wait, attempting to connect to database...
* Assertion at local-propagation.c:330, condition `ins->opcode > MONO_CEE_LAST' not met

Stacktrace:

  at <unknown> <0xffffffff>
  at System.MemoryExtensions..cctor () <0x0000b>
  at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0x00062>
  at <unknown> <0xffffffff>
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<MySqlConnector.Core.ServerSession/<ConnectAsync>d__58> (MySqlConnector.Core.ServerSession/<ConnectAsync>d__58&) <0x00113>
  at MySqlConnector.Core.ServerSession.ConnectAsync (MySqlConnector.Core.ConnectionSettings,MySqlConnector.Core.ILoadBalancer,MySqlConnector.Protocol.Serialization.IOBehavior,System.Threading.CancellationToken) <0x002b3>
  at MySqlConnector.Core.ConnectionPool/<GetSessionAsync>d__10.MoveNext () <0x017e3>
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<MySqlConnector.Core.ServerSession>.Start<MySqlConnector.Core.ConnectionPool/<GetSessionAsync>d__10> (MySqlConnector.Core.ConnectionPool/<GetSessionAsync>d__10&) <0x00113>
  at System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1<MySqlConnector.Core.ServerSession>.Start<MySqlConnector.Core.ConnectionPool/<GetSessionAsync>d__10> (MySqlConnector.Core.ConnectionPool/<GetSessionAsync>d__10&) <0x00019>
  at MySqlConnector.Core.ConnectionPool.GetSessionAsync (MySql.Data.MySqlClient.MySqlConnection,MySqlConnector.Protocol.Serialization.IOBehavior,System.Threading.CancellationToken) <0x002cf>
  at MySql.Data.MySqlClient.MySqlConnection/<CreateSessionAsync>d__91.MoveNext () <0x009f7>
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<MySqlConnector.Core.ServerSession>.Start<MySql.Data.MySqlClient.MySqlConnection/<CreateSessionAsync>d__91> (MySql.Data.MySqlClient.MySqlConnection/<CreateSessionAsync>d__91&) <0x00113>
  at System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1<MySqlConnector.Core.ServerSession>.Start<MySql.Data.MySqlClient.MySqlConnection/<CreateSessionAsync>d__91> (MySql.Data.MySqlClient.MySqlConnection/<CreateSessionAsync>d__91&) <0x00019>
  at MySql.Data.MySqlClient.MySqlConnection.CreateSessionAsync (System.Nullable`1<MySqlConnector.Protocol.Serialization.IOBehavior>,System.Threading.CancellationToken) <0x00293>
  at MySql.Data.MySqlClient.MySqlConnection/<OpenAsync>d__25.MoveNext () <0x00203>
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<MySql.Data.MySqlClient.MySqlConnection/<OpenAsync>d__25> (MySql.Data.MySqlClient.MySqlConnection/<OpenAsync>d__25&) <0x000ff>
  at MySql.Data.MySqlClient.MySqlConnection.OpenAsync (System.Nullable`1<MySqlConnector.Protocol.Serialization.IOBehavior>,System.Threading.CancellationToken) <0x00224>
  at MySql.Data.MySqlClient.MySqlConnection.Open () <0x00047>
  at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnection (bool) <0x000b6>
  at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open (bool) <0x0007b>
  at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions/<>c.<OpenConnection>b__15_0 (Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade) <0x00037>
  at Microsoft.EntityFrameworkCore.ExecutionStrategyExtensions/<>c__DisplayClass12_0`2<Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade, bool>.<Execute>b__0 (Microsoft.EntityFrameworkCore.DbContext,Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade) <0x00023>
  at Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlExecutionStrategy.Execute<Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade, bool> (Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.Func`3<Microsoft.EntityFrameworkCore.DbContext, Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade, bool>,System.Func`3<Microsoft.EntityFrameworkCore.DbContext, Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade, Microsoft.EntityFrameworkCore.Storage.ExecutionResult`1<bool>>) <0x00054>
  at Microsoft.EntityFrameworkCore.ExecutionStrategyExtensions.Execute<Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade, bool> (Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy,System.Func`2<Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade, bool>,System.Func`2<Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade, Microsoft.EntityFrameworkCore.Storage.ExecutionResult`1<bool>>,Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade) <0x0023f>
  at Microsoft.EntityFrameworkCore.ExecutionStrategyExtensions.Execute<Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade, bool> (Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy,Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.Func`2<Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade, bool>) <0x00023>
  at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.OpenConnection (Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade) <0x0010f>
  at Intersect.Server.Database.IntersectDbContext`1<T_REF>.IsEmpty () <0x00143>
  at Intersect.Server.DbInterface.Migrate (Intersect.Config.DatabaseOptions,Intersect.Config.DatabaseOptions/DatabaseType) <0x00a13>
  at Intersect.Server.Core.Commands.MigrateCommand.HandleValue (Intersect.Server.Core.ServerContext,Intersect.Server.Core.CommandParsing.ParserResult) <0x0083b>
  at Intersect.Server.Core.CommandParsing.Commands.HelpableCommand`1<TContext_REF>.Handle (TContext_REF,Intersect.Server.Core.CommandParsing.ParserResult) <0x0004c>
  at Intersect.Server.Core.CommandParsing.Commands.Command`1<TContext_REF>.Handle (Intersect.Core.IApplicationContext,Intersect.Server.Core.CommandParsing.ParserResult) <0x00279>
  at Intersect.Server.Core.ServerConsole.ThreadStart () <0x0059f>
  at System.Threading.ThreadHelper.ThreadStart_Context (object) <0x00099>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00178>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object) <0x00059>
  at System.Threading.ThreadHelper.ThreadStart () <0x0002e>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0x000d1>

Native stacktrace:

        mono(+0xc8514) [0x5603a73ab514]
        /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x7f7897f07890]
        /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7) [0x7f789792ae97]
        /lib/x86_64-linux-gnu/libc.so.6(abort+0x141) [0x7f789792c801]
        mono(+0x289769) [0x5603a756c769]
        mono(+0x2899fc) [0x5603a756c9fc]
        mono(+0x289b93) [0x5603a756cb93]
        mono(+0x962ab) [0x5603a73792ab]
        mono(+0x12d5da) [0x5603a74105da]
        mono(+0x12df39) [0x5603a7410f39]
        mono(+0x3c170) [0x5603a731f170]
        mono(+0xc9ef6) [0x5603a73acef6]
        mono(+0xca83c) [0x5603a73ad83c]
        [0x40e42298]

Debug info from gdb:


=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

 

 

(The Intersect Server is a fresh downloaded one)

I'm not really familiar with Linux and/or Mono, so I'm pretty baffled right now and hope you can help me!

 

 

Greetings,

JSonderchild

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Not super familiar with intersect, but I suggest posting your mono version, mysql version, and the command you're attempting to start the server with as well as your configuration (masking your password). If your MySQL server is not local to intersect's server (meaning they're running on the same machine) you need to make sure your MySQL user has privileges for remote access, and that MySQL is configured to allow connections remotely. From personal experience, MySQL privileges and remote configurations seems to be a popular issue with people who are new to linux and mysql.

Link to comment
Share on other sites

  • 0

Sure!

Mono version is 4.6.2 (Debian 4.6.2.7+dfsg-1ubuntu1) and the MySQL server runs on version 14.14 Distrib 5.7.28 using EditLine wrapper.

All runs on the same VPS and it's a clean version of intersect, I've changed nothing.

I start the server with the command mono "Intersect Server.exe"

 Here's what I've entered to start the migartion:

Spoiler

> migrate

Which database would you like to migrate:

   [1] Game Database (currently using Sqlite)  -  Sqlite Strongly Recommended!
   [2] Player Database (currently using Sqlite)

   Press any other key to cancel migration.
> 2

Select which engine to migrate the Player database to:
   [1] Sqlite
   [2] Mysql

   Press any other key to cancel migration.
> 2
Please enter your Mysql connection parameters:
Host: localhost
Port: 3306
Database: playerdata
User: intersect
Password: **********
Please wait, attempting to connect to database...

Followed by the stacktrace posted before.

 

 

Link to comment
Share on other sites

×
×
  • Create New...