SteveKing <steveking@gmx.ch> writes:
> During the last two days, I received four crashreports from TSVN
> users. The crashreport showed a crash (EXCEPTION_ACCESS_VIOLATION) in
> libsvn_wc/status.c line 978. (Always referring to the 1.1.1 tag!)
>
> The lines in question:
> if (parent_status
> && (parent_status->text_status != svn_wc_status_unversioned)
> && (parent_status->text_status != svn_wc_status_deleted)
> && (parent_status->text_status != svn_wc_status_missing)
> && (parent_status->text_status != svn_wc_status_obstructed)
> && (parent_status->entry->kind == svn_node_dir)
> && (eb->descend || (! pb)))
> {
>
> Please check the second last line here:
> && (parent_status->entry->kind == svn_node_dir)
>
> Obviously, the
> parent_status->entry
> is NULL, which can be NULL for non-versioned items (AFAIR).
I assume the parent must be a directory given that it is a parent. We
don't descend into unversioned directories within a working copy. An
unversioned directory will often be the parent when the child is a
working copy root, but that doesn't cause this bug. How does this bug
get triggered? What does the working copy look like?
> I think this should be instead:
> if (parent_status
> && (parent_status->entry)
> && (parent_status->text_status != svn_wc_status_unversioned)
> && (parent_status->text_status != svn_wc_status_deleted)
> && (parent_status->text_status != svn_wc_status_missing)
> && (parent_status->text_status != svn_wc_status_obstructed)
> && (parent_status->entry->kind == svn_node_dir)
> && (eb->descend || (! pb)))
> {
I guess that would stop the crash, but is it just hiding the
underlying, unknown, cause of the bug? Is parent_status getting set
incorrectly?
--
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Nov 3 19:36:24 2004