secondlife / jira-archive

2 stars 0 forks source link

[BUG-234561] The UDP LinkInventoryItem message is not working any more. #11465

Open sl-service-account opened 12 months ago

sl-service-account commented 12 months ago

What just happened?

When I disable AISv3 for inventory operations, using instead the legacy UDP message to create inventory links, the server reports a failure to create the inventory. This bug appeared shortly before the release of the new SL release viewer with thumbnail support and updated AISv3 protocol/operations.

What were you doing when it happened?

Using the Cool VL Viewer (which is the only viewer able to optionally disable AISv3 to use instead legacy AISv2 capabilities and UDP inventory messages), I cannot create any inventory link any more (which includes COF links, necessary to bake when changing outfit).

What were you expecting to happen instead?

The LinkInventoryItem UDP message should still work like it did in the past (Monty Linden confirmed to me that there has been no plan to disable it so far).

Other information

The motivation behind being able to do without AISv3 stems from occasional issues with it: sometimes (like once every couple of months or so), you get 50x HTTP errors left and right with AISv3, and cannot bake, change outfit, etc. In these (rare but no less annoying) cases, disabling AISv3 and relying on legacy AISv2 caps and UDP messages allows to use SL like if nothing had happened... Since, unlike most other inventory operations, there is not even an AISv2 capability available to create inventory links, the only alternative to AISv3 to create such links is to use the LinkInventoryItem UDP message...

You can use the current stable Cool VL Viewer release (from http://sldev.free.fr/ ) to reproduce the bug, like so:

Attachments

Original Jira Fields | Field | Value | | ------------- | ------------- | | Issue | BUG-234561 | | Summary | The UDP LinkInventoryItem message is not working any more. | | Type | Bug | | Priority | Unset | | Status | Accepted | | Resolution | Triaged | | Reporter | Henri Beauchamp (henri.beauchamp) | | Assignee | MaintQATeam (maintqateam) | | Created at | 2023-10-17T22:05:04Z | | Updated at | 2023-10-18T19:18:07Z | ``` { 'Build Id': 'unset', 'Business Unit': ['Platform'], 'Date of First Response': '2023-10-18T13:46:16.809-0500', "Is there anything you'd like to add?": 'The motivation behind being able to do without AISv3 stems from occasional issues with it: sometimes (like once every couple of months or so), you get 50x HTTP errors left and right with AISv3, and cannot bake, change outfit, etc. In these (rare but no less annoying) cases, disabling AISv3 and relying on legacy AISv2 caps and UDP messages allows to use SL like if nothing had happened...\r\nSince, unlike most other inventory operations, there is not even an AISv2 capability available to create inventory links, the only alternative to AISv3 to create such links is to use the LinkInventoryItem UDP message...\r\n\r\n\r\nYou can use the current stable Cool VL Viewer release (from http://sldev.free.fr/ ) to reproduce the bug, like so:\r\n- In the "Advanced" -> "Network" menu, un-tick "Use AISv3 protocol for inventory", then un-tick the "Always use AISv3 to create links" which is the workaround I implemented last week for this new server bug (but that won\'t help when AISv3 does not work, of course).\r\n- Open the inventory and then you can right click on any wearable item or object in it, and "Copy", then right click again and "Paste as link" to trigger the bug.\r\n\r\nNote: I verified with old versions of the Cool VL Viewer (up to 3+ years old ones) that they behave the same as this new one. Also, inventory links creation with UDP still works as usual and as expected in OpenSim grids. Add to this that this part of the code has been left untouched for years, and the only conclusion is that it just *cannot* be a bug in the viewer itself.', 'ReOpened Count': 0.0, 'Severity': 'Unset', 'System': 'SL Simulator', 'Target Viewer Version': 'viewer-development', 'What just happened?': 'When I disable AISv3 for inventory operations, using instead the legacy UDP message to create inventory links, the server reports a failure to create the inventory.\r\nThis bug appeared shortly before the release of the new SL release viewer with thumbnail support and updated AISv3 protocol/operations.', 'What were you doing when it happened?': 'Using the Cool VL Viewer (which is the only viewer able to optionally disable AISv3 to use instead legacy AISv2 capabilities and UDP inventory messages), I cannot create any inventory link any more (which includes COF links, necessary to bake when changing outfit).', 'What were you expecting to happen instead?': 'The LinkInventoryItem UDP message should still work like it did in the past (Monty Linden confirmed to me that there has been no plan to disable it so far).', 'Where': 'The repro I just did was done at: Morris/128/128/32\r\nBut this would occur anywhere in SL (and in Agni and Aditi alike); it is obviously not a sim-server bug, but likely at the inventory server(s) level.\r\n\r\nPlease, see the detailed log I provide here with milliseconds accurate time stamps and DEBUG level logging enabled for inventory operations and UDP messaging (spammy despite a purposely reduced draw distance, sorry). The error occurs between 2023-10-17 21:48:04.182Z (sending of the UDP message) and 2023-10-17 21:48:04.394Z (server error alert "Cannot create requested inventory.", with "CantCreateRequestedInv" notification Id, received).', } ```
sl-service-account commented 12 months ago

Signal Linden commented at 2023-10-18T18:46:17Z, updated at 2023-10-18T18:46:32Z

Thanks for the report, Henri. I can't say it is going to be high on the priority list, as the better solution is to fix and problems with AISv3 before eventually removing AISv2 functionality. No timeline on the deprecation... yet.

sl-service-account commented 12 months ago

Henri Beauchamp commented at 2023-10-18T19:18:07Z

A word of warning. Be extra careful with removal...

Even among viewers using AISv3 (all "current" viewers do), some of them are not maintained any more (e.g. Singularity) or not very often (with months between updates): such viewers are using AISv2 capabilities and UDP messaging to cover operations that were not available via AISv3 before the latest update we got this month. Some operations are totally vital; I am thinking, in particular, about the LLInventoryModel::createNewCategory() method, that did not use AISv3 at all so far and which actual usage caused all viewers to actually go the UDP route (because they all used the method without a callback, so to get the new folder Id synchronously like UDP allows, and since the AISv2 alternative method to create a folder needs one, it was never used inside LLInventoryModel::createNewCategory() where the test for a NULL callback excluded it). If you remove the "CreateInventoryFolder" UDP message support, you instantly break all these viewers (and all old versions of all viewers)...