CRITICAL: This ValidateDiffCommitResource does not have an attribute "validation_info".

43 views
Skip to first unread message

Szymon Niemiec

unread,
Nov 26, 2022, 5:56:11 PM11/26/22
to Review Board Community
Hello everyone,

Today I wanted to setup ReviewBoard version 5.0.1 for some of my Git repositories.
Web application is working fine.
I've added first repository from the admin area and pointed Path: setting to local directory, where the repo resides. (I was using this guide https://www.reviewboard.org/docs/manual/dev/admin/configuration/repositories/git/#using-a-local-clone)

It seem to be configured fine.
However, when I made example change and try to use `rbt post`, it fails:

```
root@reviewboard:/home/www-data/repos/myrepo# rbt post
Validating commits...                                                      [0/1]
CRITICAL: This ValidateDiffCommitResource does not have an attribute "validation_info".
```

I don't understand the error message. What is validation_info? What did I misconfigure?

Thank you for any help!
Best regards,
Szymon

Christian Hammond

unread,
Nov 27, 2022, 8:03:23 PM11/27/22
to revie...@googlegroups.com
Hi Szymon,

I'm sure it's nothing you did wrong. We may have a bug in RBTools.

Can you run the same command but with the --debug argument, and paste the full results? That can help me to figure out what it's trying to do and where it's going wrong.

Thanks,

Christian

--
Supercharge your Review Board with Power Pack: https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
---
You received this message because you are subscribed to the Google Groups "Review Board Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reviewboard...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/reviewboard/cf94a93f-34e8-4ff4-b9bd-6ec6b1b0e210n%40googlegroups.com.


--
Christian Hammond
President/CEO of Beanbag
Makers of Review Board

Mike Raynham

unread,
Dec 13, 2022, 11:45:54 AM12/13/22
to Review Board Community
We experienced the same issue, and it appears to be caused by RBTools switching the server URL from using HTTPS to HTTP.  Our server is configured to redirect HTTP requests to the equivalent HTTPS URL.  When we disabled this and instead simply allowed HTTP requests, the post command works.

See attached "rbtools.debug" file.  Note how the very first API request is made to https://review.mycompany.com/api/, but subsequent API requests all use http://review.mycompany.com/api/.
rbtools.debug

Dan Lewis

unread,
Dec 13, 2022, 11:45:54 AM12/13/22
to Review Board Community
Hi Christian,

I'm experiencing the same issue as Szymon with a fresh install of Review Board 5.0.1 and RBTools 4.0. The following is the output of `rbt post --debug`

+>> rbt post --debug
>>> RBTools 4.0
>>> Python 3.10.8 (main, Nov  1 2022, 14:18:21) [GCC 12.2.0]
>>> Running on Linux-6.0.11-arch1-1-x86_64-with-glibc2.36
>>> Home = /home/dmn
>>> Current directory = /home/dmn/review_board
>>> Making HTTP GET request to https://review.[redacted].com/api/
>>> [scan] Checking for available SCMs for /home/dmn/review_board...
>>> [scan] Only considering the following types of repositories: git
>>> [scan] Checking for a Git repository...
>>> Running: git rev-parse --git-dir
>>> Running: git config core.bare
>>> Running: git rev-parse --show-toplevel
>>> [scan] SCM scan complete. Found git (/home/dmn/review_board)
>>> [scan] Verifying repository information...
>>> Running: git rev-parse --git-dir
>>> Running: git config core.bare
>>> Running: git rev-parse --show-toplevel
>>> Running: git symbolic-ref -q HEAD
>>> Running: git show-ref --verify refs/remotes/p4/master
>>> Command exited with rc=128 (errors ignored): git show-ref --verify refs/remotes/p4/master
>>> Command stdout=b"fatal: 'refs/remotes/p4/master' - not a valid ref\n"
>>> Command stderr=None
>>> Running: git config --get branch.dl/202212_review_board.merge
>>> Command exited with rc=1 (errors ignored): git config --get branch.dl/202212_review_board.merge
>>> Command stdout=b''
>>> Command stderr=None
>>> Running: git config --get branch.dl/202212_review_board.remote
>>> Command exited with rc=1 (errors ignored): git config --get branch.dl/202212_review_board.remote
>>> Command stdout=b''
>>> Command stderr=None
>>> Running: git config --global --get init.defaultBranch
>>> Command exited with rc=1 (errors ignored): git config --global --get init.defaultBranch
>>> Command stdout=b''
>>> Command stderr=None
>>> Running: git config --get remote.origin.url
>>> [scan] Successfully found repository information: <RepositoryInfo(path='[redacted]:/reg/git/[redacted].git', base_path='', local_path='/home/dmn/review_board')>
>>> Making HTTP GET request to http://review.[redacted].com/api/repositories/?name=[redacted]&only-fields=id%2Cname%2Cmirror_path%2Cpath&only-links=info&tool=Git%2CPerforce%2CSubversion
>>> HTTP GET request to http://review.[redacted].com/api/repositories/?name=[redacted]&only-fields=id%2Cname%2Cmirror_path%2Cpath&only-links=info&tool=Git%2CPerforce%2CSubversion cannot be cached
>>> Making HTTP GET request to http://review.[redacted].com/api/repositories/5/info/
>>> Got API Error 209 (HTTP code 501): The specified repository is not able to perform this action.
>>> Error data: {'err': {'code': 209, 'msg': 'The specified repository is not able to perform this action.'}, 'stat': 'fail'}
>>> Command line: rbt post --debug
>>> Running: git rev-parse refs/heads/dl/202212_review_board
>>> Running: git config --get branch.dl/202212_review_board.merge
>>> Command exited with rc=1 (errors ignored): git config --get branch.dl/202212_review_board.merge
>>> Command stdout=b''
>>> Command stderr=None
>>> Running: git config --get branch.dl/202212_review_board.remote
>>> Command exited with rc=1 (errors ignored): git config --get branch.dl/202212_review_board.remote
>>> Command stdout=b''
>>> Command stderr=None
>>> Running: git config --global --get init.defaultBranch
>>> Command exited with rc=1 (errors ignored): git config --global --get init.defaultBranch
>>> Command stdout=b''
>>> Command stderr=None
>>> Running: git branch --remotes
>>> Running: git rev-parse origin/master
>>> Running: git rev-list f32396422545c92b3256dc43e2f3325531dc880a --not --remotes=origin
>>> Running: git status --porcelain --untracked-files=no --ignore-submodules=dirty
WARNING: Your working directory is not clean. Any changes which have not been committed to a branch will not be included in your review request.
>>> Running: git log -z --reverse --pretty=format:%H%x1f%P%x1f%an%x1f%ae%x1f%ad%x1f%cn%x1f%ce%x1f%cd%x1f%B --date=iso8601-strict f32396422545c92b3256dc43e2f3325531dc880a..ca5d63d501fc8a37f6cdb139022379985c9249b3
>>> Running: git version
>>> Running: git -c core.quotepath=false -c diff.noprefix=false diff --no-color --full-index --ignore-submodules --find-renames --no-ext-diff f32396422545c92b3256dc43e2f3325531dc880a..ca5d63d501fc8a37f6cdb139022379985c9249
>>> Running: git -c core.quotepath=false -c diff.noprefix=false diff --no-color --full-index --ignore-submodules --find-renames --no-ext-diff f32396422545c92b3256dc43e2f3325531dc880a..aedede227a33ade45d447f06f8984a3818141c
>>> Running: git -c core.quotepath=false -c diff.noprefix=false diff --no-color --full-index --ignore-submodules --find-renames --no-ext-diff aedede227a33ade45d447f06f8984a3818141c44..ca5d63d501fc8a37f6cdb139022379985c9249
>>> Making HTTP GET request to http://review.[redacted].com/api/validation/commits/
>>> HTTP GET request to http://review.[redacted].com/api/validation/commits/ cannot be cached
Validating commits...                                                      [0/2]>>> Making HTTP POST request to http://review.[redacted].com/api/validation/commits/
Validating commits...                                                      [0/2]
Traceback (most recent call last):
  File "/home/dmn/.local/lib/python3.10/site-packages/rbtools/api/resource.py", line 856, in __getattr__
    field_payload = self._fields[name]
KeyError: 'validation_info'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/dmn/.local/bin/rbt", line 8, in <module>
    sys.exit(main())
  File "/home/dmn/.local/lib/python3.10/site-packages/rbtools/commands/main.py", line 207, in main
    command.run_from_argv([RB_MAIN, command_name] + args)
  File "/home/dmn/.local/lib/python3.10/site-packages/rbtools/commands/__init__.py", line 1119, in run_from_argv
    exit_code = self.main(*args) or 0
  File "/home/dmn/.local/lib/python3.10/site-packages/rbtools/commands/post.py", line 959, in main
    diff_history = self._validate_diff_history(diff_history)
  File "/home/dmn/.local/lib/python3.10/site-packages/rbtools/commands/post.py", line 1596, in _validate_diff_history
    validation_info = validation_rsp.validation_info
  File "/home/dmn/.local/lib/python3.10/site-packages/rbtools/api/resource.py", line 858, in __getattr__
    raise AttributeError('This %s does not have an attribute "%s".'
AttributeError: This ValidateDiffCommitResource does not have an attribute "validation_info".

Any support you can provide would be great, just let me know if you need any more information.

Thanks,
Dan
On Monday, 28 November 2022 at 01:03:23 UTC Christian Hammond wrote:

Mike Raynham

unread,
Dec 13, 2022, 2:49:32 PM12/13/22
to Review Board Community
Hi,

I turns out that we had accidentally set the server URL in the server settings to the HTTP address instead of the HTTPS address.  We have updated the setting and things are working properly now.

Christian Hammond

unread,
Dec 13, 2022, 5:03:11 PM12/13/22
to revie...@googlegroups.com
Ahh, interesting. Thank you, this is good feedback. We'll try to figure out why this has manifested this way. I'd really like to detect configuration issues like this.

Christian

Reply all
Reply to author
Forward
0 new messages