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

crash with 'svn st -u' in RC2

From: SteveKing <steveking_at_gmx.ch>
Date: 2004-08-25 19:22:22 CEST

Hi,

Just received another crashreport for TortoiseSVN. This time, the user
sending the crashreport also provided the steps which lead to the crash.
I've reported crashs with 'svn st -u' already four times during the last
6 months, but since I could only provide the location where it crashes
but no "recipe" how and why this happens, it never got fixed.

So this time, I can at least provide a description and a reason why it
happens:

- relocate a working copy --> (apparent) success
- 'svn up' --> "unexpected end of delta source"
- 'svn st -u' --> crash

The location of the crash is in
libsvn_wc/status.c: 1335
(1.1.x branch).

You can see there:
       /* See if the directory was deleted or replaced. */
       dir_status = apr_hash_get (pb->statii, db->path,
APR_HASH_KEY_STRING);
       if ((dir_status->repos_text_status == svn_wc_status_deleted)
           || (dir_status->repos_text_status == svn_wc_status_replaced))
         was_deleted = TRUE;

after the apr_hash_get() call, it's assumed that dir_status is != NULL.
But as the crash shows, it _is_ NULL. And two lines further:
       /* Now do the status reporting. */
       SVN_ERR (handle_statii (eb, dir_status ? dir_status->entry : NULL,
                               db->path, db->statii, was_deleted, TRUE,
pool));

here, a check is done if dir_status _might_ be NULL. So there must be a
reason this can be NULL, only the check should be done right after the
apr_hash_get() function call.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Aug 25 19:24:07 2004

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.