Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007277opensim[REGION] OpenSim Corepublic2014-07-22 02:512014-08-04 03:47
Reporteraiaustin 
Assigned To 
PriorityhighSeverityblockReproducibilityalways
StatusnewResolutionopen 
PlatformPCOSWindowsOS Version8.1
Product Versionmaster (dev code) 
Target VersionFixed in Version 
Summary0007277: OSGrid add on region release - ScriptStopStrategy co-op seems to prevent regions with scripts being enabled
DescriptionI upgraded OSGrid add on regions from r/24921 to r/24948 and observe that all regions except one did not show as logins allowed. I.e. "No" shows for "Ready?" with the Robust console "show regions" console command. Attempts to login or teleport to the regions in a viewer fail. Going to an adjacent region indicates the regions are not present also.

I note that the only region that showed as ready was a sea region with no scripts on it at all.

Reverting to r/24921 and all works fine.

Using r/24948 if I change OpenSim.ini to select "abort" instead of the default "co-op" as the ScriptStopStrategy, the regions do show as ready thereafter... but see comments below for very many red script errors.

Observed on two different Windows 8.1 servers (one with MySQL DB and one with SQLite DB).
Steps To ReproduceDelete any pre-existing ScriptEngines folder to ensure you force a recompile with recent versions of OpenSim.

Startup regions containing scripts and with the "co-op" strategy the regions do not show as "Ready" in the "show regions" console command, or allow logins.

Also, it does not seem to matter if the StopScriptStrategy = co-op (the default now) or set to abort if recompilation happens the "Update requires a valid DeleteCommand when passed DataRow collection with deleted rows" shows for many scripts.
Additional InformationIf I delete the ScriptEngines folder entirely and use the default co-op strategy the regions do show as ready.. but I get a very large number of script red errors... "Update requires a valid DeleteCommand when passed DataRow collection with deleted rows" see note below for sample...
TagsNo tags attached.
Git Revision or version numberr/24948
Run Mode Grid (Multiple Regions per Sim)
Physics EngineBulletSim
Script Engine
Environment.NET / Windows64
Mono VersionNone
ViewerN/A
Attached Files

- Relationships

-  Notes
(0026543)
aiaustin (developer)
2014-07-22 03:11
edited on: 2014-07-22 03:13

When I completely deleted the ScriptEngines folder and reverted to the default ScriptStopStrategy=co-op, I note a large number of red errors on scripts previously working. Could these relate to the "inserted" script stop code? One sample here...

11:03:11 - [SCENE]: Storing of Nebs Sculpted CampFire v1.0 Ai Smoke, be69df4d-78
75-45db-ae4a-a6857808c4b6 in AI failed with exception Update requires a valid De
leteCommand when passed DataRow collection with deleted rows. at System.Data.C
ommon.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent,
BatchCommandInfo[] batchCommands, Int32 commandCount)
   at System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowU
pdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
   at System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMappi
ng tableMapping)
   at System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable,
DataTableMapping tableMapping)
   at System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable)
   at OpenSim.Data.SQLite.SQLiteSimulationData.Commit() in k:\OSGRID\opensim-738
c604\OpenSim\Data\SQLite\SQLiteSimulationData.cs:line 1062
   at OpenSim.Data.SQLite.SQLiteSimulationData.StoreObject(SceneObjectGroup obj,
 UUID regionUUID) in k:\OSGRID\opensim-738c604\OpenSim\Data\SQLite\SQLiteSimulat
ionData.cs:line 631
   at OpenSim.Services.Connectors.SimulationDataService.StoreObject(SceneObjectG
roup obj, UUID regionUUID) in k:\OSGRID\opensim-738c604\OpenSim\Services\Connect
ors\Simulation\SimulationDataService.cs:line 85
   at OpenSim.Region.Framework.Scenes.SceneObjectGroup.ProcessBackup(ISimulation
DataService datastore, Boolean forcedBackup) in k:\OSGRID\opensim-738c604\OpenSi
m\Region\Framework\Scenes\SceneObjectGroup.cs:line 1613

(0026544)
aiaustin (developer)
2014-07-22 03:41
edited on: 2014-07-22 04:14

Even setting ScriptStopStrategy = abort explicitly in OpenSim.ini with r/24948 I found I had to revert to the last working OSGrid version r/24921 as there were very many compile errors whether using a new ScriptEngines folder or using the previously created version.

But now even with r/29421 I am seeing these red errors...

... failed with exception Update requires a valid DeleteCommand when passed DataRow collection with deleted rows. ...

So I am wondering if the scripts are changed in some way even if the selected stop strategy is "abort"?

(0026545)
aiaustin (developer)
2014-07-22 04:21
edited on: 2014-07-22 06:26

Version: OpenSim 0.8.1 Dev OSgrid 0.8.1 (Dev) 738c604: 2014-07-18 (interface version 7)

I managed to get a working system using r/24948 with the script strategy set to "abort" in OpenSim.ini and (importantly) using an existing ScriptEngines folder that had pre-existed since April 2014.

It looks like the scripts are getting corrupted if the ScriptStopStrategy is set to co-op OR if it is set to abort and recompilation occurs (e.g. because a pre-existing ScriptEngines folder is deleted).

(0026547)
nebadon (administrator)
2014-07-22 05:54

we have been running this on the plazas for a while I think, this is very surprising behavior, may be limited to regions running under Windows, that is not something we test. I do recall that once you switch over to Co-op you are supposed to delete all the dlls in the ScriptEngines folder, I am not sure if this is still true, make sure you keep the .state files in place though if you worried about scripts being totally reset, stuff like visitor lists and visitor counters or anything that stores information in states. Would be great if you could test this for us.
(0026548)
nebadon (administrator)
2014-07-22 05:56

oh I just finished reading the steps to reproduce and additional info and see you already did that, very strange.
(0026550)
aiaustin (developer)
2014-07-22 06:21
edited on: 2014-07-22 07:39

Noted Nebadon... as you saw I completely deleted the ScriptEngines folder and that caused mayhem with hundreds of red messages of the sort shown as an example... and they were still continuing when I aborted the OpenSim.exe instances.

Anyone else reported issues who may use Windows - such as Mata? The trick for testing is to KEEP your ScriptEngines folder by perhaps renaming it, as you will need to go back to that to get things working again! Then start the OSGrid add on region with r/24948 but no ScriptEngines folder present and see if it works. co-op or abort strategy seems not to matter to get the red errors. But setting co-op also did not even show the regions are ready.

(0026552)
nebadon (administrator)
2014-07-22 06:22

I have not heard anyone else having this issue, sounds very unusual to me
(0026553)
aiaustin (developer)
2014-07-22 07:06
edited on: 2014-07-22 07:07

Okay, I did a fresh test from a previously working OSGrid add on r/24921 on Windows 8.1 Pro to the (latest at this time) OSGrid add on r/24948. I left the ScriptStopStrategy = co-op default as its set in OpenSimDefaults.ini and did not override it in OpenSim.ini.

I deleted all the ScriptEngines region folder *.dll, *.dll.text, *.dll,map and *.pdb

Then started up the newly updated r/24948.

This time all worked, no red errors and all regions show as ready.

NOW...... after shutdown...

I rename/remove the ScriptEngines folder entirely. No other changes. Then restart. I start to get the flood of red "... failed with exception Update requires a valid DeleteCommand when passed DataRow collection with deleted rows. ..." messages straight away.

THEN.. after another shutdown...

I return to the previously working ScriptEngines folder and restart again... no red errors and regions show as ready.

(0026554)
nebadon (administrator)
2014-07-22 07:41

ok that is good data thanks Ai
(0026556)
Mata Hari (reporter)
2014-07-22 10:32

I have been running with co-op on Win7 64 for a long time (months) amd have had no issues whatsoever with it -- and when I do new builds I make them a clean install so all scripts are always freshly compiled the first time the simulator launches a new build.
(0026558)
aiaustin (developer)
2014-07-22 11:43

Okay, thanks for the report Meta and notes Neb. Shall we leave this issue open and see if others have issues? I am running okay now, but scared that any change to the ScriptEngines folder will break our OSGrid addon region setup.
(0026560)
justincc (administrator)
2014-07-22 11:48

Please leave open for now. I need to think about how this may have happened since the changeover from abort to co-op should have been transparent.
(0026672)
aiaustin (developer)
2014-08-04 03:47
edited on: 2014-08-04 03:49

Justin.. I had an odd error on startup of Openvue grid with a script I use all over the place for a simple Give Inventory to a Folder script in a box for avatar items... I had one error only show... I simply recompiled the script without any change and that went away on next startup of the sim, but then I got another on that subsequent start up - which did not show first time. I did the same and recompiled that specific instance of the script without any change... and then all seems to start up fine thereafter. Note that there are 20 other boxes with the same script in them adjacent to the two that sequentially failed over 2 start ups. I wonder if this might be related to this issue or if its different?

10:56:08 - [SCRIPT INSTANCE]: Runtime error in script GiveContentsToFolder, part
 Hippo Avatar ec5c1b47-c627-4d90-8a41-06eb24162044 at <137.2637, 125.5422, 31.07
717> in Openvue System.Reflection.TargetInvocationException: Exception has been
thrown by the target of an invocation. ---> System.NullReferenceException: Objec
t reference not set to an instance of an object.

Server stack trace:
   at OpenSim.Region.Framework.Scenes.Scene.MoveTaskInventoryItems(UUID destID,
String category, SceneObjectPart host, List`1 items) in d:\Temp\opensim-dfd0c2a\
OpenSim\Region\Framework\Scenes\Scene.Inventory.cs:line 1507
   at OpenSim.Region.ScriptEngine.Shared.Api.LSL_Api.llGiveInventoryList(String
destination, String category, list inventory) in d:\Temp\opensim-dfd0c2a\OpenSim
\Region\ScriptEngine\Shared\Api\Implementation\LSL_Api.cs:line 6649
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(
IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMes
sage msg)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage req
Msg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgDa
ta, Int32 type)
   at OpenSim.Region.ScriptEngine.Shared.Api.Interfaces.ILSL_Api.llGiveInventory
List(String destination, String category, list inventory)
   at OpenSim.Region.ScriptEngine.Shared.ScriptBase.ScriptBaseClass.llGiveInvent
oryList(String destination, String category, list inventory) in d:\Temp\opensim-
dfd0c2a\OpenSim\Region\ScriptEngine\Shared\Api\Runtime\LSL_Stub.cs:line 879
   at SecondLife.XEngineScript.default_event_touch_start(LSLInteger total_number
) in c:\Users\bat\AppData\Local\Temp\sylcwumk.0.cs:line 40
   --- End of inner exception stack trace ---

Server stack trace:
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments,
 Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Objec
t[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invoke
Attr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at OpenSim.Region.ScriptEngine.Shared.ScriptBase.Executor.ExecuteEvent(String
 state, String FunctionName, Object[] args) in d:\Temp\opensim-dfd0c2a\OpenSim\R
egion\ScriptEngine\Shared\Api\Runtime\Executor.cs:line 194
   at OpenSim.Region.ScriptEngine.Shared.ScriptBase.ScriptBaseClass.ExecuteEvent
(String state, String FunctionName, Object[] args) in d:\Temp\opensim-dfd0c2a\Op
enSim\Region\ScriptEngine\Shared\Api\Runtime\ScriptBase.cs:line 95
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(
IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMes
sage msg)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage req
Msg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgDa
ta, Int32 type)
   at OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String
state, String FunctionName, Object[] args)
   at OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor(
) in d:\Temp\opensim-dfd0c2a\OpenSim\Region\ScriptEngine\Shared\Instance\ScriptI
nstance.cs:line 840

10:56:08 - [SCRIPT INSTANCE]: Runtime error in script GiveContentsToFolder, part
 Hippo Avatar ec5c1b47-c627-4d90-8a41-06eb24162044 at <137.2637, 125.5422, 31.07
717> in Openvue System.Reflection.TargetInvocationException: Exception has been
thrown by the target of an invocation. ---> System.NullReferenceException: Objec
t reference not set to an instance of an object.

Server stack trace:
   at OpenSim.Region.Framework.Scenes.Scene.MoveTaskInventoryItems(UUID destID,
String category, SceneObjectPart host, List`1 items) in d:\Temp\opensim-dfd0c2a\
OpenSim\Region\Framework\Scenes\Scene.Inventory.cs:line 1507
   at OpenSim.Region.ScriptEngine.Shared.Api.LSL_Api.llGiveInventoryList(String
destination, String category, list inventory) in d:\Temp\opensim-dfd0c2a\OpenSim
\Region\ScriptEngine\Shared\Api\Implementation\LSL_Api.cs:line 6649
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(
IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMes
sage msg)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage req
Msg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgDa
ta, Int32 type)
   at OpenSim.Region.ScriptEngine.Shared.Api.Interfaces.ILSL_Api.llGiveInventory
List(String destination, String category, list inventory)
   at OpenSim.Region.ScriptEngine.Shared.ScriptBase.ScriptBaseClass.llGiveInvent
oryList(String destination, String category, list inventory) in d:\Temp\opensim-
dfd0c2a\OpenSim\Region\ScriptEngine\Shared\Api\Runtime\LSL_Stub.cs:line 879
   at SecondLife.XEngineScript.default_event_touch_start(LSLInteger total_number
) in c:\Users\bat\AppData\Local\Temp\sylcwumk.0.cs:line 40
   --- End of inner exception stack trace ---

Server stack trace:
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments,
 Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Objec
t[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invoke
Attr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at OpenSim.Region.ScriptEngine.Shared.ScriptBase.Executor.ExecuteEvent(String
 state, String FunctionName, Object[] args) in d:\Temp\opensim-dfd0c2a\OpenSim\R
egion\ScriptEngine\Shared\Api\Runtime\Executor.cs:line 194
   at OpenSim.Region.ScriptEngine.Shared.ScriptBase.ScriptBaseClass.ExecuteEvent
(String state, String FunctionName, Object[] args) in d:\Temp\opensim-dfd0c2a\Op
enSim\Region\ScriptEngine\Shared\Api\Runtime\ScriptBase.cs:line 95
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(
IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMes
sage msg)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage req
Msg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgDa
ta, Int32 type)
   at OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.ExecuteEvent(String
state, String FunctionName, Object[] args)
   at OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessor(
) in d:\Temp\opensim-dfd0c2a\OpenSim\Region\ScriptEngine\Shared\Instance\ScriptI
nstance.cs:line 840


- Issue History
Date Modified Username Field Change
2014-07-22 02:51 aiaustin New Issue
2014-07-22 02:52 aiaustin Summary OSGrid add on region release - StopScriptStrategy co-op seems to prevent regions with scripts being enabled => OSGrid add on region release - ScriptStopStrategy co-op seems to prevent regions with scripts being enabled
2014-07-22 02:52 aiaustin Description Updated View Revisions
2014-07-22 02:54 aiaustin Description Updated View Revisions
2014-07-22 02:54 aiaustin Additional Information Updated View Revisions
2014-07-22 03:11 aiaustin Note Added: 0026543
2014-07-22 03:12 aiaustin Note Edited: 0026543 View Revisions
2014-07-22 03:13 aiaustin Note Edited: 0026543 View Revisions
2014-07-22 03:20 aiaustin Additional Information Updated View Revisions
2014-07-22 03:41 aiaustin Note Added: 0026544
2014-07-22 03:41 aiaustin Note Edited: 0026544 View Revisions
2014-07-22 03:48 aiaustin Git Revision or version number r/24936 => r/24948
2014-07-22 03:54 aiaustin Description Updated View Revisions
2014-07-22 04:08 aiaustin Note Edited: 0026544 View Revisions
2014-07-22 04:14 aiaustin Note Edited: 0026544 View Revisions
2014-07-22 04:21 aiaustin Note Added: 0026545
2014-07-22 04:25 aiaustin Steps to Reproduce Updated View Revisions
2014-07-22 04:26 aiaustin Note Edited: 0026545 View Revisions
2014-07-22 05:54 nebadon Note Added: 0026547
2014-07-22 05:56 nebadon Note Added: 0026548
2014-07-22 06:21 aiaustin Note Added: 0026550
2014-07-22 06:22 aiaustin Note Edited: 0026550 View Revisions
2014-07-22 06:22 aiaustin Note Edited: 0026550 View Revisions
2014-07-22 06:22 nebadon Note Added: 0026552
2014-07-22 06:24 aiaustin Note Edited: 0026550 View Revisions
2014-07-22 06:26 aiaustin Note Edited: 0026545 View Revisions
2014-07-22 06:54 aiaustin Note Edited: 0026550 View Revisions
2014-07-22 07:06 aiaustin Note Added: 0026553
2014-07-22 07:07 aiaustin Note Edited: 0026553 View Revisions
2014-07-22 07:39 aiaustin Note Edited: 0026550 View Revisions
2014-07-22 07:41 nebadon Note Added: 0026554
2014-07-22 10:32 Mata Hari Note Added: 0026556
2014-07-22 11:43 aiaustin Note Added: 0026558
2014-07-22 11:48 justincc Note Added: 0026560
2014-08-04 03:47 aiaustin Note Added: 0026672
2014-08-04 03:49 aiaustin Note Edited: 0026672 View Revisions


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker