MantisBT - opensim
View Issue Details
0008411opensim[GRID] Inventory Servicepublic2018-11-22 05:032019-03-23 06:00
mewtwo0641 
mewtwo0641 
normalmajoralways
resolvedfixed 
0.9.0.1 
master (dev code) 
master
Grid (Multiple Regions per Sim)
ubODE
.NET / Windows64
None
Applies to all viewers
0008411: Coalesced items in inventory are no longer shown with the coalesced item icon and other inventory weirdness
As of commit eb5fe57a17ada01885fbc5bb5ea543d109dab7ec coalesced items in inventory no longer show with the proper icon (The icon that resembles the object icon but is broken up slightly to denote a coalesced item).

Some of these items (Especially larger coalesced builds) won't rez at all; You'll hear the "build" sound when you try but nothing ever appears, not even after a sim restart.

This doesn't seem to be viewer dependant (Tested on several different viewers including Firestorm and Singularity)

Possibly related, but unsure, I have been randomly seeing a lot of XML parsing errors on master that don't seem to show up prior to commit eb5fe57a17ada01885fbc5bb5ea543d109dab7ec that look something like this:

2018-11-22 04:57:20,540 DEBUG [serverUtils.ParseXmlResponse]: failed error: Unexpected end of file while parsing Name has occurred. Line 1, position 204801.

(Then just an obscene amount of XML describing seemingly everything that agent owns in their inventory following this error)
Have a coalesced item in inventory on OpenSim master revision and check what the icon for the object looks like in inventory.

Note: The issue won't show up if you make a new coalesced item; It only affects existing items in inventory. I did notice that if I duplicate (Copy and paste elsewhere in inventory) the item that is supposed to have the coalesced icon does have the proper icon on the newly copied item, but the new item then has the wrong icon upon next relog (Possibly after clearing viewer cache).

So it may be possible to purposefully trigger the issue by making a new coalesced item, take to inventory, clear viewer cache, and then relog and check the icon.
Git Bisect Results:

$ git bisect good
eb5fe57a17ada01885fbc5bb5ea543d109dab7ec is the first bad commit
commit eb5fe57a17ada01885fbc5bb5ea543d109dab7ec
Author: UbitUmarov <ajlduarte@sapo.pt>
Date: Sat Oct 6 23:42:24 2018 +0100

    more use of simpler xml encoder on inventory fetch, plus other cosmetics

:040000 040000 f2d5d8b89b00bac9c4eae724eb67ef79833a77ed 8879fcac9d6b1c22f1c28758cdec4072e01146fa M OpenSim
No tags attached.
png mantis8411.png (186,921) 2018-11-22 10:50
http://opensimulator.org/mantis/file_download.php?file_id=4799&type=bug
png

png manstis 8411_singu.png (463,619) 2018-11-22 10:54
http://opensimulator.org/mantis/file_download.php?file_id=4800&type=bug
png mantis8411_win_net_xassets.png (68,849) 2018-11-22 11:04
http://opensimulator.org/mantis/file_download.php?file_id=4801&type=bug
png
Issue History
2018-11-22 05:03mewtwo0641New Issue
2018-11-22 05:03mewtwo0641Steps to Reproduce Updatedbug_revision_view_page.php?rev_id=7364#r7364
2018-11-22 10:50BillBlightFile Added: mantis8411.png
2018-11-22 10:51BillBlightNote Added: 0033522
2018-11-22 10:54BillBlightFile Added: manstis 8411_singu.png
2018-11-22 11:04BillBlightFile Added: mantis8411_win_net_xassets.png
2018-11-22 11:28BillBlightNote Edited: 0033522bug_revision_view_page.php?bugnote_id=33522#r7366
2018-11-22 17:10BillBlightNote Added: 0033523
2018-11-22 17:10BillBlightNote Edited: 0033523bug_revision_view_page.php?bugnote_id=33523#r7368
2018-11-22 17:15UbitUmarovNote Added: 0033524
2018-11-22 17:42mewtwo0641Note Added: 0033525
2018-11-22 17:48mewtwo0641Steps to Reproduce Updatedbug_revision_view_page.php?rev_id=7369#r7369
2018-11-22 17:51BillBlightNote Added: 0033526
2018-11-22 17:55UbitUmarovNote Added: 0033527
2018-11-22 17:57mewtwo0641Note Added: 0033528
2018-11-22 18:04mewtwo0641Note Added: 0033529
2018-11-22 18:10mewtwo0641Note Edited: 0033529bug_revision_view_page.php?bugnote_id=33529#r7371
2018-11-22 18:44UbitUmarovNote Added: 0033530
2018-11-22 18:47UbitUmarovNote Added: 0033531
2018-11-22 19:21mewtwo0641Note Added: 0033532
2019-03-23 06:00mewtwo0641Statusnew => resolved
2019-03-23 06:00mewtwo0641Fixed in Version => master (dev code)
2019-03-23 06:00mewtwo0641Resolutionopen => fixed
2019-03-23 06:00mewtwo0641Assigned To => mewtwo0641

Notes
(0033522)
BillBlight   
2018-11-22 10:51   
(edited on: 2018-11-22 11:28)
What version of firestorm are you using?? What type of asset server , Xassets or fsassets ..


Tried to replicate it, attached image.

EDIT: I am testing with very latest master.

(0033523)
BillBlight   
2018-11-22 17:10   
@mewtwo0641 Ubit did find something wrong that just seemed to not affect me, so there is a new master with hopefully a fix ..

(0033524)
UbitUmarov   
2018-11-22 17:15   
yes I made a change on master
(0033525)
mewtwo0641   
2018-11-22 17:42   
@BillBlight - Sorry about that, I was a bit tired when I posted the mantis. But I was testing with the latest Firestorm (v5.1.7.55786). The asset server is standard MySQL storage (not FSAssets). Also I probably should have clarified that you won't see the issue if you make a new coalesced item; It only affects existing items in inventory. I did notice that if I duplicate (Copy and paste elsewhere in inventory) the item that is supposed to have the coalesced icon does have the proper icon on the newly copied item, but the new item then has the wrong icon upon next relog (Possibly after clearing viewer cache)

@Ubit - Thanks for looking into this Ubit, I am having a bit of trouble compiling master in order to test though.

Compile Error:

"D:\ostest\opensim.sln" (default target) (1) ->
"D:\ostest\OpenSim\Region\ScriptEngine\YEngine\OpenSim.Region.ScriptEngine.YEngine.csproj" (default target) (64) ->
(CoreCompile target) ->
  XMRInstCtor.cs(894,37): error CS0136: A local variable named 'eventCode' cannot be declared in this scope because it would give a different me
aning to 'eventCode', which is already used in a 'parent or current' scope to denote something else [D:\ostest\OpenSim\Region\ScriptEngine\YEngine\OpenSim.Region.ScriptEngine.YEngine.csproj]
(0033526)
BillBlight   
2018-11-22 17:51   
@mewtwo0641 hmm never seen that exact compile error, have you tried a completely clean download, into a fresh empty directory?
(0033527)
UbitUmarov   
2018-11-22 17:55   
that should be at most a warning (that I don't see on VS or mono)
but changed on master, also for clarity
(0033528)
mewtwo0641   
2018-11-22 17:57   
@BillBlight - I just tried on a fresh newly cloned opensim download with the same error
(0033529)
mewtwo0641   
2018-11-22 18:04   
(edited on: 2018-11-22 18:10)
@Ubit - The latest change on master does compile. I am a little confused by the change though

ScriptEventCode evtCode = (ScriptEventCode)Enum.Parse(typeof(ScriptEventCode),
                                                                              evt.EventName);

m_EventCounts[(int)eventCode]++;

The variable name was changed in its declaration but m_EventCounts[(int)eventCode]++; wasn't changed to reflect that name change. So ScriptEventCode evtCode = ... Would be essentially doing nothing?

(0033530)
UbitUmarov   
2018-11-22 18:44   
Ooops...
fixed, thx
(0033531)
UbitUmarov   
2018-11-22 18:47   
changed also some code on take, take copy.. of more than 250 objects
note this may fail a lot
you need to wait for viewer to finish the select, and this can take a lot of time!!

MySQL config option max_allowed_packet needs to be large enough (also for other things)
(0033532)
mewtwo0641   
2018-11-22 19:21   
@Ubit - No problem :)

I tested again and it appears the coalesced items in inventory are showing up with the correct icon now. Tested with Firestorm, Alchemy, and Singularity. All are latest release except Singularity which is a slightly-older-than-latest-build Alpha.

Although there are still some coalesced objects that refuse to rez for me (And rezzes just fine on older code i.e. 0.8.x series and most recent public release). This may be a seperate issue though; I will have to test some more and see if I can pinpoint a spot in time when that first started happening.

I have max_allowed_packet set to 1024M, which is probably waaaay overkill, but I am pretty sure the objects that are failing to rez don't come anywhere near approaching that.

Thank you!