Return-Path: X-Original-To: apmail-subversion-dev-archive@minotaur.apache.org Delivered-To: apmail-subversion-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 677C611CBE for ; Mon, 5 May 2014 22:18:56 +0000 (UTC) Received: (qmail 33495 invoked by uid 500); 5 May 2014 22:18:55 -0000 Delivered-To: apmail-subversion-dev-archive@subversion.apache.org Received: (qmail 33363 invoked by uid 500); 5 May 2014 22:18:55 -0000 Mailing-List: contact dev-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@subversion.apache.org Received: (qmail 33356 invoked by uid 99); 5 May 2014 22:18:55 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 05 May 2014 22:18:55 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of stefan.fuhrmann@wandisco.com designates 209.85.213.177 as permitted sender) Received: from [209.85.213.177] (HELO mail-ig0-f177.google.com) (209.85.213.177) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 05 May 2014 22:18:51 +0000 Received: by mail-ig0-f177.google.com with SMTP id l13so2961148iga.4 for ; Mon, 05 May 2014 15:18:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wandisco.com; s=gapps; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=FlUG88XB8ySf7Zz+bA4qilCDL6lBVO3Hxm3TevQOUyY=; b=eibEJ8Q5IswhHbtodRYfzboEtRbALkSqBZ0LRutb6mnpeRw0aAlIZDuAzjHStetZz2 CgV1fqIAwfXBMESGWvQoBgHtyADHnnJt2IZ6/rJjAJGRxMcJ29b/dEVRIOrLT5EeP5qb JRSZJhMxxnIqTLkmQIdIdb+ExEnMOOfxG+DDQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=FlUG88XB8ySf7Zz+bA4qilCDL6lBVO3Hxm3TevQOUyY=; b=k9DU4Nux98B1obhGhMsZ478csYZguRq9oDveIYdF7NvLsULhH7/eHf0TkPwBYzA4fI QUO52Ewe80piiXJfwxexmiASkrxQmG8rG5NLSyEMCTP0rRi+lP4U9stAAiVzqBa8jEJS nm8QsDqKcVN5uM3lsNg8wwzPDXQuFDLpieilRXCMBU7HmHcwPrxig5kZFtFSIPFeWflF E5roR6EdUcZYgHh6jGqdiKmRAgqzwKgq2yCysR7gtgeX/aII2/IffsRRJMaNCg1KIBVI nB/pFlxKAcj9bMbVY7AAWWoQBCwedHzHDVk/qG8gW6RBZb0TMaq7mUh1H7rT+pwSS3kW IsGw== X-Gm-Message-State: ALoCoQlx/eedUcnoQ1jrCzeI/1DInG2rOmoi+wxoyaibDs3ux7431T3C6EhpLKsAZOAoHvImyJ96 MIME-Version: 1.0 X-Received: by 10.50.153.72 with SMTP id ve8mr27727669igb.16.1399328307998; Mon, 05 May 2014 15:18:27 -0700 (PDT) Received: by 10.50.182.233 with HTTP; Mon, 5 May 2014 15:18:27 -0700 (PDT) In-Reply-To: <20140505120603.GA233@jim.stsp.name> References: <20140502140741.9BC1A23888D7@eris.apache.org> <20140505120603.GA233@jim.stsp.name> Date: Tue, 6 May 2014 00:18:27 +0200 Message-ID: Subject: Re: svn commit: r1591919 - in /subversion/trunk/subversion: include/ include/private/ libsvn_fs/ libsvn_fs_base/bdb/ libsvn_fs_fs/ libsvn_fs_x/ libsvn_ra_svn/ libsvn_subr/ svnserve/ tests/ tests/libsvn_fs_fs/ From: Stefan Fuhrmann To: Subversion Development Content-Type: multipart/alternative; boundary=089e0141a8d8b90bb204f8ae8200 X-Virus-Checked: Checked by ClamAV on apache.org --089e0141a8d8b90bb204f8ae8200 Content-Type: text/plain; charset=UTF-8 On Mon, May 5, 2014 at 2:06 PM, Stefan Sperling wrote: > On Fri, May 02, 2014 at 02:07:40PM -0000, stefan2@apache.org wrote: > > Author: stefan2 > > Date: Fri May 2 14:07:40 2014 > > New Revision: 1591919 > > > > URL: http://svn.apache.org/r1591919 > > Log: > > APR mutexes don't support recursive locking on all platforms. > > As a result, trying to take out the same lock twice in the > > same thread will cause a lock up under e.g. Linux. This patch > > adds an option to svn_mutex__t that detects recursive locking > > attempts in most cases and returns a proper error. > > > * subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c > > (never_reached, > > lock_again): Callback functions required by the new test. > > (recursive_locking): New test expecting an SVN_ERR_RECURSIVE_LOCK. > > (test_funcs): Register the new test. > > Hi Stefan, > > This new test fails on the bb-openbsd bot. > > http://ci.apache.org/builders/bb-openbsd/builds/12/steps/Test/logs/faillog-ra_local-fsfs > > Can you please look into this? > > Note that the bot is deliberately compiling APR and everything else > without support for threads. Perhaps the test or other code doesn't > take this possibility into account? > Since double locking attempts on the same file may be problem even without threading support, we should detect recursive mutex locks there as well. r1592640 may do the trick. Could not test it, though. --Stefan^2. --089e0141a8d8b90bb204f8ae8200 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On M= on, May 5, 2014 at 2:06 PM, Stefan Sperling <stsp@elego.de> wr= ote:
On Fri, May 02, 2014 at 02:07:40PM -0000, stefan2@apache.org wrote:
> Author: stefan2
> Date: Fri May =C2=A02 14:07:40 2014
> New Revision: 1591919
>
> URL: http= ://svn.apache.org/r1591919
> Log:
> APR mutexes don't support recursive locking on all platforms.
> As a result, trying to take out the same lock twice in the
> same thread will cause a lock up under e.g. Linux. =C2=A0This patch > adds an option to svn_mutex__t that detects recursive locking
> attempts in most cases and returns a proper error.

> * subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
> =C2=A0 (never_reached,
> =C2=A0 =C2=A0lock_again): Callback functions required by the new test.=
> =C2=A0 (recursive_locking): New test expecting an SVN_ERR_RECURSIVE_LO= CK.
> =C2=A0 (test_funcs): Register the new test.

Hi Stefan,

This new test fails on the bb-openbsd bot.
http://ci.apache.org/builders/b= b-openbsd/builds/12/steps/Test/logs/faillog-ra_local-fsfs

Can you please look into this?

Note that the bot is deliberately compiling APR and everything else
without support for threads. Perhaps the test or other code doesn't
take this possibility into account?

Since double locking attempts on the same file
may be problem even without threading support,
we = should detect recursive mutex locks there
as well. r1592640 may do the trick. Could not
test it, though.

--Stefan^2.=
--089e0141a8d8b90bb204f8ae8200--