Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008330opensim[REGION] Script Functionspublic2018-06-17 06:072018-10-12 08:24
ReporterDanger Lytton 
Assigned To 
PriorityhighSeveritymajorReproducibilityalways
StatusnewResolutionopen 
PlatformOSOS Version
Product Version0.9.0 
Target VersionFixed in Version 
Summary0008330: Scripts failing to start
DescriptionDuring the startup process the server first hangs longer than normal on: 'initializing script instances'. When attempting to start a script it then gives a message similar to this:

Region (Azi's Closet) # Missing method System.String::Format(IFormatProvider,string,object,object,object) in assembly /usr/lib/mono/4.5/mscorlib.dll, referenced in assembly /home/clewis/data/osg_regions/aziscloset/bin/OpenSim.Region.ScriptEngine.Shared.dll
08:23:52 - [SCRIPT INSTANCE]: Runtime error in script positioning/control (event state_entry), part 11 01e0f7b0-d234-4366-afb0-34db751ab184 at <181.0935, 152.9477, 22.11469> in Azi's Closet System.MissingMethodException: Method not found: 'System.String.Format'.
  at OpenSim.Region.ScriptEngine.Shared.Instance.ScriptSerializer.WriteTypedValue (System.Xml.XmlDocument doc, System.Xml.XmlNode parent, System.String tag, System.String name, System.Object value) [0x00000] in <filename unknown>:0
  at OpenSim.Region.ScriptEngine.Shared.Instance.ScriptSerializer.Serialize (OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance instance) [0x00000] in <filename unknown>:0
  at OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.SaveState () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance:SaveState ()
  at OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.EventProcessorInt () [0x00000] in <filename unknown>:0
Steps To ReproduceAll regions updated to the latest release did the same thing.
Additional InformationIt appears all scripts are affected. I had to kill the instance in order to shut the region down before it ran thru all of the scripts.

I reverted to a previous release

I use: Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-144-generic x86_64)
TagsNo tags attached.
Git Revision or version numberlatest release dated may 4 2018
Run Mode Grid (1 Region per Sim)
Physics EngineubODE
EnvironmentMono / Linux64
Mono Version3.2
ViewerNA
Attached Files

- Relationships

-  Notes
(0032707)
tampa (reporter)
2018-06-17 07:01

It tells you the script and object it hangs at and even the script method that fails, what does that script look like, specifically the state_entry method?
(0032708)
UbitUmarov (administrator)
2018-06-17 07:07

0.9 dependends on MS .net4.0
some mono instalations no longer support .net40 only 4.5
above you do say its mono3.2, im assuning you just did not updated that.

backup contents of bin/ScriptEngines, just in case

if previus opensim version is recent (like already 0.9 but on updated mono)
on regions opensim.int set:
DeleteScriptsOnStartup = true

start regions again.
if all ok, you can set DeleteScriptsOnStartup = false again
so on next restart regions will not waste time compiling all scripts again

on older regions or alternatively just delete contents of bin/ScriptEngines.

doing this case you also loose curret script states, basicly doing a full reset of them
(0032709)
UbitUmarov (administrator)
2018-06-17 07:16

Possible unrelated to this, but also a potencial cause of strange issues changing opensim version and/or mono version it the folder
bin/addin-db-002

You can delete its contents also (with region down) so it is updated at next startup.

but this is usually a problem on opensim or its modules execution, not scritps in particular.
(0032710)
Danger Lytton (reporter)
2018-06-17 07:20

mono -V command reports that the mono version is 3.2.8

DeleteScriptOnStartup = true is already set by default on all of my regions

previous version was the 2-11-18 release and was run on same mono version

I uploaded the 5-4-18 version twice and tried the update twice with same results

I have compiled and updated the same regions to the latest DEV release and everything works fine
(0032711)
Danger Lytton (reporter)
2018-06-17 07:23

@tampa - ALL of the scripts on the region appear to be affected - but impossible to tell for certain as the example i gave above repeats continuously. I have to use the kill function in Ubuntu to stop the region
(0032712)
tampa (reporter)
2018-06-17 07:28

You can fetch the latest mono version from their official site, if you need to you can go back to snapshot releases as well, but 14 should run the latest versions just fine. Make sure to first remove and purge the old mono and stop all regions to clear the runtime, then install the new version.

Latest master may not build with the latest version, either grab a precompiled binary or try building the httptests branch.
(0032713)
UbitUmarov (administrator)
2018-06-17 07:28

you can set it to DeleteScriptOnStartup to false on normal use, saving a bit of region load time.
After typing i did notice that the error was on part of script engine it self, not on a script dll
so possible still a framework issue, but on the opensim "bins"
doing a local compile is a solution.
(0032714)
tampa (reporter)
2018-06-17 07:46

To build use git to checkout either master or httptests branch
./runprebuild.sh
msbuild

You may need mono-devel development package to be able to build so just install that if msbuild returns a not found. You should end up with about 3 or so build warnings and no errors, if there are more warnings there is probably something on mantis about them or something else is wrong with the build environment. Google is your friend then.
(0032715)
UbitUmarov (administrator)
2018-06-17 07:51

Recent monos can run our older bins IF you install them with suport for .net4.0
some installers of mono may not do that (specially some later mono4.x)
because .40 is now considered obsolete.

But if you want to locally compile, master version will not be easy
to compile on mono5.x, because of changes made on project files.
It is possible to work around that, (again need a mono5.x install that does support .net4.0)

for mono 5.x you need to use our branch named httptests, and that will not compile or run on older monos :(
(0033165)
SnootsDwagon (reporter)
2018-10-11 16:46
edited on: 2018-10-11 16:48

I am apparently experiencing this problem as of 2018-10-11. Upon restarting a region it appears all scripts on the region cease to function. What is the current recommendation for fixing this?

Thus far the only solution I've found is to force a script to recompile. Is there a way to do this for an entire region... and is this going to be necessary every time a region restarts?

(0033166)
UbitUmarov (administrator)
2018-10-12 08:24

Guess you do need to recompile all scripts
just set DeleteScriptsOnStartup = true on opensim.ini [XEngine]
start the region again

you can set it back to false for next restart, so region reload is a bit faster.
this is a needed operation on some version changes.

- Issue History
Date Modified Username Field Change
2018-06-17 06:07 Danger Lytton New Issue
2018-06-17 07:01 tampa Note Added: 0032707
2018-06-17 07:07 UbitUmarov Note Added: 0032708
2018-06-17 07:16 UbitUmarov Note Added: 0032709
2018-06-17 07:20 Danger Lytton Note Added: 0032710
2018-06-17 07:23 Danger Lytton Note Added: 0032711
2018-06-17 07:28 tampa Note Added: 0032712
2018-06-17 07:28 UbitUmarov Note Added: 0032713
2018-06-17 07:46 tampa Note Added: 0032714
2018-06-17 07:51 UbitUmarov Note Added: 0032715
2018-10-11 16:46 SnootsDwagon Note Added: 0033165
2018-10-11 16:47 SnootsDwagon Note Edited: 0033165 View Revisions
2018-10-11 16:48 SnootsDwagon Note Edited: 0033165 View Revisions
2018-10-12 08:24 UbitUmarov Note Added: 0033166


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker