samizdat-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: patch for 0.6.0.20070501-2:frontpage_controller


From: Dmitry Borodaenko
Subject: Re: patch for 0.6.0.20070501-2:frontpage_controller
Date: Tue, 8 May 2007 21:50:26 +0100

On 5/7/07, boud <address@hidden> wrote:
> Version 0.6.0.20070506-1 (soon to appear in experimental) will include
> this and a bunch of other fixes, including weird database deadlocks
> caused by CSRF protection. I hope the fix to keep action tokens in
> cache instead of database will not cause cache deadlocks instead ;-)

As i said in my email a moment ago about the calendar-0.4 patch, i think
i experienced a bug which was probably this "database deadlock", and it
seems to have disappeared in 20070506. :)

Yes, it seems to be more reliable now, but in a way, I was right about
the cache deadlock: there is a race condition there, and the more we
rely on cache, the more likely it is to occur. I've spend better part
of last weekend trying to get rid of it, but it's not that easy to do
that and in the same time to keep Cache#fetch_or_add re-enterable. The
deadlock point is the downgrade from global lock to entry lock in
fetch_or_add: if you release global lock before locking the entry, you
get cache corruption, other way around you get deadlock. Good news is
that I found a way to reproduce this bug more or less consistenly:
just run two functional tests (test/tc_robot.rb) in parallel. Bad news
is that I haven't yet found a way to resolve this, could use some help
here.

BTW - could we get a fix for the "upload content from file" usability
issue into cvs?

Thanks for reminding about this one. I think it's about time we start
using bugtracker on Savannah:

https://savannah.nongnu.org/bugs/?group=samizdat

Can you post this and other bugs you've spotted (showhidden comes to
mind) so that they are not forgotten? If you find time for this, take
a look into the patches section, too :)

--
Dmitry Borodaenko




reply via email to

[Prev in Thread] Current Thread [Next in Thread]