Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005898opensim[GRID] Asset Servicepublic2012-02-21 09:442012-10-30 21:13
ReporterWhiteStar 
Assigned Tojustincc 
PriorityhighSeveritymajorReproducibilityrandom
StatusclosedResolutionfixed 
PlatformWindowsOSOS VersionVista/32
Product Versionmaster (dev code) 
Target VersionFixed in Versionmaster (dev code) 
Summary0005898: OAR generation fails due to Flotsam Cache Failure error
DescriptionWhile scripting an in-world OAR generation utility, I discovered that OAR generation fails. This behaviour is inconsistent and apparently random.

Steps taken:
I have flushed cache (fcache clear files)
Deep scanned after flush (fcache assets)
All to no avail. :(

Upon retries of SAVE OAR.... it will sometimes go further with saving assets, sometimes it will complete the save (mising a few items) or sometimes just out right fail.

Failure occurs regardless if osConsoleCommand is used or if commands issued directly on console.
Steps To Reproducechange region <region name>
save oar ../MyOar.oar
Additional InformationThe ERROR as reported on Console:

12:26:04 - [FLOTSAM ASSET CACHE]: Failed to get file ../assetcache\679\679f4a4f-91aa-45f5-8c6a-9f7e5
494647d for asset 679f4a4f-91aa-45f5-8c6a-9f7e5494647d. Exception Thread was being aborted. at M
icrosoft.Win32.Win32Native.ReadFile(SafeFileHandle handle, Byte* bytes, Int32 numBytesToRead, Int32&
 numBytesRead, IntPtr mustBeZero)
12:27:04 - [ARCHIVER]: Asset service failed to return information about 10312 requested assets
12:27:04 - [ARCHIVER]: No information about asset 679f4a4f-91aa-45f5-8c6a-9f7e5494647d received
12:27:04 - [ARCHIVER]: No information about asset 77548eec-42c3-4632-8a0b-4fc15ea0e169 received
12:27:04 - [ARCHIVER]: No information about asset b0b07341-4a56-4e30-82fe-36e0d5b3ee12 received
12:27:04 - [ARCHIVER]: (... 10309 more not shown)
12:27:04 - [ARCHIVER]: Archive save aborted. PLEASE DO NOT USE THIS ARCHIVE, IT WILL BE INCOMPLETE.

G
TagsNo tags attached.
Git Revision or version number1c3ee5d-r/18134
Run Mode Grid (1 Region per Sim)
Physics EngineODE
Environment.NET / Windows64
Mono VersionNone
ViewerImp & CV
Attached Filestxt file icon LOG.txt [^] (434,175 bytes) 2012-02-24 07:45
txt file icon osConsoleCommand-script.txt [^] (4,598 bytes) 2012-02-24 07:45 [Show Content]
txt file icon LOG-2-25.txt [^] (8,533 bytes) 2012-02-25 05:32 [Show Content]

- Relationships

-  Notes
(0020934)
WhiteStar (reporter)
2012-02-22 07:46

Small Update:

Upgraded OpenSim to: 5d31267-r/18156 (2012-02-22 00:55)

Updated/converted from MariaDB to MySql 5.5.16 in case it was a MariaDB issue. No Change!

Reconfigured MySql settings slightly without result.

Adjusted Flotsam Cache INI without results.
Current Settings are:
  LogLevel=0
  HitRateDisplay=100
  MemoryCacheEnabled=false
  FileCacheEnabled=true
  MemoryCacheTimeout=2 (125 minutes)
  FileCacheTimeout=48 (48 hours)
  FileCleanupTimer=1.0 (1 hour)

Issue still occurs randomly even after a fresh 'fcache assets' deep scan.
(0020937)
justincc (administrator)
2012-02-22 09:48

This is probably because your script is hitting the EventLimit timeout in [XEngine] in config. For this to work you will need to make EventLimit much higher.
(0020938)
justincc (administrator)
2012-02-22 09:48

ThreadAbort is indicative of this because this is what XEngine does when a script's event time is up.
(0020940)
WhiteStar (reporter)
2012-02-22 12:30

This occurs wether or not a script is used.

the Inworld script only sends the osConcoleCommand(save iar...). which returns immediate to the user to tell them that the command is queued.
The exact same command line issued on console has same result.

I do not see how a console command issued on console or if passed from the script engine via osConsoleCommand has anything to do with the event limit. I also do not see how Flotsam failing to retreive a cached item is affected by either of these as well.
(0020961)
justincc (administrator)
2012-02-23 17:16
edited on: 2012-02-23 17:17

Only scripts abort threads in this manner. Save iar in particular is different to the save oar description that you posted - it operates more synchronously than save oar does. There are real differences if commands are executed from scripts.

The ThreadAbort error will have little to do with the cache in this instance.

Please "save oar" from the console instead and attach the relevant section of log in full.

(0020962)
WhiteStar (reporter)
2012-02-24 07:44

In my previous note, I meant to write "save oar" not "save iar".

As requested attached is some LOG extracts.
Also attached is a sample script for OAR Making.

Running Version: OpenSim 0.7.3 Dev 5d31267-r/18156 (interface version 7)

Note that I also ensured that HDD fragmentation was not an issue and defragged everything even though fragmentation was 1%.
(0020963)
WhiteStar (reporter)
2012-02-24 07:48

OOPS ! I think I may have accidentally assigned this. Not intended to do so but I possibly clicked something.
(0020975)
justincc (administrator)
2012-02-24 20:53

I don't mind it being assigned to me but this might not be a quick fix. Are you running standalone or in grid mode? If in grid mode, are you using the bundled ROBUST service or another one, e.g. SRAS.

In the first case (2012-02-24 09:48:41,879 ERROR - OpenSim.Region.CoreModules.World.Archiver.AssetsRequest [ARCHIVER]: AssetRequestCallback failed with System.ObjectDisposedException: Can not access a closed Stream. etc.) something has closed the underlying gzip output stream but that will only happen if an error is encountered. However, there are no error log entries.

In the second case

2012-02-24 10:18:46,668 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 300 assets to archive
2012-02-24 10:19:46,838 ERROR - OpenSim.Region.CoreModules.World.Archiver.AssetsRequest [ARCHIVER]: Asset service failed to return information about 10527 requested assets

you can see that there is a one minute gap between log messages. The indicates that the 1 minute assets request timeout has triggered (if 1 minute goes by since any data was received). This indicates that virtually all asset requests went unanswered by the asset service for some reason (I doubt they are all in your cache).

The last error is very strange. Again, there is a System.Threading.ThreadAbortException: Thread was being aborted. The only place in core OpenSimulator code where this is directly executed (apart from startup and shutdown) is in the script engine. Are you running any external modules apart from opensim itself?
(0020976)
WhiteStar (reporter)
2012-02-25 05:32

2nd attempt at writing a resp.

I didn't mean to assign it, sorry, wasn't on purpose.

Using Stock Stand-Alone (6 regions) with HyperGrid built w/NET 3.51, No modules/addons & MySql DB. I do 'not' have assetcache at c:\OpenSim\SA\bin\assetcache it's located @ c:\OpenSim\SA\assetcache which should have no bad effect.

Case-1: I'll keep an eye out for any other occurrences of that.

Case-2: Agreed things are missing from cache. Attached is LOG-2-25.txt an extract from Today. During Startup the log shows an error that says I may have too many files (nowhere near the 32k directory entry limit) which is incorrect. I cleared cache, deep scanned etc see log, it's interesting in a weird way.

Case-3: It is possible that may have been another script doing that and it happened at same time. I'm disabling the suspect one for more tests.

I did make an observation related to using osConsoleCommand. If I use that to send the 'save oar' it waits till the console responds for success/fail. This behaviour is seen with my example script as there is an llOwnerSay(cmdline)right after the osConsoleCommand(save oar ...). When a light region is done, it returns immediately and sends the msg. A large region >5000 objects takes longer and the msg is never sent (times out) {this is why I have a suspect script which uses another cmd on a timers}. If this is a factor in using osConsoleCommand(save oar) or longer running console commands it shoudl be noted.

Thinking out loud:
If osConCmd cannot issue save oar due to timeout waiting for console response then I wonder if a new function "osSaveOar(<std save oar params>);//threat level severe" and have it return immediately would be in order and for a response possibly harnessing RegionReady to respond on channel -800 (oar <filename> success(TRUE)/failed(FALSE)).

The whole reason I started to script an in-world IAR-OAR generator was because I want to be able to save OARS on the fly in world. Also as it is heard numerous times from folks everywhere, many wish they had a way of getting OARS or IARS but do not have console access. By scripting a system to handle this it can accommodate these people by saving the files to a location that they could access via dropbox, webserver or whatever an operator wants to setup for people to access. (works a treat with my WebServer & Dropbox BTW). This is especially useful for Team Build regions / projects where OAR generation is important and where not all project members would have console access, as well as several other use cases for both OAR & IAR.
(0021027)
justincc (administrator)
2012-03-05 19:03

Thanks WhiteStar. It's possible that a networking change I'm hoping we see soon will help this issue but I need to do more analysis. Hopefully I can do this as well some time soon.
(0021068)
justincc (administrator)
2012-03-09 18:06

Please could you try the code in git master 1693799. This performs the requests to the asset service serially rather than simultaneously which may make things more reliable.

BTW, I'm slowly working up to providing IAR load as a capability by which they could be loaded directly via a viewer. However, this is probably still a while away.
(0021071)
WhiteStar (reporter)
2012-03-10 04:56

Tested with 6e26f17-r/18294

Results:
Using the scripted Save Oar fails initially with this msg in the logs.

2012-03-10 07:39:03,484 INFO - OpenSim.Region.CoreModules.World.Archiver.ArchiverModule [ARCHIVER]: Writing archive for region Old_City to ../BACKups/OAR/Old_City.oar
2012-03-10 07:39:49,894 ERROR - OpenSim.Data.MySQL.MySQLAssetData [ASSETS DB]: MySql failure fetching asset ac942d31-1f38-42b4-a081-fbbe9b21d637: Thread was being aborted.
2012-03-10 07:39:49,894 ERROR - OpenSim.Region.Framework.Scenes.UuidGatherer [UUID GATHERER]: Failed to gather uuids for asset id ac942d31-1f38-42b4-a081-fbbe9b21d637, type Object
2012-03-10 07:39:49,910 ERROR - OpenSim.Region.Framework.Scenes.UuidGatherer [UUID GATHERER]: Failed to get part - System.Threading.ThreadAbortException: Thread was being aborted.
   at OpenSim.Data.MySQL.MySQLAssetData.GetAsset(UUID assetID) in c:\GIT\opensim\OpenSim\Data\MySQL\MySQLAssetData.cs:line 146
   at OpenSim.Services.AssetService.AssetService.Get(String id, Object sender, AssetRetrieved handler) in c:\GIT\opensim\OpenSim\Services\AssetService\AssetService.cs:line 156
   at OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset.HGAssetBroker.Get(String id, Object sender, AssetRetrieved handler) in c:\GIT\opensim\OpenSim\Region\CoreModules\ServiceConnectorsOut\Asset\HGAssetBroker.cs:line 303
   at OpenSim.Region.Framework.Scenes.UuidGatherer.GetAsset(UUID uuid) in c:\GIT\opensim\OpenSim\Region\Framework\Scenes\UuidGatherer.cs:line 220
   at OpenSim.Region.Framework.Scenes.UuidGatherer.GetSceneObjectAssetUuids(UUID sceneObjectUuid, IDictionary`2 assetUuids) in c:\GIT\opensim\OpenSim\Region\Framework\Scenes\UuidGatherer.cs:line 303
   at OpenSim.Region.Framework.Scenes.UuidGatherer.GatherAssetUuids(UUID assetUuid, AssetType assetType, IDictionary`2 assetUuids) in c:\GIT\opensim\OpenSim\Region\Framework\Scenes\UuidGatherer.cs:line 124
   at OpenSim.Region.Framework.Scenes.UuidGatherer.GatherAssetUuids(SceneObjectGroup sceneObject, IDictionary`2 assetUuids) in c:\GIT\opensim\OpenSim\Region\Framework\Scenes\UuidGatherer.cs:line 185
2012-03-10 07:39:49,941 DEBUG - OpenSim.Region.Framework.Scenes.UuidGatherer [UUID GATHERER]: Texture entry length for prim was 65 (min is 46)

After performing a manual "save oar" on concole it does save properly with only a few missing assets (the usual msg as expected)

This particular region is the heaviest with 1376 scene objects to serialize requiring save of 10846 assets. The other regions which are lighter in content do save.
(0021072)
WhiteStar (reporter)
2012-03-10 05:24
edited on: 2012-03-10 05:47

Ohhh POO ! (best way to put it, really)

I decided that just for the fun of it, I'd run a "save iar" which worked perfectly before, sadly it fails now ;(

Running an IAR manually does work even from inventory root "/" and my inventory on this system is just under 7,500 items. Although, it does miss some items (1278 assets) it does not kill the archiving process.

Scripted Use fails, this is all the log says:

2012-03-10 07:58:15,351 INFO - OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.InventoryArchiverModule [INVENTORY ARCHIVER]: Saving archive ../BACKups/IAR/WhiteStar-Magic.iar using inventory path /* for WhiteStar Magic
2012-03-10 07:58:15,382 DEBUG - OpenSim.Services.AuthenticationService.PasswordAuthenticationService [PASS AUTH]: got {EDITED}; hashed = {EDITED}; stored = {EDITED}
2012-03-10 07:58:15,476 INFO - OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.InventoryArchiveWriteRequest [INVENTORY ARCHIVER]: Adding control file to archive.
2012-03-10 07:58:15,476 INFO - OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.InventoryArchiveWriteRequest [INVENTORY ARCHIVER]: Creating version 0.3 IAR
2012-03-10 07:58:15,491 DEBUG - OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.InventoryArchiveWriteRequest [INVENTORY ARCHIVER]: Found folder My Inventory e0c486fc-4300-4db4-831a-5ade627890de at /
2012-03-10 07:59:02,660 ERROR - OpenSim.Data.MySQL.MySQLAssetData [ASSETS DB]: MySql failure fetching asset 1fda0be6-b6e1-452a-b751-d15cd10160db: Thread was being aborted.
2012-03-10 07:59:02,660 ERROR - OpenSim.Region.Framework.Scenes.UuidGatherer [UUID GATHERER]: Failed to gather uuids for asset id 1fda0be6-b6e1-452a-b751-d15cd10160db, type Object


It seems to be able to do sub-folders partially but fails as well... see log extract below


2012-03-10 08:14:06,547 INFO - OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.InventoryArchiverModule [INVENTORY ARCHIVER]: Saving archive ../BACKups/IAR/WhiteStar-Magic.iar using inventory path /Objects for WhiteStar Magic
2012-03-10 08:14:06,610 DEBUG - OpenSim.Services.AuthenticationService.PasswordAuthenticationService [PASS AUTH]: got {EDITED}; hashed = {EDITED}; stored = {EDITED}
2012-03-10 08:14:06,734 INFO - OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.InventoryArchiveWriteRequest [INVENTORY ARCHIVER]: Adding control file to archive.
2012-03-10 08:14:06,734 INFO - OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.InventoryArchiveWriteRequest [INVENTORY ARCHIVER]: Creating version 0.3 IAR
2012-03-10 08:14:06,734 DEBUG - OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.InventoryArchiveWriteRequest [INVENTORY ARCHIVER]: Found folder Objects cf17fde8-f03b-45d4-8adb-eb9262827bd5 at Objects
2012-03-10 08:14:18,169 DEBUG - OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.InventoryArchiveWriteRequest [INVENTORY ARCHIVER]: Saving 2565 assets for items
2012-03-10 08:14:18,169 DEBUG - OpenSim.Region.CoreModules.World.Archiver.AssetsRequest [ARCHIVER]: AssetsRequest executed looking for 2565 possible assets
2012-03-10 08:14:19,464 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 50 assets to archive
2012-03-10 08:14:19,885 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 100 assets to archive
2012-03-10 08:14:20,353 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 150 assets to archive
2012-03-10 08:14:20,868 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 200 assets to archive
2012-03-10 08:14:21,398 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 250 assets to archive
2012-03-10 08:14:22,069 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 300 assets to archive
2012-03-10 08:14:22,615 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 350 assets to archive
2012-03-10 08:14:23,255 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 400 assets to archive
2012-03-10 08:14:23,863 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 450 assets to archive
2012-03-10 08:14:24,253 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 500 assets to archive
2012-03-10 08:14:24,784 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 550 assets to archive
2012-03-10 08:14:25,267 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 600 assets to archive
2012-03-10 08:14:26,219 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 650 assets to archive
2012-03-10 08:14:26,796 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 700 assets to archive
2012-03-10 08:14:27,295 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 750 assets to archive
2012-03-10 08:14:27,794 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 800 assets to archive
2012-03-10 08:14:28,465 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 850 assets to archive
2012-03-10 08:14:29,042 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 900 assets to archive
2012-03-10 08:14:29,635 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 950 assets to archive
2012-03-10 08:14:30,150 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 1000 assets to archive
2012-03-10 08:14:30,805 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 1050 assets to archive
2012-03-10 08:14:31,991 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 1100 assets to archive
2012-03-10 08:14:32,568 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 1150 assets to archive
2012-03-10 08:14:33,067 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 1200 assets to archive
2012-03-10 08:14:33,629 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 1250 assets to archive
2012-03-10 08:14:34,175 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 1300 assets to archive
2012-03-10 08:14:34,877 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 1350 assets to archive
2012-03-10 08:14:35,376 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 1400 assets to archive
2012-03-10 08:14:39,370 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 1450 assets to archive
2012-03-10 08:14:41,834 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 1500 assets to archive
2012-03-10 08:14:43,379 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 1550 assets to archive
2012-03-10 08:14:44,471 INFO - OpenSim.Region.CoreModules.World.Archiver.AssetsArchiver [ARCHIVER]: Added 1600 assets to archive
2012-03-10 08:14:45,828 ERROR - Flotsam.RegionModules.AssetCache.FlotsamAssetCache [FLOTSAM ASSET CACHE]: Failed to get file ../assetcache\6e4\6e49b866-60a7-40ab-805b-2e7830e925e6 for asset 6e49b866-60a7-40ab-805b-2e7830e925e6. Exception Thread was being aborted. at Microsoft.Win32.Win32Native.ReadFile(SafeFileHandle handle, Byte* bytes, Int32 numBytesToRead, Int32& numBytesRead, IntPtr mustBeZero)
   at System.IO.FileStream.ReadFileNative(SafeFileHandle handle, Byte[] bytes, Int32 offset, Int32 count, NativeOverlapped* overlapped, Int32& hr)
   at System.IO.FileStream.ReadCore(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.FileStream.Read(Byte[] array, Int32 offset, Int32 count)
   at System.IO.BinaryReader.ReadBytes(Int32 count)
   at System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord.Read(__BinaryParser input)
   at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadSerializationHeaderRecord()
   at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream)
   at Flotsam.RegionModules.AssetCache.FlotsamAssetCache.GetFromFileCache(String id) in c:\GIT\opensim\OpenSim\Region\CoreModules\Asset\FlotsamAssetCache.cs:line 358

(0021122)
justincc (administrator)
2012-03-16 20:49

Unlike OARs, IARs have no asynchronous component. So as soon as the script hits the event limit the abort will kill it.

In the case of OARs, there is an async component but this occurs after the uuid gathering stage. The uuid gathering can take a long time since it needs to request assets to complete the analysis. Hence, it can work on subsequent goes because the previous requests are already cached.

I may look at moving the async component of OAR saving forward but really the easiest solution here is to increase the EventLimit in [XEngine] so scripts will not get aborted once they exceed 300 seconds.
(0021136)
albertlr Landar (reporter)
2012-03-21 11:59
edited on: 2012-03-22 11:25

I have some observations that might help with this. I presume you are referring to the setting: MaxScriptEventQueue = 300 in the Opensimdefault.ini and opensim.ini. I was working on a menu driven script to run the Geometric Dome Builder, and I added the llCreateLink() function to allow the user to automatically link all the prims if they choose. After much experimenting I found it would only work if placed at the very end of the script, and apparently as the setting suggests it keeps a list of all the prims that are rezzed, and only links them once everything has been put into place and rezzed. The total amount of prims was around 374. But I noticed that every time I ran my script, it would only link 301 prims, one primary prim and 300 child prims. I scanned opensim.ini with the assumption that there had to be a setting that was affecting this. And sure enough I found when I changed the value by just adding an extra 0 making it 3000 that it ran fine. So I would think in running a scripted version of the Oar save command as a in world backup that its running into the same situation, and especially if there are a lot of prims to back up the setting would have to be set to more than that to complete properly. This setting does not seem to affect such functions as rezzing, apparently only functions that would require a lot of consecutive actions.

(0021140)
EliopodB (reporter)
2012-03-25 12:50

I can create OARs for my regions in OSGRID with no problems if I turn off physics as suggested by Nebanon, however Loading the OARs back somewhere else adds about 4000 unreferenced entries to the assets table which i have to garbage collect. I am running version 18122 in osgrid and the FlotsamCache.ini is as specified on the osgrid page. Even for a region with 8 prims and 160 primitems I end up with this huge number of unreferenced entries in the assets table when loading the oar
(0021141)
WhiteStar (reporter)
2012-03-25 17:01
edited on: 2012-03-25 17:03

@ Justin: As of OpenSim-4f17537-r/18491 this is still the same, no change.

This particular issue relates to using an In-World Script with osConsoleCommand(save oar ...).

Manually saving oars is 'not' the issue here.

Using osConsoleCommand(...) is because that function expects a return / response and times out causing an error. The save oar process takes time to process the data and respond back.

The side-issue relating to Flotsam is peculiar to this as you can "save oar...." manually and Flotsam will behave itself (mostly) but if you use osConsoleCommand(save oar...) Flotsam spews up jetsam and fails with blaring red error's.

@ Albert modding the INI files to accommodate this is not an option as that would require defaults to be changed for anyone wishing to make / save oars in-world.

@ EliopodB Prior to saving oar, try issuing a console command 'fcache assets' and WAIT till it's completed refreshing the flotsam cache. Then 'save oar ....' and watch that for missing entries, if you see an excess of them, re run the save oar command and you will see that number of missed items greatly reduced. If you have a heavy region (prims &/OR scripts) you may want to do it 2 or 3 times one after the other and you will see the missed items reduce each time. Note that every consecutive save oar will be faster than the previous execution.


BTW: I used 'save oar ....' as opposed to a full long string.

(0021373)
WhiteStar (reporter)
2012-05-05 05:43

As of OpenSim 0.7.4 Dev 01b00ad-r/18910 May.05.2012 this appears to have been fixed with the related & unrelated fixes to FlotsamCache and other processes.

I have just completed a battery of tests and this is no longer reproducable and the scripts from in-world now operate as expected & as designed.

Therefore I am closing this as resolved.
(0022970)
WhiteStar (reporter)
2012-10-30 21:13

resolved

- Issue History
Date Modified Username Field Change
2012-02-21 09:44 WhiteStar New Issue
2012-02-21 09:47 WhiteStar Description Updated View Revisions
2012-02-21 09:47 WhiteStar Additional Information Updated View Revisions
2012-02-22 07:46 WhiteStar Note Added: 0020934
2012-02-22 09:48 justincc Note Added: 0020937
2012-02-22 09:48 justincc Note Added: 0020938
2012-02-22 12:30 WhiteStar Note Added: 0020940
2012-02-23 17:16 justincc Note Added: 0020961
2012-02-23 17:16 justincc Assigned To => justincc
2012-02-23 17:16 justincc Status new => feedback
2012-02-23 17:16 justincc Note Edited: 0020961 View Revisions
2012-02-23 17:17 justincc Note Edited: 0020961 View Revisions
2012-02-24 07:44 WhiteStar Note Added: 0020962
2012-02-24 07:44 WhiteStar Status feedback => assigned
2012-02-24 07:45 WhiteStar File Added: LOG.txt
2012-02-24 07:45 WhiteStar File Added: osConsoleCommand-script.txt
2012-02-24 07:48 WhiteStar Note Added: 0020963
2012-02-24 20:53 justincc Note Added: 0020975
2012-02-25 05:32 WhiteStar Note Added: 0020976
2012-02-25 05:32 WhiteStar File Added: LOG-2-25.txt
2012-03-05 19:03 justincc Note Added: 0021027
2012-03-09 18:06 justincc Note Added: 0021068
2012-03-10 04:56 WhiteStar Note Added: 0021071
2012-03-10 05:24 WhiteStar Note Added: 0021072
2012-03-10 05:27 WhiteStar Note Edited: 0021072 View Revisions
2012-03-10 05:47 WhiteStar Note Edited: 0021072 View Revisions
2012-03-16 20:49 justincc Note Added: 0021122
2012-03-21 11:59 albertlr Landar Note Added: 0021136
2012-03-21 19:43 albertlr Landar Note Edited: 0021136 View Revisions
2012-03-22 11:25 albertlr Landar Note Edited: 0021136 View Revisions
2012-03-25 12:50 EliopodB Run Mode Standalone (Multiple Regions) => Grid (1 Region per Sim)
2012-03-25 12:50 EliopodB Environment .NET / Windows32 => .NET / Windows64
2012-03-25 12:50 EliopodB Note Added: 0021140
2012-03-25 12:50 EliopodB Additional Information Updated View Revisions
2012-03-25 17:01 WhiteStar Note Added: 0021141
2012-03-25 17:03 WhiteStar Note Edited: 0021141 View Revisions
2012-05-05 05:43 WhiteStar Note Added: 0021373
2012-05-05 05:43 WhiteStar Status assigned => resolved
2012-05-05 05:43 WhiteStar Fixed in Version => master (dev code)
2012-05-05 05:43 WhiteStar Resolution open => fixed
2012-10-30 21:13 WhiteStar Note Added: 0022970
2012-10-30 21:13 WhiteStar Status resolved => closed


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker