Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1868623

Summary: OverflowError: -4194304 not in range 0 to 18446744073709551615
Product: [Fedora] Fedora Reporter: Vendula Poncova <vponcova>
Component: python-blivetAssignee: Blivet Maintenance Team <blivet-maint-list>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: awilliam, blivet-maint-list, dlehman, japokorn, lnie, mkolman, robatino, rvykydal, vponcova, vtrefny
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-blivet-3.3.0-1.fc33 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-08-21 12:18:30 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1766777    
Attachments:
Description Flags
anaconda-tb
none
syslog
none
storage.log
none
program.log
none
anaconda.log none

Description Vendula Poncova 2020-08-13 10:18:38 UTC
Description of problem:

Blivet's free_space property returns negative size, but Anaconda expects unsigned int.

Version-Release number of selected component (if applicable):
anaconda-33.25-1

How reproducible:
always

Steps to Reproduce:

1. Start the graphical installation with one empty 20 GiB disk.
2. Proceed to the custom partitioning spoke.
4. Switch to "LVM Thin Provisioning".
5. Add a new mount point: /boot, size: 1g
6. Add a new mount point: swap, size: 1g
7. Add a new mount point: /home, size: 1g
8. Add a new mount point: /, size: 20g

Actual results:

Anaconda fails with a traceback.

From syslog:

10:04:06,051 WARNING org.fedoraproject.Anaconda.Modules.Storage:DEBUG:blivet:fedora_fedora size is 19 GiB
10:04:06,052 WARNING org.fedoraproject.Anaconda.Modules.Storage:DEBUG:blivet:vg fedora_fedora has -4 MiB free
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:WARNING:dasbus.server.handler:The call org.fedoraproject.Anaconda.Modules.Storage.DeviceTree.Scheduler.GetContai
nerFreeSpace has failed with an exception:
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:Traceback (most recent call last):
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:  File "/usr/lib/python3.9/site-packages/dasbus/server/handler.py", line 423, in _method_callback
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:    self._handle_method_result(
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:  File "/usr/lib/python3.9/site-packages/dasbus/server/handler.py", line 465, in _handle_method_result
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:    self._server.set_call_reply(
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:  File "/usr/lib/python3.9/site-packages/dasbus/server/handler.py", line 136, in set_call_reply
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:    reply_value = get_variant(out_type, (out_value, ))
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:  File "/usr/lib/python3.9/site-packages/dasbus/typing.py", line 124, in get_variant
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:    return Variant(type_string, value)
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:  File "/usr/lib64/python3.9/site-packages/gi/overrides/GLib.py", line 189, in __new__
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:    v = creator._create(format_string, value)
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:  File "/usr/lib64/python3.9/site-packages/gi/overrides/GLib.py", line 150, in _create
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:    builder.add_value(self._create(dup, i))
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:  File "/usr/lib64/python3.9/site-packages/gi/overrides/GLib.py", line 118, in _create
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:    return self._LEAF_CONSTRUCTORS[format](value)
10:04:06,053 WARNING org.fedoraproject.Anaconda.Modules.Storage:OverflowError: -4194304 not in range 0 to 18446744073709551615

Expected results:

Anaconda doesn't fail with a traceback.

Comment 1 Vendula Poncova 2020-08-13 10:19:37 UTC
Created attachment 1711307 [details]
anaconda-tb

Comment 2 Vendula Poncova 2020-08-13 10:20:04 UTC
Created attachment 1711308 [details]
syslog

Comment 3 Vendula Poncova 2020-08-13 10:20:33 UTC
Created attachment 1711309 [details]
storage.log

Comment 4 Vendula Poncova 2020-08-13 10:21:00 UTC
Created attachment 1711310 [details]
program.log

Comment 5 Vendula Poncova 2020-08-13 10:21:38 UTC
Created attachment 1711311 [details]
anaconda.log

Comment 7 Vojtech Trefny 2020-08-18 05:59:31 UTC
*** Bug 1869458 has been marked as a duplicate of this bug. ***

Comment 8 Adam Williamson 2020-08-18 16:55:09 UTC
Note, this is proposed as a Final blocker because https://bugzilla.redhat.com/show_bug.cgi?id=1869458 , which was proposed as one, was closed as a dupe of this.

Comment 9 Vojtech Trefny 2020-08-19 11:39:35 UTC
upstream PR: https://github.com/storaged-project/blivet/pull/890

updates image: https://vtrefny.fedorapeople.org/img/rhbz1868623.img

I've fixed this particular issue where blivet reports negative free space, but I can't promise this is the only place where something similar happens. Anaconda really shouldn't expect that all sizes in blivet are positive. Negative size is a valid value. This isn't a new issue and it was never a problem until now.

Comment 10 Vladimír Slávik 2020-09-04 13:41:22 UTC
*** Bug 1860644 has been marked as a duplicate of this bug. ***