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

Re: Crash in python bindings on windows (in apache)

From: David James <james82_at_gmail.com>
Date: 2005-10-18 15:32:29 CEST

> > > The current python bindings crash in windows when used with viewcvs in
> > > apache. The crash occurs when the apache server is restarted or stopped.
> > >
> > > It is the routine svn_swig_py_pool_destroyed that is crashing because
> > > the function call apr_threadkey_private_get(&val, _saved_thread_key);
> > > returns NULL as val. This is because the svn_swig_py_pool_destroyed is
> > > not called from the same thread that created the pool.
> > Why is the cross thread behaviour occurring?
> The reason is that the svn_swig_py_pool_destroyed is called from the
> apr_terminate function call which is called from apache after all the
> other threads are terminated.
>
> If there is a way in apr to call the svn_swig_py_pool_destroyed when the
> thread that created the pool terminates, the problem is solved to.
Marc, does removing the "atexit(apr_terminate)" function call solve
the problem? In Subversion 1.2, we did not automatically terminate
APR. Maybe we can find a different way to solve this problem, such as
by using the Python atexit module to call our apr_terminate function
while the Python interpreter is still valid?

Cheers,

David

--
David James -- http://www.cs.toronto.edu/~james
Received on Tue Oct 18 15:33:46 2005

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

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