Bug 1326108

Summary: bytesize.bytesize.InvalidSpecError: '1.1' is not a valid floating point number string
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: libbytesizeAssignee: Vratislav Podzimek <vpodzime>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: anaconda-maint-list, g.kaviyarasu, japokorn, jonathan, robatino, vanmeeuwen+fedora, vpodzime
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:a1ba88dc2fd156606c8ae7349f0cf100c90682177de86496c19f0d5a353fc983;
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-05 23:53:26 UTC Type: ---
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: 1277284    
Attachments:
Description Flags
File: anaconda-tb
none
File: anaconda.log
none
File: dnf.log
none
File: environ
none
File: lsblk_output
none
File: nmcli_dev_list
none
File: os_info
none
File: program.log
none
File: storage.log
none
File: syslog
none
File: ifcfg.log
none
File: packaging.log none

Description Adam Williamson 2016-04-11 20:52:40 UTC
Description of problem:
This crash occurred during openQA testing of Fedora-Rawhide-20160411.n.0, on the 'install in French' test. It happened after accepting the pre-release warning, while the test was just waiting for the main hub screen to settle down - it seems like it happened right after repository setup completed. Probably a '1.1' vs. '1,1' thing.

Version-Release number of selected component:
anaconda-25.7-1

The following was filed automatically by anaconda:
anaconda 25.7-1 exception report
Traceback (most recent call first):
  File "/usr/lib64/python3.5/site-packages/bytesize/bytesize.py", line 74, in get_error
    raise ex
  File "/usr/lib64/python3.5/site-packages/bytesize/bytesize.py", line 211, in mul_float_str
    get_error(err)
  File "/usr/lib64/python3.5/site-packages/bytesize/bytesize.py", line 480, in __mul__
    return Size(self._c_size.mul_float_str(str(other)))
  File "/usr/lib/python3.5/site-packages/blivet/size.py", line 68, in __mul__
    return Size(bytesize.Size.__mul__(self, other))
  File "/usr/lib64/python3.5/site-packages/pyanaconda/packaging/dnfpayload.py", line 630, in _spaceRequired
    total_space = (size + bonus_size) * 1.1
  File "/usr/lib64/python3.5/site-packages/pyanaconda/packaging/dnfpayload.py", line 587, in spaceRequired
    size = self._spaceRequired()
  File "/usr/lib64/python3.5/site-packages/pyanaconda/packaging/dnfpayload.py", line 662, in checkSoftwareSelection
    len(self._base.transaction), self.spaceRequired)
  File "/usr/lib64/python3.5/site-packages/pyanaconda/ui/gui/spokes/software.py", line 216, in checkSoftwareSelection
    self.payload.checkSoftwareSelection()
  File "/usr/lib64/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib64/python3.5/site-packages/pyanaconda/threads.py", line 253, in run
    threading.Thread.run(self, *args, **kwargs)
bytesize.bytesize.InvalidSpecError: '1.1' is not a valid floating point number string

Additional info:
addons:         com_redhat_docker, com_redhat_kdump
cmdline:        /usr/bin/python3  /sbin/anaconda
cmdline_file:   BOOT_IMAGE=vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=Fedora-E-dvd-x86_64-rawh quiet
dnf.rpm.log:    Apr 11 13:43:50 INFO --- logging initialized ---
executable:     /sbin/anaconda
hashmarkername: anaconda
kernel:         4.6.0-0.rc2.git4.1.fc25.x86_64
product:        Fedora
release:        Cannot get release name.
reproducible:   Not sure how to reproduce the problem
type:           anaconda
version:        rawhide

Comment 1 Adam Williamson 2016-04-11 20:52:44 UTC
Created attachment 1146131 [details]
File: anaconda-tb

Comment 2 Adam Williamson 2016-04-11 20:52:45 UTC
Created attachment 1146132 [details]
File: anaconda.log

Comment 3 Adam Williamson 2016-04-11 20:52:46 UTC
Created attachment 1146133 [details]
File: dnf.log

Comment 4 Adam Williamson 2016-04-11 20:52:47 UTC
Created attachment 1146134 [details]
File: environ

Comment 5 Adam Williamson 2016-04-11 20:52:48 UTC
Created attachment 1146135 [details]
File: lsblk_output

Comment 6 Adam Williamson 2016-04-11 20:52:49 UTC
Created attachment 1146136 [details]
File: nmcli_dev_list

Comment 7 Adam Williamson 2016-04-11 20:52:50 UTC
Created attachment 1146137 [details]
File: os_info

Comment 8 Adam Williamson 2016-04-11 20:52:52 UTC
Created attachment 1146138 [details]
File: program.log

Comment 9 Adam Williamson 2016-04-11 20:52:53 UTC
Created attachment 1146139 [details]
File: storage.log

Comment 10 Adam Williamson 2016-04-11 20:52:55 UTC
Created attachment 1146140 [details]
File: syslog

Comment 11 Adam Williamson 2016-04-11 20:52:56 UTC
Created attachment 1146141 [details]
File: ifcfg.log

Comment 12 Adam Williamson 2016-04-11 20:52:57 UTC
Created attachment 1146142 [details]
File: packaging.log

Comment 13 Adam Williamson 2016-04-11 20:56:09 UTC
openQA test failure - install_european_language on Rawhide. e.g. https://openqa.fedoraproject.org/tests/12764 .

Proposing as an F25 Alpha blocker: violates "The installer must run when launched normally from the release-blocking images." in the case of using French (and probably any language where the separator for floating point numbers is different).

Comment 14 Jan 2016-04-12 14:35:25 UTC
The same issue happens on Fedora-Rawhide-20160412.n.0 and Fedora-Rawhide-20160331.n.3 as well.

Error message was shown in the language selection window without any previous user interaction.

There seems to be involved already configured devices. In my case one with LUKS partition on it and one removable USB disk. When removed and replaced with unconfigured device no error was shown.

Comment 15 Adam Williamson 2016-04-12 14:49:34 UTC
There's no need for existing devices to be involved. the openQA test has a single, empty disk. The calculation that fails in this case is anaconda deciding how much space will be required for the chosen package set (it takes the actual number it arrived at and multiplies it by 1.1 for safety; that '1.1' fails when the locale is one that uses a separator other than . , I believe).

Comment 16 Vratislav Podzimek 2016-04-21 14:13:30 UTC
https://github.com/rhinstaller/libbytesize/pull/11

Comment 17 Vratislav Podzimek 2016-04-26 07:00:25 UTC
Merged.

Comment 18 Adam Williamson 2016-07-05 23:53:26 UTC
Rawhide French install is working fine ATM, the fix clearly worked.