Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 454226 - >app-portage/portpeek-2.1.1 crashes over out-of-portage package-atoms
Summary: >app-portage/portpeek-2.1.1 crashes over out-of-portage package-atoms
Status: RESOLVED WONTFIX
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Third-Party Tools (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Mike Pagano
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-26 22:49 UTC by Andreas Sturmlechner
Modified: 2016-08-07 17:48 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge.info (emerge.info,19.55 KB, text/plain)
2013-02-05 16:20 UTC, Andreas Sturmlechner
Details
output of portpeek -rqktd (portpeek-debug.log,16.90 KB, text/plain)
2013-02-07 23:24 UTC, Andreas Sturmlechner
Details
more output of portpeek -rqktd (portpeek-debug-1.log,37.91 KB, text/plain)
2013-02-09 18:06 UTC, Andreas Sturmlechner
Details
portpeek-2.1.7-rktdn log (portpeek-debug-130309.log,85.32 KB, text/plain)
2013-03-09 10:30 UTC, Andreas Sturmlechner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Sturmlechner gentoo-dev 2013-01-26 22:49:39 UTC
portpeek 2.1.4, 2.1.6 show the same behaviour:

# portpeek -rkqt
Traceback (most recent call last):
  File "/usr/bin/portpeek", line 1350, in <module>
    get_recursive_info(USER_CONFIG_PATH + "/package.keywords")
  File "/usr/bin/portpeek", line 409, in get_recursive_info
    get_recursive_info(filename+os.path.sep+file_name)
  File "/usr/bin/portpeek", line 411, in get_recursive_info
    get_info(filename)
  File "/usr/bin/portpeek", line 434, in get_info
    diffs_found = parse_line(line, filename)
  File "/usr/bin/portpeek", line 215, in parse_line
    check_tilde_masked_pkg(check_pkg, filename)
  File "/usr/bin/portpeek", line 764, in check_tilde_masked_pkg
    if (is_pkg_package_masked(str(current_package.cpv))):
  File "/usr/bin/portpeek", line 635, in is_pkg_package_masked
    for mask_reason_list in portage.getmaskingstatus(cpv, settings2, portdb=portdb2):
  File "/usr/lib/portage/pym/portage/package/ebuild/getmaskingstatus.py", line 41, in getmaskingstatus
    mreason in _getmaskingstatus(mycpv, settings, portdb,myrepo)]
  File "/usr/lib/portage/pym/portage/package/ebuild/getmaskingstatus.py", line 57, in _getmaskingstatus
    metadata = dict(zip(db_keys, portdb.aux_get(mycpv, db_keys, myrepo=myrepo)))
  File "/usr/lib/portage/pym/portage/dbapi/porttree.py", line 460, in aux_get
    raise KeyError(mycpv)
KeyError: 'dev-db/mariadb-5.2.12'


Checking for mariadb, the currently installed package seems to have been dropped from portage:

$ equery l -iop mariadb
 * Searching for mariadb ...
[-P-] [ ~] dev-db/mariadb-5.1.66:0
[I--] [??] dev-db/mariadb-5.2.12:0
[-P-] [M~] dev-db/mariadb-5.2.13:0
[-P-] [M~] dev-db/mariadb-5.3.11:0
[-P-] [ ~] dev-db/mariadb-5.5.28a:0


Changing the entry from ~dev-db/mariadb-5.2.12 to =dev-db/mariadb-5.2.12 is a workaround:

# portpeek -rkqt
Package: =dev-db/mariadb-5.2.12 not found. Please check /etc/portage/package.keywords/stabletransition to validate entry


portpeek-2.1.1 is fine making the following output:

# portpeek -rkqt

dev-db/mariadb-5.2.12 has no masked versions : /etc/portage/package.keywords/stabletransition
Comment 1 Andreas Sturmlechner gentoo-dev 2013-02-01 21:36:22 UTC
Another one (again, 2.1.1 is fine), this time without tilde involved, but probably the same cause:

Traceback (most recent call last):
  File "/usr/bin/portpeek", line 1350, in <module>
    get_recursive_info(USER_CONFIG_PATH + "/package.keywords")
  File "/usr/bin/portpeek", line 409, in get_recursive_info
    get_recursive_info(filename+os.path.sep+file_name)
  File "/usr/bin/portpeek", line 411, in get_recursive_info
    get_info(filename)
  File "/usr/bin/portpeek", line 434, in get_info
    diffs_found = parse_line(line, filename)
  File "/usr/bin/portpeek", line 278, in parse_line
    stable = check_for_stable_release(current_package)
  File "/usr/bin/portpeek", line 691, in check_for_stable_release
    if not is_pkg_package_masked(str(pkg.cpv)):
  File "/usr/bin/portpeek", line 635, in is_pkg_package_masked
    for mask_reason_list in portage.getmaskingstatus(cpv, settings2, portdb=portdb2):
  File "/usr/lib/portage/pym/portage/package/ebuild/getmaskingstatus.py", line 41, in getmaskingstatus
    mreason in _getmaskingstatus(mycpv, settings, portdb,myrepo)]
  File "/usr/lib/portage/pym/portage/package/ebuild/getmaskingstatus.py", line 57, in _getmaskingstatus
    metadata = dict(zip(db_keys, portdb.aux_get(mycpv, db_keys, myrepo=myrepo)))
  File "/usr/lib/portage/pym/portage/dbapi/porttree.py", line 460, in aux_get
    raise KeyError(mycpv)
KeyError: 'dev-java/icedtea-7.2.3.3'

$ grep icedtea /etc/portage/package.keywords/stabletransition
=dev-java/icedtea-7.2.3*

$ equery l -ipo icedtea
 * Searching for icedtea ...
[-P-] [ ~] dev-java/icedtea-6.1.11.5:6
[-P-] [ ~] dev-java/icedtea-6.1.12.0:6
[--O] [ ~] dev-java/icedtea-7.2.0-r3:7
[--O] [ ~] dev-java/icedtea-7.2.1:7
[I--] [??] dev-java/icedtea-7.2.3.3:7
[-P-] [  ] dev-java/icedtea-7.2.3.4:7
Comment 2 Mike Pagano gentoo-dev 2013-02-05 15:35:58 UTC
Can't replicate this at all. What python version are you using?
Comment 3 Mike Pagano gentoo-dev 2013-02-05 15:37:21 UTC
post emerge --info, please
Comment 4 Andreas Sturmlechner gentoo-dev 2013-02-05 16:20:18 UTC
Created attachment 338020 [details]
emerge.info

...and here it is. :)
Comment 5 Mike Pagano gentoo-dev 2013-02-06 18:14:53 UTC
Which python version  is active?
Comment 6 Andreas Sturmlechner gentoo-dev 2013-02-06 20:01:23 UTC
# eselect python list
Available Python interpreters:
  [1]   python2.7
  [2]   python3.2 *
Comment 7 Mike Pagano gentoo-dev 2013-02-07 19:59:05 UTC
Thanks. Can you add d to the command, maybe some debug output might be helpful.
Comment 8 Andreas Sturmlechner gentoo-dev 2013-02-07 23:24:12 UTC
Created attachment 338278 [details]
output of portpeek -rqktd

done!
Comment 9 Andreas Sturmlechner gentoo-dev 2013-02-09 18:06:05 UTC
Created attachment 338426 [details]
more output of portpeek -rqktd

here it is failing at '<dev-util/cmake-2.8.10.9'
Comment 10 Mike Pagano gentoo-dev 2013-03-08 16:25:24 UTC
ok, got to replicate this. I am working on it.
Comment 11 Mike Pagano gentoo-dev 2013-03-08 20:03:42 UTC
Can you try 2.1.7 when it hits the tree?
Comment 12 Andreas Sturmlechner gentoo-dev 2013-03-09 09:53:48 UTC
OK, had to reintroduce mariadb-5.2.12 to portage, removed the ebuild after emerge, and made sure that portpeek-2.1.6 would stumble over it again.

When the package.keywords entry reads `~dev-db/mariadb-5.2.12`, portpeek-2.1.7 reports:

dev-db/mariadb-5.2.12 has no masked versions : /etc/portage/package.keywords/stabletransition

When it's `=dev-db/mariadb-5.2.12`, the output is:

Package: =dev-db/mariadb-5.2.12 not found. Please check /etc/portage/package.keywords/stabletransition to validate entry
Comment 13 Andreas Sturmlechner gentoo-dev 2013-03-09 10:30:13 UTC
Created attachment 341390 [details]
portpeek-2.1.7-rktdn log

new debug output with ~dev-db/mariadb-5.2.12
Comment 14 Jonas Stein gentoo-dev 2016-06-28 23:02:27 UTC
only the versions 2.0.25 2.1.9 2.1.18 ~2.1.19 ~2.1.20 are left in the tree. 
Is there any progress with this bug? Does it still exist in the recent versions?
Comment 15 Mike Pagano gentoo-dev 2016-08-05 16:48:39 UTC
I could never replicate.  Unless the OP responds, we can close this and he/she can reopen with test data and version info and I will address it then.
Comment 16 Mike Pagano gentoo-dev 2016-08-07 17:48:52 UTC
Please reopen with test and version info if this is still an issue.