[Opensim-dev] multiple robust instances

Justin Clark-Casey jjustincc at googlemail.com
Tue Jan 15 01:23:43 UTC 2013


In git master 1c240cd I made the config print out the full stack trace on failure, which should help with debugging 
rather than just the unhelpful "Object reference not set" message.  It would also help if you could run this in --debug 
mode if on mono to get line numbers.

However, from a quick glance at grid.ini, I would guess it's because you don't have an [AssetService] section there, which

[GridService]
...
AssetService = "OpenSim.Services.AssetService.dll:AssetService"

is referring to.

With the [AssetService] section, this would contact the asset database directly with it's own asset service, rather than 
going through the other robust instance that is hosting AssetService.  I don't think this is really a problem and would 
be the easiest message.  The alternative would be to try and get the grid ROBUST instance to contact the asset ROBUST 
instance but I'm not sure how to configure this or whether it's really possible at this point.

I guess this isn't

AssetService = "OpenSim.Services.HypergridService.dll:HGAssetService"

instead because the grid service only needs to access local assets for map tiles, though you could try this anyway and 
maybe it will reuse [HGAssetService] (no idea if this will work).

Also, a small tip is that if you want to see the config the server is definitely using, on OpenSimulator 0.7.5 you can 
type "config show" from the robust instance (assuming it will start up).

Unfortunately, with both splitting ROBUST services and using HG you're into advanced config territory for which 
unfortunately little documentation currently exists.

If you've broken this into three separate config files
On 14/01/13 22:20, ssm2017 wrote:
> following the radams1 recommendations in irc, i have made this :
>
> in the file : OpenSim/Services/AssetService/AssetServiceBase.cs
> line 51 was changed from
> if (configName != string.Empty)
> to
> if (!String.IsNullOrEmpty(configName))
>
> in the file : OpenSim/Server/Base/ServerUtils.cs
> line 284 was changed from
> interfaceName, dllName, e.InnerException == null ? e.Message : e.InnerException.Message);
> to
> interfaceName, dllName, e.InnerException == null ? e.ToString() : e.InnerException.Message);
>
> and there is not any other error displayed in the console or the log file.
> the result is the same.
>
>
> 2013/1/14 Adams, Robert <robert.adams at intel.com <mailto:robert.adams at intel.com>>
>
>     The stack trace does not come out on the console. The console only displays the error while the error and
>     (hopefully) the stack trace is output into the “OpenSim.log” logfile.____
>
>     __ __
>
>     -- ra____
>
>     __ __
>
>     *From:*opensim-dev-bounces at lists.berlios.de <mailto:opensim-dev-bounces at lists.berlios.de>
>     [mailto:opensim-dev-bounces at lists.berlios.de <mailto:opensim-dev-bounces at lists.berlios.de>] *On Behalf Of *ssm2017
>     *Sent:* Monday, January 14, 2013 10:15 AM
>     *To:* opensim-dev at lists.berlios.de <mailto:opensim-dev at lists.berlios.de>
>     *Subject:* Re: [Opensim-dev] multiple robust instances____
>
>     __ __
>
>     here is a screenshot of the console at the time the error occurs (screenshot to get colors)
>     http://i.imagebanana.com/img/n3wemq2h/Slection_002.png____
>
>     and here are my ini files :____
>
>     inventory.ini :
>     ***********************************************************
>     [Startup]
>
>     [ServiceList]
>     InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector"
>
>     [Network]
>     port = 8003
>
>     [DatabaseService]
>     StorageProvider = "OpenSim.Data.MySQL.dll"
>     ConnectionString = "Data Source=localhost;Database=****;User ID=opensim;Password=***;Old Guids=true;"
>
>     [InventoryService]
>     LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
>     ***********************************************************____
>
>     asset.ini :
>     ***********************************************************
>     [Startup]
>
>     [ServiceList]
>     AssetServiceConnector = "8004/OpenSim.Server.Handlers.dll:AssetServiceConnector"
>
>     [Network]
>     port = 8004
>
>     [DatabaseService]
>     StorageProvider = "OpenSim.Data.MySQL.dll"
>     ConnectionString = "Data Source=localhost;Database=****;User ID=opensim;Password=****;Old Guids=true;"
>
>     [AssetService]
>     LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
>     DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
>     AssetLoaderArgs = "./assets/AssetSets.xml"
>     ***********************************************************____
>
>     grid.ini :
>     ***********************************************************
>     [Startup]
>
>     [ServiceList]
>     VoiceConnector = "8002/OpenSim.Server.Handlers.dll:FreeswitchServerConnector"
>     GridServiceConnector = "8002/OpenSim.Server.Handlers.dll:GridServiceConnector"
>     GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector"
>     AuthenticationServiceConnector = "8002/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector"
>     OpenIdServerConnector = "8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector"
>     AvatarServiceConnector = "8002/OpenSim.Server.Handlers.dll:AvatarServiceConnector"
>     LLLoginServiceInConnector = "8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector"
>     PresenceServiceConnector = "8002/OpenSim.Server.Handlers.dll:PresenceServiceConnector"
>     UserAccountServiceConnector = "8002/OpenSim.Server.Handlers.dll:UserAccountServiceConnector"
>     GridUserServiceConnector = "8002/OpenSim.Server.Handlers.dll:GridUserServiceConnector"
>     FriendsServiceConnector = "8002/OpenSim.Server.Handlers.dll:FriendsServiceConnector"
>     MapAddServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapAddServiceConnector"
>     MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector"
>
>     ; hg
>     GatekeeperServiceInConnector = "8002/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector"
>     UserAgentServerConnector = "8002/OpenSim.Server.Handlers.dll:UserAgentServerConnector"
>     HeloServiceInConnector = "8002/OpenSim.Server.Handlers.dll:HeloServiceInConnector"
>     HGFriendsServerConnector = "8002/OpenSim.Server.Handlers.dll:HGFriendsServerConnector"
>     InstantMessageServerConnector = "8002/OpenSim.Serverm_log.Handlers.dll:InstantMessageServerConnector"
>     HGInventoryServiceConnector = "HGInventoryService at 8002/OpenSim.Server.Handlers.dll:XInventoryInConnector
>     <mailto:HGInventoryService at 8002/OpenSim.Server.Handlers.dll:XInventoryInConnector>"
>     HGAssetServiceConnector = "HGAssetService at 8002/OpenSim.Server.Handlers.dll:AssetServiceConnector
>     <mailto:HGAssetService at 8002/OpenSim.Server.Handlers.dll:AssetServiceConnector>"
>
>     [Network]
>     port = 8002
>
>     [DatabaseService]
>     StorageProvider = "OpenSim.Data.MySQL.dll"
>     ConnectionString = "Data Source=localhost;Database=****;User ID=opensim;Password=****;Old Guids=true;"
>
>     [GridService]
>     LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
>     HypergridLinker = true
>     AssetService = "OpenSim.Services.AssetService.dll:AssetService"
>     Region_Beta = "DefaultRegion, FallbackRegion"
>     HypergridLinker = true
>     Gatekeeper = "http://hg.beta.francogrid.org:8002"
>
>     [FreeswitchService]
>     LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService"
>
>     [AuthenticationService]
>     LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
>
>     [OpenIdService]
>     AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
>     UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
>
>     [UserAccountService]
>     LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
>     AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
>     PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
>     GridService = "OpenSim.Services.GridService.dll:GridService"
>     InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
>     AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
>     CreateDefaultAvatarEntries = true
>
>     [GridUserService]
>     LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService"
>
>     [PresenceService]
>     LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService"
>
>     [AvatarService]
>     LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService"
>
>     [FriendsService]
>     LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService"
>
>     [LibraryService]
>     LibraryName = "OpenSim Library"
>     DefaultLibrary = "./inventory/Libraries.xml"
>
>     [LoginService]
>     LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService"
>     UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
>     GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
>     AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
>     InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
>     AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
>     PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
>     GridService = "OpenSim.Services.GridService.dll:GridService"
>     SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector"
>     LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService"
>     UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
>     FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
>
>     WelcomeMessage = "Welcome, Avatar!"
>     AllowRemoteSetLoginLevel = "false"
>
>     MapTileURL = "http://hg.beta.francogrid.org:8002";
>     GatekeeperURI = "http://hg.beta.francogrid.org:8002"
>
>     SRV_HomeURI = "http://hg.beta.francogrid.org:8002"
>     SRV_InventoryServerURI = "http://hg.beta.francogrid.org:8002"
>     SRV_AssetServerURI = "http://hg.beta.francogrid.org:8002"
>     SRV_ProfileServerURI = "http://hg.beta.francogrid.org:8002"
>     SRV_FriendsServerURI = "http://hg.beta.francogrid.org:8002"
>     SRV_IMServerURI = "http://hg.beta.francogrid.org:8002"
>
>     DSTZone = "America/Los_Angeles;Pacific Standard Time"
>
>     [MapImageService]
>     LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService"
>
>     [GridInfoService]
>     login = http://login.beta.francogrid.org:8002/
>     gridname = "FrancoGrid Beta"
>     gridnick = "fgbeta"
>     welcome = http://beta.francogrid.org/loginpage
>     about = http://beta.francogrid.org
>     register = http://beta.francogrid.org/user/register
>     help = http://beta.francogrid.org/aide
>     password = http://beta.francogrid.org/user/password
>     gatekeeper = http://hg.beta.francogrid.org:8002/
>     uas = http://hg.beta.francogrid.org:8002/
>
>     [GatekeeperService]
>     LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService"
>     UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
>     UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
>     PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
>     GridService = "OpenSim.Services.GridService.dll:GridService"
>     AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector"
>     SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector"
>     ExternalName = "http://hg.beta.francogrid.org:8002"
>     AllowTeleportsToAnyRegion = true
>
>     [UserAgentService]
>     LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService"
>     GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
>     GridService = "OpenSim.Services.GridService.dll:GridService"
>     GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService"
>     PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
>     FriendsService  = "OpenSim.Services.FriendsService.dll:FriendsService"
>     UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
>
>     [HGInventoryService]
>     LocalServiceModule    = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
>
>     UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
>     AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
>     HomeURI = "http://hg.beta.francogrid.org:8002"
>
>     [HGAssetService]
>     LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService"
>     UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
>     HomeURI = "http://hg.beta.francogrid.org:8002"
>
>     [HGFriendsService]
>     LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService"
>     UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
>     FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
>     UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
>     GridService = "OpenSim.Services.GridService.dll:GridService"
>     PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
>
>     [HGInstantMessageService]
>     LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService"
>     GridService = "OpenSim.Services.GridService.dll:GridService"
>     PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
>     UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
>     InGatekeeper = True
>
>     [Messaging]
>     OfflineMessageURL = http://beta.francogrid.org/grid/services/offline-messages
>     ForwardOfflineGroupMessages = true
>
>     ***********************************************************____
>
>     __ __
>
>     2013/1/14 ssm2017 <ssm2017 at gmail.com <mailto:ssm2017 at gmail.com>>____
>
>     there is no stack trace and all the rest of the console output is clean and the grid is working :)____
>
>     i only have one red line that is this one but maybe i have made a mistake in the robust configuration with my
>     myltiple instances____
>
>     __ __
>
>     2013/1/14 Adams, Robert <robert.adams at intel.com <mailto:robert.adams at intel.com>>____
>
>     If you are lucky, there is a stack trace after that error in the OpenSim.log file. Creating a Mantis entry with that
>     stack trace would help pinpointing the error.____
>
>     ____
>
>     -- ra____
>
>     ____
>
>     *From:*opensim-dev-bounces at lists.berlios.de <mailto:opensim-dev-bounces at lists.berlios.de>
>     [mailto:opensim-dev-bounces at lists.berlios.de <mailto:opensim-dev-bounces at lists.berlios.de>] *On Behalf Of *ssm2017
>     *Sent:* Sunday, January 13, 2013 3:48 PM
>     *To:* opensim-dev at lists.berlios.de <mailto:opensim-dev at lists.berlios.de>
>     *Subject:* [Opensim-dev] multiple robust instances____
>
>     ____
>
>     hello____
>
>     using 0.7.5-rc1 under a debian 6 with mono 2.10.8.1____
>
>     i have separated robut on 3 parts : grid/assets/inventory____
>
>     following this procedure :
>     http://opensimulator.org/wiki/Configuration#Running_multiple_ROBUST_service_instances____
>
>     everything looks working but i see a non blocking error when i start the grid robust instance :
>     Error loading plugin OpenSim.Services.Interfaces.IAssetService from OpenSim.Services.AssetService.dll. Exception:
>     Object reference not set to an in
>     stance of an object____
>
>     any idea about what it could be ?____
>
>     if there are any errors on the wiki page, is it possible please to update it ?____
>
>     __ __
>
>     _______________________________________________
>     Opensim-dev mailing list
>     Opensim-dev at lists.berlios.de <mailto:Opensim-dev at lists.berlios.de>
>     https://lists.berlios.de/mailman/listinfo/opensim-dev____
>
>     __ __
>
>     __ __
>
>
>     _______________________________________________
>     Opensim-dev mailing list
>     Opensim-dev at lists.berlios.de <mailto: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
>


-- 
Justin Clark-Casey (justincc)
OSVW Consulting
http://justincc.org
http://twitter.com/justincc



More information about the Opensim-dev mailing list