You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Barry Scott <ba...@barrys-emacs.org> on 2011/10/10 21:11:34 UTC
Problem with checkout for 1.7.0-rc4
I'm trying to build subversion 1.7.0-rc4 on Mac OS X 10.7.
And I'm guessing that got something in the build/install wrong.
I see the following error from svn checkout:
$ /usr/local/svn-1.7.0-rc4/bin/svn checkout file:///Users/barry/BuildTemp/Darwin_body/svn-1.7.0-rc4/py27_pysvn_apple_com/Tests/testroot-01/repos/trunk /Users/barry/BuildTemp/Darwin_body/svn-1.7.0-rc4/py27_pysvn_apple_com/Tests/testroot-01/wc1
svn: E200029: Couldn't perform atomic initialization
svn: E200030: Could not initialize SQLite shared cache
Does anyone know what can cause this, or point me to the area of code to check?
Barry
Re: Problem with checkout for 1.7.0-rc4
Posted by Philip Martin <ph...@wandisco.com>.
Philip Martin <ph...@wandisco.com> writes:
> I was looking at the source code repository on sqlite.org, but today I can't
> identify which branch/tag I looked at yesterday :-(
I followed this link:
http://www.sqlite.org/cgi/src/timeline
then
http://www.sqlite.org/cgi/src/info/db5b7b778c
then
http://www.sqlite.org/cgi/src/artifact/05e72174ea58476dc71db4bb6816f5b79a100f76
It's the apple-osx-377 branch in the sqlite repository.
--
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com
Re: Problem with checkout for 1.7.0-rc4
Posted by Barry Scott <ba...@barrys-emacs.org>.
On 11 Oct 2011, at 09:57, Philip Martin wrote:
> Philip Martin <ph...@wandisco.com> writes:
>
>> sqlite-3.6.18, our minimum version, has SQLITE_OPEN_SHAREDCACHE. I
>> suppose we could start using that instead of sqlite3_enable_shared_cache.
>
> Barry, would you try this patch to confirm it works on OS X 10.7:
Yes this patch works. Applies 133 lines offset against 1.7.0 tarball source.
With this in place my regressions test are passing for pysvn.
Thanks for your help.
Barry
>
> Index: subversion/libsvn_subr/sqlite.c
> ===================================================================
> --- subversion/libsvn_subr/sqlite.c (revision 1181650)
> +++ subversion/libsvn_subr/sqlite.c (working copy)
> @@ -637,12 +637,6 @@
>
> #endif /* APR_HAS_THRADS */
>
> - /* SQLite 3.5 allows sharing cache instances, even in a multithreaded
> - environment. This allows sharing cached data when we open a database
> - more than once (Very common in the current pre-single-database state) */
> - SQLITE_ERR_MSG(sqlite3_enable_shared_cache(TRUE),
> - _("Could not initialize SQLite shared cache"));
> -
> return SVN_NO_ERROR;
> }
>
> @@ -673,6 +667,11 @@
> flags |= SQLITE_OPEN_NOMUTEX;
> #endif
>
> + /* SQLite 3.5 allows sharing cache instances, even in a multithreaded
> + environment. This allows sharing cached data when we open a database
> + more than once (Very common in the current pre-single-database state) */
> + flags |= SQLITE_OPEN_SHAREDCACHE;
> +
> /* Open the database. Note that a handle is returned, even when an error
> occurs (except for out-of-memory); thus, we can safely use it to
> extract an error message and construct an svn_error_t. */
>
> --
> uberSVN: Apache Subversion Made Easy
> http://www.uberSVN.com
>
Re: Problem with checkout for 1.7.0-rc4
Posted by Konstantin Kolinko <kn...@gmail.com>.
2011/10/11 Philip Martin <ph...@wandisco.com>:
> Philip Martin <ph...@wandisco.com> writes:
>
>> + /* SQLite 3.5 allows sharing cache instances, even in a multithreaded
>> + environment. This allows sharing cached data when we open a database
>> + more than once (Very common in the current pre-single-database state) */
>
> This comment is out of date, wcng is single-db.
The "Very common in the current pre-single-database state" phrase in
the comment above is indeed outdated, but still I would not say that
current svn is "single-db".
There are directory externals, that have their own .svn/wc.db files.
There also are operations that may access several working copies, e.g.
svn copy between two different WCs.
Though I admit that I do not know much about SQLite cache sharing.
> I suppose it may still
> apply to simultaneous operations on the same working copy, and we will
> open the server-side rep-cache database multiple times.
Best regards,
Konstantin Kolinko
Re: Problem with checkout for 1.7.0-rc4
Posted by Philip Martin <ph...@wandisco.com>.
Philip Martin <ph...@wandisco.com> writes:
> + /* SQLite 3.5 allows sharing cache instances, even in a multithreaded
> + environment. This allows sharing cached data when we open a database
> + more than once (Very common in the current pre-single-database state) */
This comment is out of date, wcng is single-db. I suppose it may still
apply to simultaneous operations on the same working copy, and we will
open the server-side rep-cache database multiple times.
--
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com
Re: Problem with checkout for 1.7.0-rc4
Posted by Philip Martin <ph...@wandisco.com>.
Philip Martin <ph...@wandisco.com> writes:
> sqlite-3.6.18, our minimum version, has SQLITE_OPEN_SHAREDCACHE. I
> suppose we could start using that instead of sqlite3_enable_shared_cache.
Barry, would you try this patch to confirm it works on OS X 10.7:
Index: subversion/libsvn_subr/sqlite.c
===================================================================
--- subversion/libsvn_subr/sqlite.c (revision 1181650)
+++ subversion/libsvn_subr/sqlite.c (working copy)
@@ -637,12 +637,6 @@
#endif /* APR_HAS_THRADS */
- /* SQLite 3.5 allows sharing cache instances, even in a multithreaded
- environment. This allows sharing cached data when we open a database
- more than once (Very common in the current pre-single-database state) */
- SQLITE_ERR_MSG(sqlite3_enable_shared_cache(TRUE),
- _("Could not initialize SQLite shared cache"));
-
return SVN_NO_ERROR;
}
@@ -673,6 +667,11 @@
flags |= SQLITE_OPEN_NOMUTEX;
#endif
+ /* SQLite 3.5 allows sharing cache instances, even in a multithreaded
+ environment. This allows sharing cached data when we open a database
+ more than once (Very common in the current pre-single-database state) */
+ flags |= SQLITE_OPEN_SHAREDCACHE;
+
/* Open the database. Note that a handle is returned, even when an error
occurs (except for out-of-memory); thus, we can safely use it to
extract an error message and construct an svn_error_t. */
--
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com
Re: Problem with checkout for 1.7.0-rc4
Posted by Philip Martin <ph...@wandisco.com>.
Toby Peterson <to...@apple.com> writes:
> On Oct 10, 2011, at 5:10 PM, Bert Huijben wrote:
>
>> -----Original Message-----
>>> From: Philip Martin [mailto:philip.martin@wandisco.com]
>>> Sent: maandag 10 oktober 2011 16:48
>>> To: Mark Phippard
>>> Cc: Barry Scott; Subversion Development
>>> Subject: Re: Problem with checkout for 1.7.0-rc4
>>
>>>> This is the version that comes with OSX 10.7:
>>>>
>>>> $ /usr/bin/sqlite3 -version
>>>> 3.7.5
>>>
>>> Looking at sqlite.h I see this comment on sqlite3_enable_shared_cache:
>>>
>>> ** ^Note: This method is deprecated on MacOS X 10.7 and iOS version 5.0
>>> ** and will always return SQLITE_MISUSE, instead of calling this function
>>> ** shared cache mode should be enabled per-database connection via
>>> ** sqlite3_open_v2 with SQLITE_OPEN_SHAREDCACHE instead.
>>
>> I don't see this comment in the 3.7.5 version as downloaded from www.sqlite.org.
>>
>> Is this from a patch that Apple applied?
I was looking at the source code repository on sqlite.org, but today I can't
identify which branch/tag I looked at yesterday :-(
> Apple ships a modified SQLite; its source is available. See http://www.opensource.apple.com/source/SQLite/SQLite-117/ - specifically, http://www.opensource.apple.com/source/SQLite/SQLite-117/derived_source/sqlite3.h
sqlite-3.6.18, our minimum version, has SQLITE_OPEN_SHAREDCACHE. I
suppose we could start using that instead of sqlite3_enable_shared_cache.
--
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com
Re: Problem with checkout for 1.7.0-rc4
Posted by Toby Peterson <to...@apple.com>.
On Oct 10, 2011, at 5:10 PM, Bert Huijben wrote:
> -----Original Message-----
>> From: Philip Martin [mailto:philip.martin@wandisco.com]
>> Sent: maandag 10 oktober 2011 16:48
>> To: Mark Phippard
>> Cc: Barry Scott; Subversion Development
>> Subject: Re: Problem with checkout for 1.7.0-rc4
>
>>> This is the version that comes with OSX 10.7:
>>>
>>> $ /usr/bin/sqlite3 -version
>>> 3.7.5
>>
>> Looking at sqlite.h I see this comment on sqlite3_enable_shared_cache:
>>
>> ** ^Note: This method is deprecated on MacOS X 10.7 and iOS version 5.0
>> ** and will always return SQLITE_MISUSE, instead of calling this function
>> ** shared cache mode should be enabled per-database connection via
>> ** sqlite3_open_v2 with SQLITE_OPEN_SHAREDCACHE instead.
>
> I don't see this comment in the 3.7.5 version as downloaded from www.sqlite.org.
>
> Is this from a patch that Apple applied?
Apple ships a modified SQLite; its source is available. See http://www.opensource.apple.com/source/SQLite/SQLite-117/ - specifically, http://www.opensource.apple.com/source/SQLite/SQLite-117/derived_source/sqlite3.h
- Toby
RE: Problem with checkout for 1.7.0-rc4
Posted by Bert Huijben <be...@qqmail.nl>.
> -----Original Message-----
> From: Philip Martin [mailto:philip.martin@wandisco.com]
> Sent: maandag 10 oktober 2011 16:48
> To: Mark Phippard
> Cc: Barry Scott; Subversion Development
> Subject: Re: Problem with checkout for 1.7.0-rc4
> > This is the version that comes with OSX 10.7:
> >
> > $ /usr/bin/sqlite3 -version
> > 3.7.5
>
> Looking at sqlite.h I see this comment on sqlite3_enable_shared_cache:
>
> ** ^Note: This method is deprecated on MacOS X 10.7 and iOS version 5.0
> ** and will always return SQLITE_MISUSE, instead of calling this function
> ** shared cache mode should be enabled per-database connection via
> ** sqlite3_open_v2 with SQLITE_OPEN_SHAREDCACHE instead.
I don't see this comment in the 3.7.5 version as downloaded from www.sqlite.org.
Is this from a patch that Apple applied?
Bert
Re: Problem with checkout for 1.7.0-rc4
Posted by Philip Martin <ph...@wandisco.com>.
Mark Phippard <ma...@gmail.com> writes:
> On Mon, Oct 10, 2011 at 4:19 PM, Philip Martin
> <ph...@wandisco.com> wrote:
>> Barry Scott <ba...@barrys-emacs.org> writes:
>>
>>> I'm trying to build subversion 1.7.0-rc4 on Mac OS X 10.7.
>>> And I'm guessing that got something in the build/install wrong.
>>>
>>> I see the following error from svn checkout:
>>>
>>> $ /usr/local/svn-1.7.0-rc4/bin/svn checkout file:///Users/barry/BuildTemp/Darwin_body/svn-1.7.0-rc4/py27_pysvn_apple_com/Tests/testroot-01/repos/trunk /Users/barry/BuildTemp/Darwin_body/svn-1.7.0-rc4/py27_pysvn_apple_com/Tests/testroot-01/wc1
>>> svn: E200029: Couldn't perform atomic initialization
>>> svn: E200030: Could not initialize SQLite shared cache
>>>
>>> Does anyone know what can cause this, or point me to the area of code
>>> to check?
>>
>> libsvn_subr/sqlite.c:init_sqlite()
>>
>> /* SQLite 3.5 allows sharing cache instances, even in a multithreaded
>> environment. This allows sharing cached data when we open a database
>> more than once (Very common in the current pre-single-database state) */
>> SQLITE_ERR_MSG(sqlite3_enable_shared_cache(TRUE),
>> _("Could not initialize SQLite shared cache"));
>>
>>
>> Which version of SQLite are you using?
>
> This is the version that comes with OSX 10.7:
>
> $ /usr/bin/sqlite3 -version
> 3.7.5
Looking at sqlite.h I see this comment on sqlite3_enable_shared_cache:
** ^Note: This method is deprecated on MacOS X 10.7 and iOS version 5.0
** and will always return SQLITE_MISUSE, instead of calling this function
** shared cache mode should be enabled per-database connection via
** sqlite3_open_v2 with SQLITE_OPEN_SHAREDCACHE instead.
--
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com
Re: Problem with checkout for 1.7.0-rc4
Posted by Mark Phippard <ma...@gmail.com>.
On Mon, Oct 10, 2011 at 4:19 PM, Philip Martin
<ph...@wandisco.com> wrote:
> Barry Scott <ba...@barrys-emacs.org> writes:
>
>> I'm trying to build subversion 1.7.0-rc4 on Mac OS X 10.7.
>> And I'm guessing that got something in the build/install wrong.
>>
>> I see the following error from svn checkout:
>>
>> $ /usr/local/svn-1.7.0-rc4/bin/svn checkout file:///Users/barry/BuildTemp/Darwin_body/svn-1.7.0-rc4/py27_pysvn_apple_com/Tests/testroot-01/repos/trunk /Users/barry/BuildTemp/Darwin_body/svn-1.7.0-rc4/py27_pysvn_apple_com/Tests/testroot-01/wc1
>> svn: E200029: Couldn't perform atomic initialization
>> svn: E200030: Could not initialize SQLite shared cache
>>
>> Does anyone know what can cause this, or point me to the area of code
>> to check?
>
> libsvn_subr/sqlite.c:init_sqlite()
>
> /* SQLite 3.5 allows sharing cache instances, even in a multithreaded
> environment. This allows sharing cached data when we open a database
> more than once (Very common in the current pre-single-database state) */
> SQLITE_ERR_MSG(sqlite3_enable_shared_cache(TRUE),
> _("Could not initialize SQLite shared cache"));
>
>
> Which version of SQLite are you using?
This is the version that comes with OSX 10.7:
$ /usr/bin/sqlite3 -version
3.7.5
--
Thanks
Mark Phippard
http://markphip.blogspot.com/
Re: Problem with checkout for 1.7.0-rc4
Posted by Philip Martin <ph...@wandisco.com>.
Barry Scott <ba...@barrys-emacs.org> writes:
> I'm trying to build subversion 1.7.0-rc4 on Mac OS X 10.7.
> And I'm guessing that got something in the build/install wrong.
>
> I see the following error from svn checkout:
>
> $ /usr/local/svn-1.7.0-rc4/bin/svn checkout file:///Users/barry/BuildTemp/Darwin_body/svn-1.7.0-rc4/py27_pysvn_apple_com/Tests/testroot-01/repos/trunk /Users/barry/BuildTemp/Darwin_body/svn-1.7.0-rc4/py27_pysvn_apple_com/Tests/testroot-01/wc1
> svn: E200029: Couldn't perform atomic initialization
> svn: E200030: Could not initialize SQLite shared cache
>
> Does anyone know what can cause this, or point me to the area of code
> to check?
libsvn_subr/sqlite.c:init_sqlite()
/* SQLite 3.5 allows sharing cache instances, even in a multithreaded
environment. This allows sharing cached data when we open a database
more than once (Very common in the current pre-single-database state) */
SQLITE_ERR_MSG(sqlite3_enable_shared_cache(TRUE),
_("Could not initialize SQLite shared cache"));
Which version of SQLite are you using?
--
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com