[Issue 3289] New - --enable-runtime-module-search: apr cleanup unloads neon library too soon

View: New views
6 Messages — Rating Filter:   Alert me  

[Issue 3289] New - --enable-runtime-module-search: apr cleanup unloads neon library too soon

by gagern :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

http://subversion.tigris.org/issues/show_bug.cgi?id=3289
                 Issue #|3289
                 Summary|--enable-runtime-module-search: apr cleanup unloads ne
                        |on library too soon
               Component|subversion
                 Version|1.5.x
                Platform|All
                     URL|http://subversion.tigris.org/servlets/BrowseList?list=
                        |dev&by=thread&from=656592
              OS/Version|All
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|unknown
             Assigned to|issues@subversion
             Reported by|gagern






------- Additional comments from gagern@... Tue Sep 23 12:29:30 -0700 2008 -------
This issue here hase come up on the mailing lists at least twice now:
http://subversion.tigris.org/servlets/BrowseList?list=dev&by=thread&from=653919
http://subversion.tigris.org/servlets/BrowseList?list=dev&by=thread&from=656592

To summarize:

The problem is that if svn has been configured with
--enable-runtime-module-search, in some cases (running git-svn) when the APR
cleanup (apr_terminate) cleans its pools (apr_pool_destroy), it will unload
shared libraries (libsvn_ra_neon-1.so.0) while there are still neon objects
around. When the cleanup tries to clean those, their cleanup function
(cleanup_session) is no longer available, which causes a segmentation fault.

I see two possible solutions. One is to have the APR cleanup code ensure that
libraries get unloaded only after all other objects from the current part of the
pool hierarchy have been cleaned. The other would be to have subversion pool
management restructured in some way, such that the DSO pool gets cleared after
the other objects.

I realize that fixing the issue properly might be a really hard thing to do, and
might probably involve major changes on the APR part as well. In that case, as
the issue had even been named a "showstopper" for 1.5.0 release in one of the
above threads, I suggest to mark the --enable-runtime-module-search
configuration flag as unsupported, experimental and known to break things.

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@...
For additional commands, e-mail: issues-help@...


[Issue 3289] --enable-runtime-module-search: apr cleanup unloads neon library too soon

by carenas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

http://subversion.tigris.org/issues/show_bug.cgi?id=3289



User carenas changed the following:

                What    |Old value                 |New value
================================================================================
                      CC|''                        |'carenas'
--------------------------------------------------------------------------------




---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@...
For additional commands, e-mail: issues-help@...


[Issue 3289] --enable-runtime-module-search: apr cleanup unloads neon library too soon

by devurandom :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

http://subversion.tigris.org/issues/show_bug.cgi?id=3289



User devurandom changed the following:

                What    |Old value                 |New value
================================================================================
                      CC|'carenas'                 |'carenas,devurandom'
--------------------------------------------------------------------------------




---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@...
For additional commands, e-mail: issues-help@...


[Issue 3289] --enable-runtime-module-search: apr cleanup unloads neon library too soon

by Martin von Gagern :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

http://subversion.tigris.org/issues/show_bug.cgi?id=3289






------- Additional comments from gagern@... Mon Nov  2 08:24:34 -0800 2009 -------
The links to the mailing list browser don't seem to work any more, so I provide
new ones here, from git as well as from the new tigris archive.

http://thread.gmane.org/gmane.comp.version-control.subversion.devel/99829
http://thread.gmane.org/gmane.comp.version-control.subversion.devel/100499

http://subversion.tigris.org/ds/viewMessage.do?dsMessageId=27768&dsForumId=462
http://subversion.tigris.org/ds/viewMessage.do?dsMessageId=32554&dsForumId=462

I am a bit surprised that this whole issue here hasn't even seen a comment from
a developer.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=463&dsMessageId=2413871

To unsubscribe from this discussion, e-mail: [issues-unsubscribe@...].

[Issue 3289] --enable-runtime-module-search: apr cleanup unloads neon library too soon

by Arfrever Frehtes Taifersar Arahesis-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

http://subversion.tigris.org/issues/show_bug.cgi?id=3289






------- Additional comments from arfrever@... Mon Nov  2 08:47:05 -0800 2009 -------
Please provide a reproduction script which doesn't use packages which aren't
dependencies of Subversion.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=463&dsMessageId=2413877

To unsubscribe from this discussion, e-mail: [issues-unsubscribe@...].

[Issue 3289] --enable-runtime-module-search: apr cleanup unloads neon library too soon

by Martin von Gagern :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

http://subversion.tigris.org/issues/show_bug.cgi?id=3289






------- Additional comments from gagern@... Mon Nov  2 17:12:54 -0800 2009 -------
Minimalistic reproduction:
perl -MSVN::Ra -e '$ra=SVN::Ra->new("http://svn.collab.net/repos/svn/")'

The assignment of $ra is crucial. Without it, Perl scoping will cause the pool
with the neon session data to be reclaimed before the END stuff gets executed.
This suggests a way to deal with all this on the Perl level: keep track of
allocated pools and destroy them before terminating the apr. Don't know how
feasible this is, and don't know how all this affects other languages.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=463&dsMessageId=2413988

To unsubscribe from this discussion, e-mail: [issues-unsubscribe@...].