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

Re: crash when fetching status

From: SteveKing <steveking_at_gmx.ch>
Date: 2004-11-17 15:22:49 CET

kfogel@collab.net wrote:

> 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 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)))
>> {
>
>
>
> That sounds right, but can you supply a reproduction recipe so we can
> test the fix (and even write a regression test)? That would be
> sooooooo helpful...

Heureka! (well, kind of ;) )

I just received another crashreport, but this time the user actually
could provide additional information:
>Some additional notes on that matter:
>
>There was some process blocking the .svn/tmp directory!
>(The system refused to delete it as "it's in use")
>
>All clients (subclipse, tortoise and svn-cmdline) crash!
>
>I think there might be a bug in the client-lib that causes the crash
>when it can not get hold of the ".svn/tmp" directory! Please pass this
>information on the the "correct" developers.

I guess that some function before that part of code fails when the tmp
dir is locked and then the the parent_status->entry is NULL (or pointing
to an illegal address). Also note: the user reports that even the
command line client crashes.

Hope this helps to figure out why to check there for NULL (or do some
checks before).

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Nov 17 15:25:08 2004

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