Hi there,
Just to let everybody know that the delicate "1.23 + http-texture"
merge is completed and I migrated the result to projects/2009/http-
texture (aka snowglobe). The builds completed successfully and you can
now pick the results there:
- Windows:
http://secondlife.com/developers/opensource/downloads/2009/http-texture/2324/Second_Life_1-23-2-2324_OSS_Setup.exe
- Darwin:
http://secondlife.com/developers/opensource/downloads/2009/http-texture/2324/SecondLife_1_23_2_2324_OSS.dmg
- Linux:
http://secondlife.com/developers/opensource/downloads/2009/http-texture/2324/SecondLife-i686-1.23.2.2324.tar.bz2
Those contain steve's patch plus a couple of other fixes he
contributed internally over the weekend.
Unless folks report catastrophic crashes, we'll be using those
tomorrow during the test sprint.
Cheers,
- Merov
On May 26, 2009, at 10:13 PM, Philippe Bossut (Merov Linden) wrote:
Hi,
Thanks for the feedback Sheet. This is great!
I'm in the process of merging fixes from 1.23 as well as this and
other fixes steve and bao did on http-texture. I'm planning to get the
whole merge completed by tomorrow noon (I hit a couple of conflicts
and broken unit tests I needed to fix). If all goes as planned, we
should have that spiffy new build to play with for the test sprint
Thursday :)
Cheers,
- Merov
On May 26, 2009, at 6:13 PM, Sheet Spotter wrote:
The patch that Steve Linden provided resolves the deadlock I
detailed in the
comments of VWR-13437.
The patch releases a mutex earlier, prior to making one of the calls
that
led to the deadlock. Releasing the mutex earlier eliminates that
deadlock.
Previously the HTTP-Texture viewer would hang on me after only a few
minutes
of moving my camera using Alt-Mouse. After manually applying the
patch I
have been unable to hang the viewer.
Thank you Steve!
Sheet Spotter
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Steve
Bennetts
Sent: May 26, 2009 11:54 AM
To: Second Life Developer Mailing List
Subject: Re: [sldev] lltexturefetch.cpp patch for http-texture
and/orsnowglobe
So, adding that lock exposed a flaw in the logic resulting in a
deadlock. Below is the fix for that. The problem was that
LLTextureCache::update() was keeping the mutex protecting mReaders[]
and
mWriters[] locked while calling completed() in the responders,
however
readComplete() and writeComplete() (calls to which get triggered by
the
responders) do their own locking of the mutex, triggering the
deadlock.
There is no reason for the mutex to be locked while calling these
completed() functions.
-Steve
Index: lltexturecache.cpp
===================================================================
--- lltexturecache.cpp (revision 121571)
+++ lltexturecache.cpp (revision 121572)
@@ -779,6 +779,9 @@
}
}
+ unlockWorkers();
+
+ // call 'completed' with workers list unlocked (may call
readComplete() or writeComplete()
for (responder_list_t::iterator iter1 = completed_list.begin();
iter1 != completed_list.end(); ++iter1)
{
@@ -787,8 +790,6 @@
responder->completed(success);
}
- unlockWorkers();
-
return res;
}
Steve Bennetts wrote:
We will be applying this patch next week, but if someone wants to
play,
I just discovered this major bug in lltexturefetch.cpp:
void LLTextureFetchWorker::callbackDecoded(bool success, LLImageRaw*
raw, LLImageRaw* aux)
{
+ LLMutexLock lock(&mWorkMutex);
...
The missing mutex lock here can cause all sorts of terrible
artifacts.
Don't know if this will fix everything, but it definitely addresses
at
least one of the crashes I have been seeing.
-Steve
_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/SLDev
Please read the policies before posting to keep unmoderated posting
privileges
_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/SLDev
Please read the policies before posting to keep unmoderated posting
privileges
_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/SLDev
Please read the policies before posting to keep unmoderated posting
privileges
_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/SLDev
Please read the policies before posting to keep unmoderated posting
privileges
_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/SLDev
Please read the policies before posting to keep unmoderated posting privileges