Hi

I have the same problem and I could not solve. I have installed the version
apache-log4cxx-0.10.0. apr-1.3.6 and apr-util-1.3.8. in a Red Hat 5 x64

I tried with the patch 596934 and does not work.

    
When the program ends gives an exception

terminate called after throwing an instance of
'log4cxx::helpers::MutexException'
  what():  Mutex exception: stat = 22
./tester.sh: line 71: 17226 Aborted                 ./tester



Rhosyn wrote:
> 
> The attach patch fixes a thread safety issue we found with ObjectPtrBase
> when we ported our application to a 64 bit platform.
> 
> It will only work if you are using a version of apr with
> apr_atomic_xchgptr()
> 
> 
> Cheers
> 
> 
> 
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit http://www.messagelabs.com/email 
> ______________________________________________________________________
> ---
> /home/rhosyn/SVN/oakx41/main/thirdparty/log4cxx/_build/app.host/app/apache-log4cxx-0.10.0/src/main/cpp/objectptr.cpp
> 2008-03-31 23:34:09.000000000 +0100
> +++
> /home/rhosyn/SVN/oakx41/main/thirdparty/log4cxx/_build/app.app/app/apache-log4cxx-0.10.0/src/main/cpp/objectptr.cpp
> 2009-01-07 15:39:03.000000000 +0000
> @@ -36,12 +36,7 @@
>  void* ObjectPtrBase::exchange(void** destination, void* newValue) {
>  #if _WIN32 && (!defined(_MSC_VER) || _MSC_VER >= 1300)
>      return InterlockedExchangePointer(destination, newValue);
> -#elif APR_SIZEOF_VOIDP == 4
> -   return (void*) apr_atomic_xchg32((volatile apr_uint32_t*) destination,
> -                          (apr_uint32_t) newValue);
>  #else
> -   void* oldValue = *destination;
> -   *destination = newValue;
> -   return oldValue;
> +   apr_atomic_xchgptr((volatile void**)destination, newValue);
>  #endif
>  }
> 
> 

-- 
View this message in context: 
http://www.nabble.com/log4cxx-0.10.0%3A-Fix-for-64-bit-only-thread-safety-bug-in-ObjectPtrBase-tp21504865p24515613.html
Sent from the Log4cxx - Dev mailing list archive at Nabble.com.

Reply via email to