1. Marcin Kuzminski
  2. RhodeCode
  3. Issues


Issue #829 resolved

Pull Reqest c.ancestor assertion

Erik Mathisen
created an issue

I downloaded and installed RhodeCode 1.6.0rc1. I created a repo, created a branch from it. i made a changeset and tried a pull request. I received a 500 error. I attached a copy of the error email the system provided.

Comments (21)

  1. Erik Mathisen reporter

    System Info and Packages Python - 2.7.3 System - Linux-3.2.0-39-generic-pae-i686-with-Ubuntu-12.04-precise amqplib 1.0.2 anyjson 0.3.3 argparse 1.2.1 Babel 0.9.6 Beaker 1.6.4 celery 2.2.10 decorator 3.4.0 docutils 0.8.1 dulwich 0.8.7 FormEncode 1.2.4 git 0.0 kombu 1.5.1 Mako 0.7.3 Markdown 2.2.1 MarkupSafe 0.15 mercurial 2.5.4 mock 1.0.1 nose 1.3.0 Paste PasteDeploy 1.5.0 PasteScript 1.7.5 pip 1.3.1 py-bcrypt 0.3 Pygments 1.6 Pylons 1.0 pyparsing 1.5.7 Python 2.7 python-dateutil 1.5 repoze.lru 0.6 RhodeCode 1.6.0rc1 Routes 1.13 setuptools 0.6c11 simplejson 2.5.2 SQLAlchemy 0.7.10 Tempita 0.5.1 waitress 0.8.2 WebError 0.10.3 WebHelpers 1.3 WebOb 1.0.8 WebTest 1.4.3 Whoosh 2.4.1 wsgiref 0.1.2

  2. Marcin Kuzminski repo owner

    I thought it might be issue with older mercurial. Demo is running almost the same code as rc1 with no changes to pull request code. So i dont have an idea why the assertion fails for you

  3. Mads Kiilerich

    I guess that is when creating a pull request between two unrelated repositories. Something that really doesn't make sense and just should give the user an error somehow.

    The assertion shows the intention with the code, but the assertion can probably just be removed so we get garbage-in-garbage-out in this case.

  4. Marcin Kuzminski repo owner

    Erik Mathisen the title of this issue was very broad 500 error can happen with many other cases, i edited the title to the c.ancestor issue. Please check your traceback and post more details here if it's the same error, or open another ticket if the error is different.

    On a side note, i noticed the c.ancestor failing sometimes on our demo instance, but it seems to be concurrency issues related since opening the URL manually works fine. Error happens when there's a lot of concurrent access to the repository.

  5. Chris Stylianou

    I also have the same issue.

    General steps I followed: - Createed a new repo (foo), commited a few files. - Created a new fork (foo-fork), commited a few files to the fork - Create a pull request from foo-fork tip to foo's tip - I get "Error 500" appears in red above "Detailed compare view" and an email with the "Module rhodecode.controllers.compare:149 in index >> assert c.ancestor" message.

    All I can see in logs is a message "Error - <type 'exceptions.AssertionError'>:

    2013-05-22 15:42:33.729 INFO [rhodecode.RequestWrapper] IP: Request to /foo/compare/rev@ac738fb7c1b9b1632858a6899e3935f4440c960d...rev@d8353ad5853e3ea9a5e55d314cb0e3febf7decc7 time: 0.949s 2013-05-22 15:42:33.786 INFO [rhodecode.lib.base] IP: User: <AuthUser('id:3:chris|True')> accessed /foo/compare/rev@ac738fb7c1b9b1632858a6899e3935f4440c960d...rev@d8353ad5853e3ea9a5e55d314cb0e3febf7decc7 2013-05-22 15:42:33.792 INFO [rhodecode.RequestWrapper] IP: Request to /foo/compare/rev@ac738fb7c1b9b1632858a6899e3935f4440c960d...rev@d8353ad5853e3ea9a5e55d314cb0e3febf7decc7 time: 0.063s

    Looking at the requests, it does not appear to be referencing the "foo-fork" directly, maybe this is the issue?

    Pull requests for internal repo changes appear to work, so it seems this is specifically related to pull requests that go across related repos.

    Other info: Revision tip of "foo": ac738fb7c1b9b1632858a6899e3935f4440c960d Revision tip of "foo-fork": d8353ad5853e3ea9a5e55d314cb0e3febf7decc7

  6. Chris Stylianou

    Ignore my previous comment on "Looking at the requests, it does not appear to be referencing the "foo-fork" directly, maybe this is the issue?". It appears the rhodecode log only reports the url path, the query string "as_form=True&amp;other_repo=foo-fork&amp;merge=True&rnd=1369295438704" is also being sent. If I go directly to "/foo/compare/rev@ac738fb7c1b9b1632858a6899e3935f4440c960d...rev@d8353ad5853e3ea9a5e55?as_form=True&amp;other_repo=foo-fork&amp;merge=True&rnd=1369295438704", this page successfully reports the correct changesets.

  7. Chris Stylianou

    Cool :)

    It's not just the preview button, it won't let you create the pull request by clicking the "Send pull request" button. The error bar across the top states: "Revisions: Missing value".

  8. Log in to comment