[Opensim-users] Problem starting Linux OpenSim with MySQL

Browser [ICE] browser_ice at hotmail.com
Tue May 27 22:08:50 UTC 2008


I downloaded OpenSim v0.5.4 Linux + MySql v5.  I initially had OpenSim running on Windows XP but encountered problems with MySQL. So I decided to swtich to my Ubuntu 7.10 environment for running OpenSim.

I followed the informations to modify both my OpenSim and Mysql ini files but when I started OpenSim, it fails with an MySQL error "Exception: System.Exception: Error initialising MySql Database: System.FormatException: Input string was not in the correct format". I looked it up on Google, mysql.org and OsGrid's forum but didn't find anything on it.

Here are the infos that might be needed to investigate (I masked the password). Tell me if you need anything else.  Thank you.


MySQL

mysql> status
--------------
mysql  Ver 14.12 Distrib 5.0.45, for pc-linux-gnu (i486) using readline 5.2

Connection id:          19
Current database:
Current user:           root at localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.0.45-Debian_1ubuntu3.3-log Debian etch distribution
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /var/run/mysqld/mysqld.sock
Uptime:                 55 min 17 sec

Threads: 1  Questions: 292  Slow queries: 0  Opens: 144  Flush tables: 1  Open tables: 23  Queries per second avg: 0.088
--------------

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| mysql              | 
| opensim            | 
+--------------------+
3 rows in set (0.00 sec)

mysql> show tables;
+-------------------+
| Tables_in_opensim |
+-------------------+
| land              | 
| landaccesslist    | 
| primitems         | 
| prims             | 
| primshapes        | 
| terrain           | 
+-------------------+
6 rows in set (0.00 sec)

mysql> select * from land;
Empty set (0.00 sec)

mysql> select * from landaccesslist;
Empty set (0.01 sec)

mysql> select * from primitems;
Empty set (0.00 sec)

mysql> select * from prims;
Empty set (0.00 sec)

mysql> select * from terrain;
Empty set (0.00 sec)

---------------------------------------------------------------------------------------------------------------

browserice at browserice-desktop:~/Desktop/VirtualWorlds/opensimbin$ mono OpenSim.exe
OpenSim 0.5, SVN build 

Performing compatibility checks...  Environment is compatible.

Starting...

ERROR: There was an error while scanning assembly: /home/browserice/Desktop/VirtualWorlds/opensimbin/PhysX-wrapper.dll (Could not load file or assembly '/home/browserice/Desktop/VirtualWorlds/opensimbin/PhysX-wrapper.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.)
ERROR: There was an error while scanning assembly: /home/browserice/Desktop/VirtualWorlds/opensimbin/ode.dll (Could not load file or assembly '/home/browserice/Desktop/VirtualWorlds/opensimbin/ode.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.)
ERROR: There was an error while scanning assembly: /home/browserice/Desktop/VirtualWorlds/opensimbin/openjpeg-libsl.dll (Could not load file or assembly '/home/browserice/Desktop/VirtualWorlds/opensimbin/openjpeg-libsl.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.)
ERROR: There was an error while scanning assembly: /home/browserice/Desktop/VirtualWorlds/opensimbin/sqlite3.dll (Could not load file or assembly '/home/browserice/Desktop/VirtualWorlds/opensimbin/sqlite3.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.)
17:37:02 - ====================================================================
17:37:02 - ========================= STARTING OPENSIM =========================
17:37:02 - ====================================================================
Creating new local console
17:37:02 - [Region]: Started at 5/27/2008 5:37:02 PM
17:37:03 - [DATASTORE]: Attempting to load OpenSim.Framework.Data.MySQL.dll
17:37:03 - [DATASTORE]: MySql - connecting: Data Source=localhost;Database=opensim;User ID=root;Password=******;
17:37:04 - [DATASTORE]: Added IRegionDataStore Interface
17:37:04 - [ASSET SERVER]: Starting asset storage system
17:37:04 - [SQLAssetServer]: AssetStorage: Attempting to load OpenSim.Framework.Data.MySQL.dll
[APPLICATION]: 
APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs

Exception: System.Exception: Error initialising MySql Database: System.FormatException: Input string was not in the correct format
  at System.UInt32.Parse (System.String s, NumberStyles style, IFormatProvider fp) [0x00000] 
  at System.UInt32.Parse (System.String s, IFormatProvider provider) [0x00000] 
  at System.Convert.ToUInt32 (System.String value, IFormatProvider provider) [0x00000] 
  at System.String.System.IConvertible.ToUInt32 (IFormatProvider provider) [0x00000] 
  at MySql.Data.MySqlClient.MySqlConnectionStringBuilder.ConvertToUInt (System.Object value) [0x00000] 
  at MySql.Data.MySqlClient.MySqlConnectionStringBuilder.SetValue (Keyword kw, System.Object value) [0x00000] 
  at MySql.Data.MySqlClient.MySqlConnectionStringBuilder.SetValue (System.String keyword, System.Object value) [0x00000] 
  at MySql.Data.MySqlClient.MySqlConnectionStringBuilder.set_Item (System.String key, System.Object value) [0x00000] 
  at System.Data.Common.DbConnectionStringBuilder.set_ConnectionString (System.String value) [0x00000] 
  at MySql.Data.MySqlClient.MySqlConnectionStringBuilder..ctor (System.String connectionString) [0x00000] 
  at MySql.Data.MySqlClient.MySqlConnection.set_ConnectionString (System.String value) [0x00000] 
  at MySql.Data.MySqlClient.MySqlConnection..ctor (System.String connectionString) [0x00000] 
  at (wrapper remoting-invoke-with-check) MySql.Data.MySqlClient.MySqlConnection:.ctor (string)
  at OpenSim.Framework.Data.MySQL.MySQLManager..ctor (System.String hostname, System.String database, System.String username, System.String password, System.String cpooling, System.String port) [0x00000] 
  at OpenSim.Framework.Data.MySQL.MySQLManager..ctor (System.String hostname, System.String database, System.String username, System.String password, System.String cpooling, System.String port) [0x00000] 
  at OpenSim.Framework.Data.MySQL.MySQLAssetData.Initialise () [0x00000] 
  at OpenSim.Framework.Communications.Cache.SQLAssetServer.AddPlugin (System.String FileName) [0x00000] 
  at OpenSim.Framework.Communications.Cache.SQLAssetServer..ctor (System.String pluginName) [0x00000] 
  at OpenSim.OpenSimMain.Initialize () [0x00000] 
  at OpenSim.Region.ClientStack.RegionApplicationBase.StartUp () [0x00000] 
  at OpenSim.OpenSimMain.StartUp () [0x00000] 
  at OpenSim.Application.Main (System.String[] args) [0x00000] 

Application is terminating: True

browserice at browserice-desktop:~/Desktop/VirtualWorlds/opensimbin$ 

---------------------------------------------------------------------------------------------------------------
OpenSim.log

2008-05-27 17:01:06,922 INFO  - OpenSim.OpenSimMain ====================================================================
2008-05-27 17:01:07,004 INFO  - OpenSim.OpenSimMain ========================= STARTING OPENSIM =========================
2008-05-27 17:01:07,004 INFO  - OpenSim.OpenSimMain ====================================================================
2008-05-27 17:01:07,078 INFO  - OpenSim.Framework.Console.ConsoleBase [Region]: Started at 5/27/2008 5:01:07 PM
2008-05-27 17:01:07,378 INFO  - OpenSim.Region.Environment.StorageManager [DATASTORE]: Attempting to load OpenSim.Framework.Data.MySQL.dll
2008-05-27 17:01:07,470 INFO  - OpenSim.Framework.Data.MySQL.MySQLDataStore [DATASTORE]: MySql - connecting: Data Source=localhost;Database=opensim;User ID=root;Password=******;
2008-05-27 17:01:08,003 INFO  - OpenSim.Framework.Data.MySQL.MySQLDataStore [DATASTORE]: MySql Database doesn't exist... creating
2008-05-27 17:01:08,369 INFO  - OpenSim.Region.Environment.StorageManager [DATASTORE]: Added IRegionDataStore Interface
2008-05-27 17:01:08,379 INFO  - OpenSim.Framework.Communications.Cache.AssetServerBase [ASSET SERVER]: Starting asset storage system
2008-05-27 17:01:08,456 INFO  - OpenSim.Framework.Communications.Cache.SQLAssetServer [SQLAssetServer]: AssetStorage: Attempting to load OpenSim.Framework.Data.MySQL.dll
2008-05-27 17:03:12,541 INFO  - OpenSim.OpenSimMain ====================================================================
2008-05-27 17:03:12,619 INFO  - OpenSim.OpenSimMain ========================= STARTING OPENSIM =========================
2008-05-27 17:03:12,628 INFO  - OpenSim.OpenSimMain ====================================================================
2008-05-27 17:03:12,698 INFO  - OpenSim.Framework.Console.ConsoleBase [Region]: Started at 5/27/2008 5:03:12 PM
2008-05-27 17:03:12,995 INFO  - OpenSim.Region.Environment.StorageManager [DATASTORE]: Attempting to load OpenSim.Framework.Data.MySQL.dll
2008-05-27 17:03:13,077 INFO  - OpenSim.Framework.Data.MySQL.MySQLDataStore [DATASTORE]: MySql - connecting: Data Source=localhost;Database=opensim;User ID=root;Password=******;
2008-05-27 17:03:13,812 INFO  - OpenSim.Region.Environment.StorageManager [DATASTORE]: Added IRegionDataStore Interface
2008-05-27 17:03:13,822 INFO  - OpenSim.Framework.Communications.Cache.AssetServerBase [ASSET SERVER]: Starting asset storage system
2008-05-27 17:03:13,902 INFO  - OpenSim.Framework.Communications.Cache.SQLAssetServer [SQLAssetServer]: AssetStorage: Attempting to load OpenSim.Framework.Data.MySQL.dll
2008-05-27 17:04:46,809 INFO  - OpenSim.OpenSimMain ====================================================================
2008-05-27 17:04:46,888 INFO  - OpenSim.OpenSimMain ========================= STARTING OPENSIM =========================
2008-05-27 17:04:46,898 INFO  - OpenSim.OpenSimMain ====================================================================
2008-05-27 17:04:46,963 INFO  - OpenSim.Framework.Console.ConsoleBase [Region]: Started at 5/27/2008 5:04:46 PM
2008-05-27 17:04:47,249 INFO  - OpenSim.Region.Environment.StorageManager [DATASTORE]: Attempting to load OpenSim.Framework.Data.MySQL.dll
2008-05-27 17:04:47,325 INFO  - OpenSim.Framework.Data.MySQL.MySQLDataStore [DATASTORE]: MySql - connecting: Data Source=localhost;Database=opensim;User ID=root;Password=******;
2008-05-27 17:04:48,077 INFO  - OpenSim.Region.Environment.StorageManager [DATASTORE]: Added IRegionDataStore Interface
2008-05-27 17:04:48,087 INFO  - OpenSim.Framework.Communications.Cache.AssetServerBase [ASSET SERVER]: Starting asset storage system
2008-05-27 17:04:48,162 INFO  - OpenSim.Framework.Communications.Cache.SQLAssetServer [SQLAssetServer]: AssetStorage: Attempting to load OpenSim.Framework.Data.MySQL.dll
2008-05-27 17:37:02,862 INFO  - OpenSim.OpenSimMain ====================================================================
2008-05-27 17:37:02,956 INFO  - OpenSim.OpenSimMain ========================= STARTING OPENSIM =========================
2008-05-27 17:37:02,956 INFO  - OpenSim.OpenSimMain ====================================================================
2008-05-27 17:37:02,993 INFO  - OpenSim.Framework.Console.ConsoleBase [Region]: Started at 5/27/2008 5:37:02 PM
2008-05-27 17:37:03,289 INFO  - OpenSim.Region.Environment.StorageManager [DATASTORE]: Attempting to load OpenSim.Framework.Data.MySQL.dll
2008-05-27 17:37:03,343 INFO  - OpenSim.Framework.Data.MySQL.MySQLDataStore [DATASTORE]: MySql - connecting: Data Source=localhost;Database=opensim;User ID=root;Password=******;
2008-05-27 17:37:04,122 INFO  - OpenSim.Region.Environment.StorageManager [DATASTORE]: Added IRegionDataStore Interface
2008-05-27 17:37:04,139 INFO  - OpenSim.Framework.Communications.Cache.AssetServerBase [ASSET SERVER]: Starting asset storage system
2008-05-27 17:37:04,184 INFO  - OpenSim.Framework.Communications.Cache.SQLAssetServer [SQLAssetServer]: AssetStorage: Attempting to load OpenSim.Framework.Data.MySQL.dll

---------------------------------------------------------------------------------------------------------------

OpenSim.ini

[Startup]
gridmode = false

; ##
; ## STORAGE
; ##

; *** Prim Storage - only leave one storage_plugin uncommented ***
; --- The NullStorage stores nothing - effectively disabling persistence:
;storage_plugin = "OpenSim.DataStore.NullStorage.dll"

; --- To use sqlite as region storage:
;storage_plugin = "OpenSim.Framework.Data.SQLite.dll"
;storage_connection_string="URI=file:OpenSim.db,version=3";

; --- To use MySQL storage, supply your own connectionstring (this is only an example):
;     note that the supplied account needs create privilegies if you want it to auto-create needed tables.
storage_plugin="OpenSim.Framework.Data.MySQL.dll"
storage_connection_string="Data Source=localhost;Database=opensim;User ID=root;Password=******;";

; turn on experimental storage of prim inventories in the region database

; Prim inventory storage is now turned on by default
; However, this option remains in case it needs to be disabled
; More details of the current state of this can be found at
;
; http://opensimulator.org/wiki/OpenSim:Prim_Inventory_Persistence
;
storage_prim_inventories = true

; Avatar appearance persistence
appearance_persist = false
appearance_connection_string = "Data Source=localhost;Database=avatar_appearance;User ID=root;Password=******;pooling=false;"

; Select whether you want to use local or grid asset storage.
;
; If you're running in standalone, you definitely want local, since there is no grid (hence this is redundant, and should
; really be eliminated).  The database itself is defined in asset_plugin below
;
; If you're running a region server connecting to a grid, you probably want grid mode, since this will use the 
; grid asset server.  If you select local in grid mode, then you will use a database as specified in asset_plugin to store assets
; locally.  This will mean you won't be able to take items using your assets to other people's regions.
asset_database = "local"
;asset_database = "grid"

; Should avatars in neighbor sims see objects in this sim?
see_into_this_sim_from_neighbor = True

; ##
; ## PHYSICS
; ##

; Select a mesher here. ZeroMesher is save and fast.
; ZeroMesher also means that the physics engine models the physics of prims
; sticking to the basic shapes the engine does support. Usually this is only a box.
; Meshmerizer gives a better handling of complex prims by using triangle meshes.
; Note, that only ODE physics currently deals with meshed prims in a satisfactoring way
; 
;meshing = ZeroMesher
meshing = Meshmerizer

; Choose one of the physics engines below
;physics = basicphysics
;physics = POS
physics = OpenDynamicsEngine
;physics = modified_BulletX


startup_console_commands_file = "startup_commands.txt"
shutdown_console_commands_file = "shutdown_commands.txt"
serverside_object_permissions = false

; if you would like to allow prims to be physical and move by physics with the physical checkbox in the client set this to true.
physical_prim = true

; To run a script every few minutes, set the script filename here
; timer_Script = "filename"

; ##
; ## ScriptEngine
; ##
; These are region modules loaded into each region to provide script support
; Scripts may be everything from LSL or C# scripts put in prims to whole game systems that controls the whole grid.
; You can load multiple modules by separating them with a coma.
;
; Example:
;script_engine = OpenSim.Region.ScriptEngine.DotNetEngine.dll,OpenSim.Region.ScriptEngine.RemoteServer.dll
;
; This is the current and most stable ScriptEngine:
script_engine = OpenSim.Region.ScriptEngine.DotNetEngine.dll

;Experimental remote ScriptServer plugin (does not currently work):
;script_engine = OpenSim.Region.ScriptEngine.RemoteServer.dll


[StandAlone]
accounts_authenticate = true
welcome_message = "Welcome to Browser_ice's OpenSim"

; Asset database provider
;asset_plugin = "OpenSim.Framework.Data.SQLite.dll"
asset_plugin = "OpenSim.Framework.Data.MySQL.dll"

; Inventory database provider
;inventory_plugin = "OpenSim.Framework.Data.SQLite.dll"
inventory_plugin = "OpenSim.Framework.Data.MySQL.dll"

; User Data Database provider
;userDatabase_plugin = "OpenSim.Framework.Data.SQLite.dll"
userDatabase_plugin = "OpenSim.Framework.Data.MySQL.dll"

default_location_x = 1000
default_location_y = 1000
dump_assets_to_file = false

[Network]
http_listener_port = 9000
remoting_listener_port = 8895

; Uncomment below to enable llRemoteData/remote channels
; remoteDataPort = 20800

grid_server_url = "http://127.0.0.1:8001"
grid_send_key = "null"
grid_recv_key = "null"

user_server_url = "http://127.0.0.1:8002"
user_send_key = "null"
user_recv_key = "null"

asset_server_url = "http://127.0.0.1:8003"

inventory_server_url = "http://127.0.0.1:8004"

[Chat]
whisper_distance = 10
say_distance = 30
shout_distance = 100

; Uncomment the following for IRC bridge
; experimental, so if it breaks... keep both parts... yada yada
; also, not good error detection when it fails
;[IRC]
;server  = name.of.irc.server.on.the.net
;nick    = OpenSimBotNameProbablyMakeThisShorter
;channel = #the_irc_channel_you_want_to_connect_to
;port = 6667
;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message
; must start with "PRIVMSG {0} : " or irc server will get upset
;for : :
;msgformat = "PRIVMSG {0} :: {3}"
;for : -  :
msgformat = "PRIVMSG {0} : {3} - {1} of {2}"
;for : - from  :
;msgformat = "PRIVMSG {0} : {3} - from {1}"

; Uncomment the following to control the progression of daytime
; in the Sim.  The defaults are what is shown below
[Sun]
; number of wall clock hours for an opensim day.  24.0 would mean realtime
day_length = 6.0

; send a Sun update ever frame_rate # of frames.  A lower number will
; make for smoother sun transition at the cost of network
frame_rate = 100


[ScriptEngine.DotNetEngine]
;
; These settings are specific to DotNetEngine script engine
; Other script engines based on OpenSim.Region.ScriptEngine.Common.dll will have almost identical settings, but in another section of this config file.
;

; When a script receives an event the event is queued.
; Any free thread will start executing this event. One script can only have one event executed simultaneously.
; If you have only one thread, and one script has a loop or does a lot of work, then no other scripts can run at the same time.
; Same if you have 10 threads, then only 10 scripts can be run simultaneously. 
; But because most scripts exit after their task, the threads are free to go on to the next script.

; Refresh ScriptEngine config options (these settings) every xx seconds
; 0 = Do not refresh
; Set it to number of seconds between refresh, for example 30.
; Will allow you to change ScriptEngine settings while server is running just by using "CONFIG SET" on console
; For example to increase or decrease number of threads: CONFIG SET NumberOfScriptThreads 10
; NOTE! Disabled for now. Feature does not work.
RefreshConfig=0

; Number of threads to use for script event execution
; Threads are shared across all regions
NumberOfScriptThreads=2

; Script event execution thread priority inside application.
; Valid values: Lowest, BelowNormal, Normal, AboveNormal, Highest
ScriptThreadPriority=BelowNormal

; How long MAX should a script event be allowed to run (per event execution)?
; Do not set this too low (like 50ms) as there are some time wasted in simply executing a function
; There is also a small speed penalty for every kill that is made
MaxEventExecutionTimeMs=5000

; Should we enable the max script event execution thread to look for scripts that exceed their timeslice?
EnforceMaxEventExecutionTime=true

; Should we stop the script completely when time exceeds?
; This is useful if you have a high  and want to deactivate scripts that go wrong
; Note that for example physics engine can slow down the system and make scripts spend more time
DeactivateScriptOnTimeout=false

; If no scripts have executed in this pass how long should we sleep before checking again
; Impact:
; Too low and you will waste lots of CPU
; Too high and people touching object or similar will have to wait up to this amount of time before script responding
SleepTimeIfNoScriptExecutionMs=50

; AppDomains are used for two things:
; * Security: Scripts inside AppDomains are limited in permissions. 
; * Script unloading: When a script is deactivated it can not be unloaded. Only whole AppDomains can be unloaded.
;                     AppDomains are therefore only unloaded once ALL active scripts inside it has been deactivated (removed from prims).
; Each AppDomain has some memory overhead. But leaving dead scripts in memory also has memory overhead.
ScriptsPerAppDomain=1

; MaintenanceLoop
; How often to run maintenance loop
; Maintenance loop is doing: script compile/load, script unload, reload config, adjust running config and enforce max execution time
MaintenanceLoopms=50

; How many maintenanceloops between each of these.
; (if 2 then function will be executed every MaintenanceLoopms*2 ms)
; Script loading/unloading

; How long load/unload thread should sleep if there is nothing to do
; Higher value makes it respond slower when scripts are added/removed from prims
; But once active it will process all in queue before sleeping again
MaintenanceLoopTicks_ScriptLoadUnload=1

; Other tasks
; check if we need to reload config, adjust running config and enforce max execution time
MaintenanceLoopTicks_Other=10


; Maximum number of items in load/unload queue before we start rejecting loads
; Note that we will only be rejecting load. Unloads will still be able to queue.
LoadUnloadMaxQueueSize=100

; Maximum number of (LSL) events that can be queued before new events are ignored.
EventExecutionMaxQueueSize=300

; Async LL command sleep
; If no async LL commands are waiting, how long should thread sleep before checking again
; Async LL commands are LSL-commands that causes an event to be fired back with result
AsyncLLCommandLoopms=50

; When script is converted from LSL to C#, or just plain compiled, a copy of the script source will be put in the ScriptEngine folder
WriteScriptSourceToDebugFile=true

; Specify default script compiler
; If you do not specify //cs, //vb, //js or //lsl tag as the first characters of your script then the default compiler will be chosen
; Valid languages are: lsl, cs, js and vb
DefaultCompileLanguage=lsl

; Specify what compilers are allowed to be used
; Note vb only works on Windows for now (Mono lacks VB compile support)
; Valid languages are: lsl, cs, js and vb
AllowedCompilers=lsl,cs,js,vb

; Compile scripts with debugging
; Probably a thousand times slower, but gives you a line number when something goes wrong.
CompileWithDebugInformation=true

; Remove old scripts on next startup
CleanUpOldScriptsOnStartup=true

[LL-Functions]
; Set the following to true to allow administrator owned scripts to execute console commands
AllowosConsoleCommand=false


---------------------------------------------------------------------------------------------------------------

mysql_connection.ini

; The IniConfig.cs that parses this file by just finding the first key={value} in the whole text so comments aren't really honoured.
; Also, this algorithm can probably lead to 'amusing' results in unfortunate cases.

[mssqlconnection]
data_source=\SQLEXPRESS
initial_catalog=database
persist_security_info=True
database=opensim
user_id=root
password=******

; These entries are only for if you, for some reason, wish to customize your user server table names.
; Do note that if you change the table names, you might have to change the sql resources too manually
; If ommitted, default values will be used.

userstablename=users
userfriendstablename=userfriends
agentstablename=agents
regionstablename=regions



_________________________________________________________________



More information about the Opensim-users mailing list