|Anonymous | Login | Signup for a new account||2020-02-28 12:23 PST|
|Main | My View | View Issues | Change Log | Roadmap | Summary | My Account|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0008330||opensim||[REGION] Script Functions||public||2018-06-17 06:07||2018-10-12 08:24|
|Target Version||Fixed in Version|
|Summary||0008330: Scripts failing to start|
|Description||During 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 Reproduce||All regions updated to the latest release did the same thing.|
|Additional Information||It 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)
|Tags||No tags attached.|
|Git Revision or version number||latest release dated may 4 2018|
|Run Mode||Grid (1 Region per Sim)|
|Environment||Mono / Linux64|
|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?|
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
Possible unrelated to this, but also a potencial cause of strange issues changing opensim version and/or mono version it the folder
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.
Danger Lytton (reporter)
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
Danger Lytton (reporter)
|@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|
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.
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.
To build use git to checkout either master or httptests branch
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.
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 :(
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?
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.
|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|