RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1888946 - DNF should give a more explicit error message for "GetValue(): Value not set"
Summary: DNF should give a more explicit error message for "GetValue(): Value not set"
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: libdnf
Version: 8.2
Hardware: All
OS: Linux
medium
low
Target Milestone: rc
: 8.0
Assignee: Jaroslav Rohel
QA Contact: Eva Mrakova
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-10-16 13:44 UTC by Christophe Besson
Modified: 2023-12-15 19:48 UTC (History)
3 users (show)

Fixed In Version: libdnf-0.55.0-2.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-05-18 15:01:28 UTC
Type: Feature Request
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 5495001 0 None None None 2020-10-16 14:01:53 UTC

Description Christophe Besson 2020-10-16 13:44:20 UTC
Description of problem:
Customer got the following error message:
~~~
# yum list
Updating Subscription Management repositories.
Error: GetValue(): Value not set
~~~

dnf.log shows a python traceback:
~~~
2020-10-14T11:02:55Z DEBUG User-Agent: constructed: 'libdnf (Red Hat Enterprise Linux 8.2; generic; Linux.x86_64)'
2020-10-14T11:02:55Z DEBUG repo: downloading from remote: rhel-8-for-x86_64-appstream-rpms
2020-10-14T11:02:55Z DDEBUG Cleaning up.
2020-10-14T11:02:55Z SUBDEBUG 
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/dnf/repo.py", line 573, in load
    ret = self._repo.load()
  File "/usr/lib64/python3.6/site-packages/libdnf/repo.py", line 394, in load
    return _repo.Repo_load(self)
RuntimeError: GetValue(): Value not set

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 65, in main
    return _main(base, args, cli_class, option_parser_class)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 98, in _main
    return cli_run(cli, base)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 114, in cli_run
    cli.run()
  File "/usr/lib/python3.6/site-packages/dnf/cli/cli.py", line 1143, in run
    self._process_demands()
  File "/usr/lib/python3.6/site-packages/dnf/cli/cli.py", line 833, in _process_demands
    load_available_repos=self.demands.available_repos)
  File "/usr/lib/python3.6/site-packages/dnf/base.py", line 392, in fill_sack
    self._add_repo_to_sack(r)
  File "/usr/lib/python3.6/site-packages/dnf/base.py", line 137, in _add_repo_to_sack
    repo.load()
  File "/usr/lib/python3.6/site-packages/dnf/repo.py", line 580, in load
    raise dnf.exceptions.RepoError(str(e))
dnf.exceptions.RepoError: GetValue(): Value not set
2020-10-14T11:02:55Z CRITICAL Error: GetValue(): Value not set
~~~

Version-Release number of selected component (if applicable):
libdnf-0.39.1-6.el8_2.x86_64
dnf-4.2.17-7.el8_2.noarch

How reproducible:
100%

Steps to Reproduce:
Set a proxy_user without a proxy_password. For the customer, it was done in rhsm.conf (and then redhat.repo has been re-generated).

Additional info:
It happens in libdnf (not in the python wrapper), in libdnf-0.39.1/libdnf/conf/OptionString.cpp:
~~~
 71 const std::string & OptionString::getValue() const
 72 {
 73     if (priority == Priority::EMPTY)
 74         throw ValueNotSet(_("GetValue(): Value not set"));
 75     return value;
 76 }
~~~

# gdb /usr/libexec/platform-python
(gdb) b libdnf/conf/OptionString.cpp:74
(gdb) r /usr/bin/dnf list
(gdb) bt
#0  libdnf::OptionString::getValue[abi:cxx11]() const (this=0x555555bcfa18) at /usr/src/debug/libdnf-0.39.1-6.el8_2.x86_64/libdnf/conf/OptionString.cpp:74
#1  0x00007ffff3e0f6a5 in libdnf::OptionChild<libdnf::OptionString, void>::getValue[abi:cxx11]() const (this=<optimized out>) at /usr/include/c++/8/bits/unique_ptr.h:337
#2  libdnf::Repo::Impl::lrHandleInitRemote (this=0x555556629f70, destdir=<optimized out>, mirrorSetup=<optimized out>)
    at /usr/src/debug/libdnf-0.39.1-6.el8_2.x86_64/libdnf/repo/Repo.cpp:646
#3  0x00007ffff3e14b7a in libdnf::Repo::Impl::load (this=0x555556629f70) at /usr/src/debug/libdnf-0.39.1-6.el8_2.x86_64/libdnf/repo/Repo.cpp:1341
#4  0x00007fffe953ee99 in _wrap_Repo_load (args=<optimized out>) at /usr/src/debug/libdnf-0.39.1-6.el8_2.x86_64/build-py3/bindings/python/repoPYTHON_wrap.cxx:10311
#5  0x00007ffff750d432 in _PyCFunction_FastCallDict (func_obj=<built-in method Repo_load of module object at remote 0x7fffe9aab9a8>, args=0x7fffdfb0ca40, nargs=<optimized out>, kwargs=0x0)
    at /usr/src/debug/python3-3.6.8-23.el8.x86_64/Objects/methodobject.c:234

<--cut-->

(gdb) f 2
#2  libdnf::Repo::Impl::lrHandleInitRemote (this=0x555556629f70, destdir=<optimized out>, mirrorSetup=<optimized out>)
    at /usr/src/debug/libdnf-0.39.1-6.el8_2.x86_64/libdnf/repo/Repo.cpp:646
(gdb) c
Continuing.
Traceback (most recent call last):
  File "/usr/bin/dnf", line 58, in <module>
    main.user_main(sys.argv[1:], exit_code=True)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 191, in user_main
    errcode = main(args)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 65, in main
    return _main(base, args, cli_class, option_parser_class)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 98, in _main
    return cli_run(cli, base)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 114, in cli_run
    cli.run()
  File "/usr/lib/python3.6/site-packages/dnf/cli/cli.py", line 1143, in run
    self._process_demands()
  File "/usr/lib/python3.6/site-packages/dnf/cli/cli.py", line 833, in _process_demands
    load_available_repos=self.demands.available_repos)
  File "/usr/lib/python3.6/site-packages/dnf/base.py", line 392, in fill_sack
    self._add_repo_to_sack(r)
  File "/usr/lib/python3.6/site-packages/dnf/base.py", line 137, in _add_repo_to_sack
    repo.load()
  File "/usr/lib/python3.6/site-packages/dnf/repo.py", line 572, in load
    ret = self._repo.load()
  File "/usr/lib64/python3.6/site-packages/libdnf/repo.py", line 394, in load
    return _repo.Repo_load(self)
RuntimeError: GetValue(): Value not set
[Inferior 1 (process 82610) exited with code 01]

Comment 3 Jaroslav Rohel 2020-11-23 14:05:22 UTC
Fixed in PR https://github.com/rpm-software-management/libdnf/pull/1087.

Generates more specific error messages:
- repo '{repo_id}': 'basecachedir' is not set
- repo '{repo_id}': 'proxy_username' is set but not 'proxy_password'
- 'proxy_username' is set but not 'proxy_password'
instead of generic "GetValue(): Value not set".

Comment 12 errata-xmlrpc 2021-05-18 15:01:28 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (dnf bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:1657


Note You need to log in before you can comment on or make changes to this bug.