Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008775opensim[GRID] Hypergridpublic2020-09-27 01:152021-01-09 20:15
ReporterFerd Frederix 
Assigned To 
PlatformAllOperating SystemAllOperating System VersionAll
Product Version0.9.1.0 
Target VersionFixed in Version 
Summary0008775: Some HG assets can no longer be taken except by attaching.
DescriptionI am running 5 day old 0.9.2 "Master" Opensim updated to #d2e7c711b4188106a 2020-09-21 20:40:24 "Actually make yExceptionMessage and yExceptionTypeName avaiable". on Windows 10.

I cannot rez items I get from a slightly older Opensim, #650e6bbe55c55fe05 2020-09-07 17:08 "try reduce number of this webrequest", OpenSim Yeti Dev (Win/.NET), on Server 2016 at Contabo.

Both setups are running stock Opensim compiled by me on Windows.

If I take an items back to my grid it will not rez.
If I attach them at the remote grid to my avatar they will arrive at my grid and rez at my grid after I detach them.
If I drag and drop them by IM from the same sim, the item will not rez.
A landmark made there does not work on my grid. It will work if I return to the host grid.

This is the weird part:
If I travel back to the source grid, and wear the same item I took previously from my inventory, and wear/attach it then come back to my grid, it will rez.

So the only path to take an item appears to be to wear it.

Steps To ReproduceGo to 313.3, 149.5, 21.7 in "Welcome to Shirelands" located at ( (Windows Server 2016)

SLURL: hop:// [^]

Take an object, such as "Beaded Belt" at that location. See uploaded Photo. It will appear in your inventory. Travel to a later rev grid such as [^] in either Sandbox UBODE or Sandbox Bullet. The item will not rez. Travel back to the origin grid. Attach the object. Travel back to your grid. Detach the item. It will now rez.

Additional InformationSeems very similar to an old bug where only attached items could be brought There are multiple inventory paths on the HG, and it seems as if two of three (IM and Inventory) are broken again.

This may not happen on all grids, as I have only tested it using Fsassets at the destination. The failed items do not appear in my fsassets database folders. They do not appear in MySQL fallback in Robust table assets. There are no error messages in Robust on 'set log level all'. No messages at all.

There is an error message in the region I return to: It says 01:58:15 - [InventoryAccessModule]: Could not find asset 6e4f2998-3d7f-47b2-a699-15fcaf29a694 for item <NAME> <UUID> for <MyName> in RezObject()

if anyone has suggestions on other debug options that may expose what is happening, please let me know below.

Any other suggestions for test setups are appreciated.
TagsNo tags attached.
Git Revision or version number#650e6bbe55c55fe05 2020-09-07 17:08 "try reduce number of this webrequest
Run Mode Grid (1 Region per Sim)
Physics EngineBulletSim
Script EngineXEngine
Environment.NET / Windows64
Mono VersionNone
Attached Filespng file icon 3d766abb-0013.png [^] (31,528 bytes) 2020-09-27 01:15

png file icon SeaofThassa.png [^] (786,728 bytes) 2020-09-27 01:15

- Relationships

-  Notes
JeffKelley (reporter)
2020-09-27 02:15
edited on: 2020-09-27 09:20

Experiment 1:

Home grid runs Yeti Dev 2020-09-24-7979028 (Standalone)

Teleport to to shirelands
Take object "Beaded Belt" with an eye on the asset table
-> No asset is created

Back home. Still no asset created. Trying to rez:
-> Unable to rez: could not find asset 3d766abb-0013-44ef-bf73-48114baeed39 for item Beaded belt.

Back to Welcome to Shirelands
Take a new copy and wear
Back home.
-> An asset type 6 (object) is created
-> No texture assets are created

The objects appears ok (but remember : no texture assets).

Experiment 2:

Compiling last master 2020-09-26-fff815e for remote grid.
Home grid is still 2020-09-24-7979028 (Standalone)

Teleport to remote grid.
Check it's actually fff815e : yes.
Take copy of an object
-> Asset 6 and related are immediately created in home's DB


I can reproduce your specific issue but i can't reproduce it on last master.

UbitUmarov (administrator)
2020-09-27 06:23

I love HG and consider it a fundamental part of opensim but i just hate its code.

no idea how hg take/takecopy/buy even attach on outside grid was ever consider to work. The fundamentals behind code seem just broken, or unsustainable, from start.

it seems it assumes every asset ID includes a full grid ID, like a HG avatar
name. A big Federation of shared assets services also??
Well that may look interesting but it is unsustainable.

As i can see when we tp or take/buy a object, only the object is actually transfered, no assets.

later, a least the first time, someone tries to rez it, the region asks for it to original grid assetservice. (Assuming that grid or standalone is still there, already a failed assumption). Possible on some versions those assets would be fetched from the other gird, every time they where missing from regions cache.

Other problem on this, no code was added to set those assets extended ID in a reliable way, except on attachments at login/arrival from HG.
( it is possible some that code was there, but removed to allow normal "inGrid" operations to actually do something in reasonable time)

On top of this, once found that a full totally free assets HG would not work for all real use cases, some optional restrictions where added that do block assets transfers, and do it silently. Resulting on more broken objects in inventories.
Sure there is also the assumption that only Freebies should travel on HG ( broken export flag case).

This is hard to verify/debug, because viewers keep cache of assets, so all looks well, unless the region does need to find the asset during rez, and that basically only happens to compile scripts, so we may need to use those on tests.
UbitUmarov (administrator)
2020-09-27 08:02
edited on: 2020-09-27 08:14

on that i was wrong, there is code to try to send all embedded assets on copy to user inventory. i even made some changes on it several times.. Duhh

UbitUmarov (administrator)
2020-09-27 08:50

Made some testing with objects created at my home grid, test region at osgrid, both on last master, and osgrid sandbox plaza III on a older version 2476d711c4: 2020-08-09.
objects included a script, so on rez the region must get it to compile.

Take Copy (same internals as Take, without delete from region) worked fine for both my grid avatar on visit to osgrid regions, and osgrid avatar at my test grid.
sez and scripts worked fine on the several cases.
JeffKelley (reporter)
2020-09-27 09:56

Made another test on a grid running master of September, 24 (7979028) with a meshed object. I have received the object plus all mesh and texture assets in my database.

> no idea how hg take/takecopy/buy even attach on outside grid was ever consider to work.

This may be a miracle but it works "most of the time". I have a friend who do a lot of shopping (really a lot, she filled a 12GB OAR). She estimates the success rate over 90%. We all have transfered cargos of texture boxes. I have transfered a box of 323 animations yesterday and it shows in my database as 324 assets. "Painted" textures (those in primshapes.Texture blob) are also transfered reliably. Transfer takes place at the moment you take the object, not returning home or rezing it. Cases of failure are : prematurate shutdown of receiving grid and export prohibited.

@Ferd : can you please check : conf show GridService ExportSupported
UbitUmarov (administrator)
2020-09-27 09:58

yeah my excellent memory got in the way on that :p
Ferd Frederix (reporter)
2021-01-09 20:02

Found it! Do not use this line:

 ;; HG1.5, more permissive, not recommended, but still supported
    ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService"

The above is very unreliable and will cause loss of assets taken from random other grids. It either works on a foreign region, or not, no idea why.

Use this one:

 ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust
    ;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
Ferd Frederix (reporter)
2021-01-09 20:11

Leaving this open but "Minor" priority as the HGInventoryService is broken in a reproducible manner. However, there is a workaround in using XInventoryService.

Maybe its time to delete the HG1.5 connector.

- Issue History
Date Modified Username Field Change
2020-09-27 01:15 Ferd Frederix New Issue
2020-09-27 01:15 Ferd Frederix File Added: 3d766abb-0013.png
2020-09-27 01:15 Ferd Frederix File Added: SeaofThassa.png
2020-09-27 01:23 Ferd Frederix Git Revision or version number => #650e6bbe55c55fe05 2020-09-07 17:08 "try reduce number of this webrequest
2020-09-27 01:23 Ferd Frederix Description Updated View Revisions
2020-09-27 01:23 Ferd Frederix Steps to Reproduce Updated View Revisions
2020-09-27 01:23 Ferd Frederix Additional Information Updated View Revisions
2020-09-27 02:15 JeffKelley Note Added: 0036903
2020-09-27 02:16 JeffKelley Note Edited: 0036903 View Revisions
2020-09-27 02:21 JeffKelley Note Edited: 0036903 View Revisions
2020-09-27 02:32 JeffKelley Note Edited: 0036903 View Revisions
2020-09-27 06:23 UbitUmarov Note Added: 0036904
2020-09-27 07:22 JeffKelley Note Edited: 0036903 View Revisions
2020-09-27 08:03 UbitUmarov Note Added: 0036905
2020-09-27 08:13 UbitUmarov Note Edited: 0036905 View Revisions
2020-09-27 08:14 UbitUmarov Note Edited: 0036905 View Revisions
2020-09-27 08:50 UbitUmarov Note Added: 0036906
2020-09-27 09:19 JeffKelley Note Edited: 0036903 View Revisions
2020-09-27 09:20 JeffKelley Note Edited: 0036903 View Revisions
2020-09-27 09:56 JeffKelley Note Added: 0036907
2020-09-27 09:58 UbitUmarov Note Added: 0036908
2021-01-09 20:02 Ferd Frederix Note Added: 0037488
2021-01-09 20:11 Ferd Frederix Note Added: 0037490
2021-01-09 20:11 Ferd Frederix Severity major => minor
2021-01-09 20:11 Ferd Frederix Operating System => All
2021-01-09 20:11 Ferd Frederix Operating System Version => All
2021-01-09 20:11 Ferd Frederix Platform => All

Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker