How strange. I inspected all the packet pool code again visually for possible race conditions or bugs and couldn't find anything. I also tested with 2 viewers, LL 3.3.4 and LL 1.2.3 (on different machines) on both mono 2.10.9 and Windows with .net without seeing the issue. This particularly aspect of packet pooling has been around since early October, afair.

However, clearly you're having some kind of problem. I added a tiny bit more logging in git master 0b93a68 to tell us whether one or both viewers are having their AgentUpdate packets rejected and how these are interleaved. Please could you retest with this and open a Mantis with the OpenSim.log. Thanks.

On 13/12/12 04:57, Chris wrote:
Hi Justin,

This started to happen just recently as soon as I started to use commit 905d7c4 
(r/21385); although I am not sure
exactly when this may have started as I made a bit of a jump (895d28f r/20917 
to 905d7c4 r/21385)

This appears to happen when there is more than one person logged in.

Did some tests in a few different variations of connectivity configurations (As 
far as which computer(s) the viewers are
running on):

Have 2 Computers set up, 1 with OS and all related services running, the other 
does not have anything OS related
running. Running a typical home network, 1 network, nothing fancy =)

Results:
1 viewer running on the non OS computer: No apparent issues
1 viewer running on the OS computer: No apparent issues

2 (or more) viewers running on the non OS computer: Shows the AgentUpdate 
packet warnings from time to time
2 (or more) viewers running on the OS computer: Shows the AgentUpdate packet 
warnings although it is noticeably a bit
spammier in this configuration

1 viewer running on OS computer and 1 viewer running on non OS computer: Shows 
the AgentUpdate packet warnings although
it is noticeably a bit spammier in this configuration. The viewer on the OS 
computer tends to experience network lag
quite a bit when walking (i.e. The avatar drifts off into space for a few 
seconds after every few steps) while the
viewer on the non OS computer will be able to walk around just fine but the 
warnings will still pop up in both cases.


If I set RecyclePackets = false in [PacketPool] then the issues seem to go 
away. I repeated the above tests and threw in
a couple more viewer instances for good measure to check as well.



For the HTTP Inventory question; I set:

[ClientStack.LindenCaps]
     Cap_FetchInventoryDescendents2 = ""
     Cap_FetchInventory2 = ""

And inventory seems to load now (very quickly I might add) for viewers with 
HTTP Inventory disabled in Debug Settings.


I did run into an exception along the way in my testing right after I made the 
changes in [ClientStack.LindenCaps]. The
below stack trace came up (One exception per script in the item) when I 
detached one of my attachments. I am not certain
if it is related to any of the above but I do recall that you wanted some more 
information on script state related
issues so I thought this might be a good thing to add =)

Thank you!


Exception:

2012-12-12 22:35:38,843 ERROR - OpenSim.Region.ScriptEngine.XEngine.XEngine 
[XEngine]: Failed to save state of script
AOHUD.AO v4, item UUID 14eba70e-

0bf8-4b5e-92d2-382f20eb4117, prim UUID 74cf7aca-c5f7-4dd7-8373-9dd8620ef8af in 
Test Region 2.  Exception
System.AppDomainUnloadedException: The target application domain has been 
unloaded.

Server stack trace:
    at System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr 
ctxID, Int32 appDomainID,
InternalCrossContextDelegate ftnToCall, Object

[] args)
    at 
System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] 
reqStmBuff,
SmuggledMethodCallMessage smuggledMcm,

SmuggledMethodReturnMessage& smuggledMrm)
    at 
System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage 
reqMsg)

Exception rethrown at [0]:
    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage 
reqMsg, IMessage retMsg)
    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& 
msgData, Int32 type)
    at OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript.GetVars()
    at OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.GetVars() in
c:\Users\admin\Desktop\opensim-905d7c4\OpenSim\Region\ScriptEngine\Shared

\Instance\ScriptInstance.cs:line 919
    at 
OpenSim.Region.ScriptEngine.Shared.Instance.ScriptSerializer.Serialize(ScriptInstance
 instance) in
c:\Users\admin\Desktop\opensim-905d7c4\OpenSim

\Region\ScriptEngine\Shared\Instance\ScriptSerializer.cs:line 80
    at 
OpenSim.Region.ScriptEngine.Shared.Instance.ScriptInstance.SaveState(String 
assembly) in
c:\Users\admin\Desktop\opensim-905d7c4\OpenSim\Region

\ScriptEngine\Shared\Instance\ScriptInstance.cs:line 961
    at OpenSim.Region.ScriptEngine.XEngine.XEngine.DoBackup(Object o) in
c:\Users\admin\Desktop\opensim-905d7c4\OpenSim\Region\ScriptEngine\XEngine

\XEngine.cs:line 753
2012-12-12 22:35:38,890 ERROR - OpenSim.Region.ScriptEngine.XEngine.XEngine 
[XEngine]: Failed to save state of script
AOHUD.Menu v1.0, item UUID

c8c29c17-048e-4abf-b650-8122f75eda26, prim UUID 
74cf7aca-c5f7-4dd7-8373-9dd8620ef8af in Test Region 2.  Exception
System.AppDomainUnloadedException: The target application domain has been 
unloaded.

On 12/12/2012 5:37 PM, Justin Clark-Casey wrote:
On 11/12/12 22:28, Chris wrote:
Hello every one, got a couple of questions about git master 905d7c4 (r/21385).

I recently downloaded and compiled master and am noticing a bunch of yellow 
text popping up (warnings?) saying [CLIENT]:
unhandled packet AgentUpdate primarily when walking around but they do pop up 
on occasion when standing still. Is anyone
else seeing this?

AgentUpdates are extremely common messages.  If you do "debug packet 255" on 
the console you will see a constant
stream of them come in since they tell the server about agent movements, head 
rotation, etc, even when you're standing
completely still.

So this must only be happening on rare occasions.  In the current code this 
should only happen if an agent update
message has somehow been sent to the client port from another source but with 
wrong session and agent IDs.

This seems very unlikely, so I think a stronger candidate is some packet 
pooling issue.

So in connection with this

1) How recently did this start happening?

2) Does it happen when you are alone on a region with nobody in the same or in 
any neighbouring regions?

3) What happens if you set

[PacketPool]
RecyclePackets = false

?


Also a quick question about HTTP inventory and more recent viewers (i.e. 
Firestorm, SL v3.3.x, and possibly v1.23 based
viewers that support it (have not tested these though)); It seems that when I 
have HTTP Inventory disabled my inventory
refuses to load up until HTTP Inventory is enabled. I prefer to keep it off 
because UDP inventory loads a lot quicker
for me and having it disabled also seems to result in more stable teleports on 
LL grid. Is there anyway to fix this in
the config files?

On the server side, UDP inventory is always available.  You could disable HTTP 
inventory on the server side with the
instructions at [1] just to be sure.  But I think a viewer bug is more likely 
where fallback is not happening properly
when HTTP inventory is disabled.  I don't know if there are any viewer config 
values which would help in this situation.

[1] http://opensimulator.org/mantis/view.php?id=6412





--
Justin Clark-Casey (justincc)
OSVW Consulting
http://justincc.org
http://twitter.com/justincc
_______________________________________________
Opensim-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-users

Reply via email to