infinite loop in CachingLogWalker.fetch_revisions
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar Subversion Plugin |
Fix Released
|
High
|
Jelmer Vernooij |
Bug Description
With bzr 1.5, subversion 1.5.0 rc5 and bzr-svn 0.4.10 I get an infinite loop when running this command:
bzr branch http://
This whole issue might be related to my fix of bug #229419 by passing NULL as the paths argument of svn_ra_get_log2, in connection with patches to my Subversion according to http://
I'm not a Python programmer, but I tracked the problem to CachingLogWalke
For some reason, iter_log immediately returns None here, therefore the for body won't get executed, therefore saved_revnum won't change, therefore the while will run over and over again.
Trying to figure out why the iterator returns no result is difficult. It seems that pdb has limited multithreading capabilities. Calling pdb.set_trace() inside logfetcher.run was my solution to achieve this.
It seems that in this case the server was sending an empty report, so that the receiver callback was never invoked to add elements. This might well be a bug in SVN, I don't know, but even if the server acts weird, you woudln't want this kind of inifinite loop, so a sanity check would be in order.
Related branches
- No reviews requested
Changed in bzr-svn: | |
milestone: | none → 0.4.11 |
Changed in bzr-svn: | |
status: | Fix Committed → Fix Released |
That branch works fine here with Subversion 1.4 + patches.
I'll see if I can reproduce with 1.5 later today.