Nested directories failing SVN status requests
Triggering the EasySVN Finder menu on SVN 1.7.x unversioned directories, nested within a WC, causes this exception in
...and the resultant thrashy attempts for EasySVN & SVNPluginUIDaemon to restore themselves (actual error occurs before ####ERROR#### marks).
subversion/libsvn_subr/dirent_uri.c
:2/29/12 4:03:40 PM SVNPluginUIDaemon[56534] Called context not a working copy (/Users/ben/Desktop/Product/untitled folder/); try parent (/Users/ben/Desktop/Product)
2/29/12 4:03:40 PM SVNPluginUIDaemon[56534] Entry found in path /Users/ben/Desktop/Product (entry /Users/ben/Desktop/Product)
2/29/12 4:03:40 PM org.tigris.svnplugin.launch[56534] Assertion failed: (!pool || svn_dirent_is_canonical(dirent, pool)), function svn_dirent_basename, file subversion/libsvn_subr/dirent_uri.c, line 1198.
2/29/12 4:03:41 PM com.apple.launchd.peruser.501[117] (org.tigris.svnplugin.launch[56534]) Job appears to have crashed: Abort trap
2/29/12 4:03:41 PM com.apple.launchd.peruser.501[117] (org.tigris.svnplugin.launch) Throttling respawn: Will start in 4 seconds
2/29/12 4:03:41 PM EasySVN[56537] ####ERROR####
EasySVN ~ fillMenu: Bad daemon connection to examineContext. Daemon likely removed/replaced. Restarting EasySVN in case daemon was simply updated.
2/29/12 4:03:41 PM com.apple.launchd.peruser.501[117] ([0x0-0x81e81e].org.tigris.scplugin.EasySVN[56537]) Exited: Killed
2/29/12 4:03:41 PM ReportCrash[56533] Saved crash report for SVNPluginUIDaemon[56534] version ??? (1.0.0d1) to /Users/ben/Library/Logs/DiagnosticReports/SVNPluginUIDaemon_2012-02-29-160341_PROActive.crash
2/29/12 4:03:41 PM EasySVN[56541] Inside applicationDidFinishLaunching.
2/29/12 4:03:41 PM EasySVN[56541] SCToolbarButton ~ getVendedConnection: Begun.
2/29/12 4:03:41 PM EasySVN[56541] ####ERROR####
SCToolbarButton ~ getVendedConnection: Couldn't establish connection to vended daemon-side objects
SCPluginUIDaemon likely crashed in dirent_uri.c (we're working on it!) -- so we're gonna shut EasySVN down now, so we can try again (for testing purposes).
2/29/12 4:03:41 PM com.apple.launchd.peruser.501[117] (com.apple.pbs) Throttling respawn: Will start in 6 seconds
2/29/12 4:03:45 PM SVNPluginUIDaemon[56543] SCUIDaemonController ~ vendConnection: Creating Smart Menu server...
2/29/12 4:03:45 PM SVNPluginUIDaemon[56543] SCUIDaemonController ~ vendConnection: Completed.
...and the resultant thrashy attempts for EasySVN & SVNPluginUIDaemon to restore themselves (actual error occurs before ####ERROR#### marks).
Leave a comment
Relevant Tigris discussion:
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2416530
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2416530
on 2012-03-04 17:12 *
By Benjamin Bandt-Horn
Same crash?
http://code.google.com/p/svnx/issues/attachmentText?id=84&aid=-7061191537946533241&name=svnX_2010-04-16-170942_discovery.crash&token=fe070575952cfd34c68ac296727f0e47
"
In any event, the first
throw SvnException( error );
obviously gets into trouble and never reaches the
catch( SvnException &e )
I do not see how this can be your problem.
I would suspect this is a bug in gcc or in libstdc++/
I will suggest to use a newer gcc and re-build everything.
"
...moving on.
http://code.google.com/p/svnx/issues/attachmentText?id=84&aid=-7061191537946533241&name=svnX_2010-04-16-170942_discovery.crash&token=fe070575952cfd34c68ac296727f0e47
"
In any event, the first
throw SvnException( error );
obviously gets into trouble and never reaches the
catch( SvnException &e )
I do not see how this can be your problem.
I would suspect this is a bug in gcc or in libstdc++/
I will suggest to use a newer gcc and re-build everything.
"
...moving on.
(In revision:116) More misguided efforts to squash the non-canonical paths bug. Test #44
/** Given @a local_abspath in a dir under version control, decide if it is
* in a state of conflict; return the answers in @a *text_conflicted_p, @a
* *prop_conflicted_p, and @a *tree_conflicted_p. If one or two of the
* answers are uninteresting, simply pass @c NULL pointers for those.
*
* If @a local_abspath is unversioned or does not exist, return
* #SVN_ERR_WC_PATH_NOT_FOUND.
*
* If the @a local_abspath has corresponding text conflict files (with suffix
* .mine, .theirs, etc.) that cannot be found, assume that the text conflict
* has been resolved by the user and return @c FALSE in @a
* *text_conflicted_p.
*
* Similarly, if a property conflicts file (.prej suffix) is said to exist,
* but it cannot be found, assume that the property conflicts have been
* resolved by the user and return @c FALSE in @a *prop_conflicted_p.
*
* @a *tree_conflicted_p can't be auto-resolved in this fashion. An
* explicit `resolved' is needed.
*
* @since New in 1.7.
*/
svn_error_t *
svn_wc_conflicted_p3(svn_boolean_t *text_conflicted_p,
svn_boolean_t *prop_conflicted_p,
svn_boolean_t *tree_conflicted_p,
svn_wc_context_t *wc_ctx,
const char *local_abspath,
apr_pool_t *scratch_pool);