Branko Äibej wrote:

Patrik Husfloen wrote:

I'm getting an error building svn on win32 using VC6.
I've got the latest version of apr, apr-util and svn (just got them from cvs/svn)
if anyone can confirm this it would be great.


libsvn_subr.lib(svn_error.obj) : error LNK2001: unresolved external symbol [EMAIL PROTECTED]
Release/svn.exe : fatal error LNK1120: 1 unresolved externals


This looks like a bug in APR. Both apr_allocator_set_mutex and apr_allocator_get_mutex are defined with APR_INLINE in apr_pools.c, which is clearly major bogosity. Either that APR_INLINE shoudl go away, or the inline definitions should move to a header (probably apr_allocator.h, where they're declared now), and made static.

Sander, looks like you're the culprit here (the rev 1.159 commit). Comments?

Ho hum. I think there's also a bug in apr_pool_initialize. The sequence there is

   apr_allocator_create(&global_allocator)
   apr_pool_create_ex(&global_pool, ...., global_allocator)
   apr_thread_mutex_create(&mutex, ...)
   apr_allocator_set_mutex(global_allocator, mutex)

But apr_pool_create_ex will call apr_allocator_alloc on the provided allocator, and that will call apr_thread_mutex_lock ... on an uninitialized mutex, no less.

At least, I /think/ that's the problem. Definitely all SVN tests on Windows are crashing in the mutex lock in apr_allocator_alloc, and that mutex definitely hasn't been initialized.


-- Brane Äibej <[EMAIL PROTECTED]> http://www.xbc.nu/brane/




Reply via email to