[Opensim-dev] SDAGUE: Spelunking the bug where avatar appearance reverts across server restarts

Pixelcat Schroedinger pixelcat at cybercosis.com
Fri Oct 24 22:21:33 UTC 2008


sdague, justincc suggested you were the best one to give me suggestions 
on this...

So I've been doing some spelunking, the last couple of nights, chasing 
the reason why avatar appearance reverts to default across server 
restarts.  I haven't nailed it yet but I thought I'd mention what I've 
seen so that perhaps someone can shed light on the subject for me.

Through lots of single-stepping and breakpoints, I've convinced myself 
that the problem is happening at save rather than load.

I've managed to discover that there is a race condition at 
appearance-change time and the window of overlap for the race condition 
is just a couple of seconds long.  In particular a wait during update of 
the avatar_appearance will cause changes to not be saved.  

In fact just by repeatedly wearing and  unwearing a shirt and varying 
the pause time of the breakpoint in update avatar appearance, I was able 
to get the client to become confused about state, to have the appearance 
values become reverted and to actually lose several of the assets 
permanently.  I also managed to get the simulator confused about whether 
the avatar agent was logged in or not.

Conversely, I observed no race condition during appearance load time, 
which leads me to conclude that the the thread contention on update 
appearance is not intentional.

Can someone give me a quickie noob-lesson on the intended threading 
model so I can understand better the behavior I'm tracing?

Thanks much,

-- Pixelcat





More information about the Opensim-dev mailing list