[Opensim-dev] Fwd: trouble with appearance persistence (r4004)

Michael Wright michaelwri22 at yahoo.co.uk
Wed Mar 26 18:36:05 UTC 2008


yeah as Stefan said, at the moment avatar appearance persistence is mysql only, this is mainly due to the fact we only have a mysql Mapper for the database wrapper it is using. So we need more database connectors/mappers based of OpenSimDatabaseConnector  (in opensim.framework.data). 

But Hopefully soon, we'll get more mappers for the various other db's. I think the main thing which has stopped this happening so far is the question of where we are going with the databases in general. Are we going to keep using the wrapper that Avatar factory uses (currently I believe its the only thing in opensim using that), or are we going with nhibernate, or with something else.

The other way is to write a new AvatarFactory module that uses a different db wrapper/interface. This is the idea, if someone wanted a appearance factory that used a different database interface or that got the data from a central server. 



Stefan Andersson <stefan at tribalmedia.se> wrote:    .hmmessage P { margin:0px; padding:0px } body.hmmessage { FONT-SIZE: 10pt; FONT-FAMILY:Tahoma }  Yes, avatar appearance only works with MySQL.


/Stefan


---------------------------------
> Date: Wed, 26 Mar 2008 05:28:52 -0700
> From: aerowolf at gmail.com
> To: opensim-dev at lists.berlios.de
> Subject: [Opensim-dev] Fwd: trouble with appearance persistence (r4004)
> 
> justincc clued me in that this version I was testing wasn't truly
> r4004 (I must have checked out a release tag without remembering), but
> the problem does still exist with the true trunk.  He also said that
> mw doesn't monitor -users, so I'm forwarding here.
> 
> My environment is MacOSX 10.5.2, Mono 1.9 (tarball), x86.
> 
> Please see the tag end of the forwarded message for the log from trunk r4004.
> 
> -Kyle H
> 
> ---------- Forwarded message ----------
> From: Kyle Hamilton <aerowolf at gmail.com>
> Date: Wed, Mar 26, 2008 at 4:46 AM
> Subject: trouble with appearance persistence (r4004)
> To: opensim-users at lists.berlios.de
> 
> 
> I'm trying to use appearance persistence in r4004, but I seem to be
>  running into a trouble that it's hard-coded to use MySQL (I'm using
>  SQLite).  In my OpenSim.ini, I have all MySQL lines commented out.
> 
>  It starts up fine, but once I try to log in Test User, I get an exception:
> 
>  Region# :
>  04:38:36 - [LOGIN]: Client Version Second Life Release 1.19.0.5 for Test User
>  04:38:36 - [LOGIN]: Authenticating Test User
>  04:38:36 - [INVENTORY]: Found root folder for user with ID
>  f94a3dc1-d7b4-4ee7-9c1b-8e4acf77b4be.  Retrieving inventory contents.
>  04:38:36 - [CONNECTION DEBUGGING]: Setting up CAPS handler for
>  f94a3dc1-d7b4-4ee7-9c1b-8e4acf77b4be at
>  3fb8eb16-4c46-401a-823b-4cf91cb5
>  04:38:36 - [CAPS]: Registering CAPS handlers
>  04:38:36 - [CONNECTION DEBUGGING]: Creating new circuit code
>  (314156373) for f94a3dc1-d7b4-4ee7-9c1b-8e4acf77b4be
>  04:38:36 - [SQLITE]: Syncing user database: 1 users stored
>  04:38:37 - [UDPSERVER]: Adding New Client
>  04:38:37 - [CLIENT]: Started up new client thread to handle incoming request
>  04:38:37 - [CLIENT]: Got authenticated connection from 127.0.0.1:50971
>  04:38:37 - [CLIENT]: Adding viewer agent to scene
>  04:38:37 - [CONNECTION DEBUGGING]: Creating new client for
>  f94a3dc1-d7b4-4ee7-9c1b-8e4acf77b4be
>  04:38:37 - [GROUP]: Adding Test User to OpenSimulator Tester group
>  [APPLICATION]:
>  APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs
> 
>  Exception: System.ArgumentException: Keyword not supported.
>  Parameter name: URI
>   at MySql.Data.MySqlClient.MySqlConnectionStringBuilder.GetKey
>  (System.String key) [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.MySQLDatabaseMapper.GetNewConnection () [0x00000]
>   at TribalMedia.Framework.Data.BaseTableMapper.WithConnection
>  (System.Action`1 action) [0x00000]
>   at TribalMedia.Framework.Data.BaseTableMapper`2[OpenSim.Region.Environment.Modules.AppearanceRowMapper,System.Guid].TryGetValue
>  (Guid primaryKey,
>  OpenSim.Region.Environment.Modules.AppearanceRowMapper& value)
>  [0x00000]
>   at OpenSim.Region.Environment.Modules.AppearanceTableMapper.TryGetValue
>  (Guid presenceID, OpenSim.Region.Environment.Scenes.AvatarAppearance&
>  val) [0x00000]
>   at OpenSim.Region.Environment.Modules.AvatarFactoryModule.CheckDatabase
>  (LLUUID avatarId) [0x00000]
>   at OpenSim.Region.Environment.Modules.AvatarFactoryModule.TryGetAvatarAppearance
>  (LLUUID avatarId, OpenSim.Region.Environment.Scenes.AvatarAppearance&
>  appearance) [0x00000]
>   at OpenSim.Region.Environment.Scenes.Scene.GetAvatarAppearance
>  (IClientAPI client,
>  OpenSim.Region.Environment.Scenes.AvatarAppearance& appearance)
>  [0x00000]
>   at OpenSim.Region.Environment.Scenes.Scene.CreateAndAddScenePresence
>  (IClientAPI client, Boolean child) [0x00000]
>   at OpenSim.Region.Environment.Scenes.Scene.AddNewClient (IClientAPI
>  client, Boolean child) [0x00000]
>   at OpenSim.Region.ClientStack.ClientView.InitNewClient () [0x00000]
>   at OpenSim.Region.ClientStack.ClientView.AuthUser () [0x00000]
> 
>  Application is terminating: True
> 
>  The apparent problem is:
>  appearance_connection_string = "URI=file:Appearance.db,version=3";
> 
>  This is a valid connection string for SQLite, but not MySQL.
> 
>  I have tried adding:
>  appearance_plugin="OpenSim.Framework.Data.SQLite.dll"
> 
>  but it's not apparently recognized.  The asset_database line is:
>  asset_database = "sqlite"
> 
>  This exception does not occur if I have:
>  appearance_persist = false
> 
>  I'm given to understand that since I've been "contaminated" by the GPL
>  and membership to sldev, I cannot submit patches.
> 
>  I would prefer not to have to run an instance of MySQL on my machine.
> 
>  -Kyle H
> 
> [[appended: the log from r4004 trunk]]
> 
> 05:21:43 - [LOGIN]: Received login request message from user Test User
> 05:21:43 - [LOGIN]: Client version: Second Life Release 1.19.0.5
> 05:21:43 - [LOGIN]: Client requested start location: last
> 05:21:43 - [LOGIN]: Authenticating Test User
> 05:21:43 - [INVENTORY]: Found root folder for user with ID
> f94a3dc1-d7b4-4ee7-9c1b-8e4acf77b4be.  Retrieving inventory contents.
> 05:21:43 - [CAPS]: Sending new CAPS seed url
> http://127.0.0.1:9000/CAPS/e00b33cd-df7c-4921-8174-d3b902790000/ to
> client f94a3dc1-d7b4-4ee7-9c1b-8e4acf77b4be
> 05:21:43 - [LOGIN]: Telling region kyanha @ 255,255 (127.0.0.1:9000)
> to expect user connection
> 05:21:43 - [CAPS]: Setting up CAPS handler for root agent
> f94a3dc1-d7b4-4ee7-9c1b-8e4acf77b4be in kyanha
> 05:21:43 - [CONNECTION DEBUGGING]: Creating new circuit code
> (314156373) for avatar f94a3dc1-d7b4-4ee7-9c1b-8e4acf77b4be at kyanha
> 05:21:43 - [SQLITE]: Syncing user database: 1 users stored
> 05:21:43 - [LOGIN]: Authentication of user Test User successful.
> Sending response to client.
> 05:21:45 - [UDPSERVER]: Adding New Client
> 05:21:45 - [CLIENT]: Started up new client thread to handle incoming request
> 05:21:45 - [CLIENT]: Got authenticated connection from 127.0.0.1:51034
> 05:21:45 - [CLIENT]: Adding viewer agent to scene
> 05:21:45 - [CONNECTION DEBUGGING]: Creating new client for
> f94a3dc1-d7b4-4ee7-9c1b-8e4acf77b4be at kyanha
> 05:21:45 - [GROUP]: Adding Test User to OpenSimulator Tester group
> 05:21:45 - [REGION]: Add New Scene Presence
> [APPLICATION]:
> APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs
> 
> Exception: System.ArgumentException: Keyword not supported.
> Parameter name: URI
>  at MySql.Data.MySqlClient.MySqlConnectionStringBuilder.GetKey
> (System.String key) [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.MySQLMapper.MySQLDatabaseMapper.GetNewConnection
> () [0x00000]
>  at OpenSim.Framework.Data.Base.BaseTableMapper.WithConnection
> (System.Action`1 action) [0x00000]
>  at OpenSim.Framework.Data.Base.BaseTableMapper`2[OpenSim.Region.Modules.AvatarFactory.AppearanceRowMapper,System.Guid].TryGetValue
> (Guid primaryKey,
> OpenSim.Region.Modules.AvatarFactory.AppearanceRowMapper& value)
> [0x00000]
>  at OpenSim.Region.Modules.AvatarFactory.AppearanceTableMapper.TryGetValue
> (Guid presenceID, OpenSim.Region.Environment.Scenes.AvatarAppearance&
> val) [0x00000]
>  at OpenSim.Region.Modules.AvatarFactory.AvatarFactoryModule.CheckDatabase
> (LLUUID avatarId) [0x00000]
>  at OpenSim.Region.Modules.AvatarFactory.AvatarFactoryModule.TryGetAvatarAppearance
> (LLUUID avatarId, OpenSim.Region.Environment.Scenes.AvatarAppearance&
> appearance) [0x00000]
>  at OpenSim.Region.Environment.Scenes.Scene.GetAvatarAppearance
> (IClientAPI client,
> OpenSim.Region.Environment.Scenes.AvatarAppearance& appearance)
> [0x00000]
>  at OpenSim.Region.Environment.Scenes.Scene.CreateAndAddScenePresence
> (IClientAPI client, Boolean child) [0x00000]
>  at OpenSim.Region.Environment.Scenes.Scene.AddNewClient (IClientAPI
> client, Boolean child) [0x00000]
>  at OpenSim.Region.ClientStack.ClientView.InitNewClient () [0x00000]
>  at OpenSim.Region.ClientStack.ClientView.AuthUser () [0x00000]
> 
> Application is terminating: True
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
_______________________________________________
Opensim-dev mailing list
Opensim-dev at lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


       
---------------------------------
Sent from Yahoo! Mail.
More Ways to Keep in Touch.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080326/dc319f32/attachment-0001.html>


More information about the Opensim-dev mailing list