** Description changed:

  After upgrading from Ubuntu 10.10 to 11.04 I'm having trouble running
  meld on some repositories: meld seems to freeze up while bzr runs at 100
  % CPU until I kill it. After some digging I find that it's the
  invocation of "brz check" that seemingly runs into an endless loop:
  
  /home/project/autarkse/trunk$ bzr check
  Checking working tree at '/home/project/autarkse/trunk'.
  Checking branch at 'file:///home/project/autarkse/branches/V4_0_31_patch/'.
  Checking branch at 
'file:///home/project/autarkse/branches/before-removing-html-files/'.
  Checking branch at 'file:///home/project/autarkse/branches/before_ui_change/'.
  Checking branch at 'file:///home/project/autarkse/branches/initial0/'.
  Checking branch at 'file:///home/project/autarkse/branches/new-ui-branch/'.
  Checking branch at 'file:///home/project/autarkse/trunk/'.
  Checking repository at 'file:///home/project/autarkse/'.
  \ checking commit contents:inventories 0/2         
  bzr: interrupted                                                              
 
  
  However, if I am really patient, bzr will run to an end, and I can start
  working, but on this particular repository it takes some 3 to 4 minutes
  with the CPU running hot, and that's every time I open meld on this
  repository!
  
  Apparently, the invocation of "bzr check" was added in revision 24:
  $ bzr diff -r23..24 meld/vc/bzr.py
  === modified file 'meld/vc/bzr.py'
  --- meld/vc/bzr.py    2010-06-24 23:54:27 +0000
  +++ meld/vc/bzr.py    2010-09-28 14:29:19 +0000
  @@ -57,6 +57,11 @@
           return [self.CMD] + self.CMDARGS + ["revert"]
       def resolved_command(self):
           return [self.CMD] + self.CMDARGS + ["resolve"]
  +    def valid_repo(self):
  +        if _vc.call([self.CMD, "check"]):
  +            return False
  +        else:
  +            return True
       def get_working_directory(self, workdir):
           return self.root
  
  ProblemType: Bug
  DistroRelease: Ubuntu 11.04
  Package: meld 1.5.0-0ubuntu1.1
  ProcVersionSignature: Ubuntu 2.6.38-14.58-generic 2.6.38.8
  Uname: Linux 2.6.38-14-generic x86_64
  Architecture: amd64
  Date: Wed Apr 25 14:31:29 2012
  InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100429)
  PackageArchitecture: all
  SourcePackage: meld
  UpgradeStatus: Upgraded to natty on 2012-04-23 (2 days ago)
+ 
+ [Impact]
+ First of all, the bug is limited to Bazaar repositories. Secondly, the degree 
of impact depends on repository size and complexity: On a large and complex 
repository the bug can add minutes to meld startup time, during which time meld 
is completely unresponsive, while even on a small repository, "bzr check" is a 
lot slower than "bzr  status", which impacts unfavorably on meld startup time.
+ [/Impact]
+ 
+ [Development Fix]
+ In the development branch, the bug has been implicitly fixed by fetching a 
later release from upstream, where the invocation of "bzr check" has been 
changed to "bzr status".
+ [/Development Fix]
+ 
+ [Stable Fix]
+ A minimal stable fix is to back-port the development fix in isolation.
+ [/Stable Fix]
+ 
+ [Test Case]
+ 1) Navigate to a Bazaar repository, where the invocation of  "bzr check" 
takes more than a few seconds' time.
+ 2) Open meld on this repository.
+ Expected behavior: Meld opens quickly with the repository loaded.
+ Actual behavior: Meld opens with the UI frozen until the "bzr check" command 
has run to finish.
+ [/Test Case]
+ 
+ [Regression Potential]
+ The regression potential is deemed to be minimal. In essence, the fix means 
that "bzr status" will be used instead of "bzr check" to implement the method 
valid_repo. As long as the return value of "bzr status" reflects the basic 
validity of a Bazaar repository, there should be no regression potential
+ [/Regression Potential]

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/988296

Title:
  bzr check awfully slow checking repository in valid_repo

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/meld/+bug/988296/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to