[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Threaded svnserve 1.8.5 hangs with 100% cpu usage after some time

From: <vitalif_at_yourcmc.ru>
Date: Tue, 11 Feb 2014 18:21:45 +0400

Hi!

After a recent upgrade to svn 1.8.5, we are facing a problem with
threaded svnserve: after some period of working without problem it hangs
and eats 100% cpu.

I've captured stack traces from all svnserve threads, and it looks like
the problem is in libsvn_subr/cache-membuffer.c, function
ensure_data_insertable() - one thread is doing an infinite loop inside
it with write lock acquired on the cache, and other threads are waiting
for that one to release his lock.

There was no problem in 1.6 or 1.7; by no problem I mean not only the
absence of hang, but also the absence of 100% cpu consumption => absence
of infinite loop.

So it's likely that the new part of cache eviction logic which is
executed if (cache->hit_count <= cache->used_entries) fails to terminate
the loop sometimes, because all other code from that function was
already there in 1.7.

Sorry for not providing a core dump, I didn't immediately think of
capturing it, but the error happens almost every day, so the next time
I'll try to capture and dig it deeper.

Stack traces are attached.

-- 
With best regards,
   Vitaliy Filippov

Received on 2014-02-11 15:59:24 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.