Bug 1394026 - SAS address parsing issue
Summary: SAS address parsing issue
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-blivet
Version: 25
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Blivet Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: RejectedBlocker AcceptedFreezeException
Depends On:
Blocks: F25FinalFreezeException
TreeView+ depends on / blocked
 
Reported: 2016-11-10 20:50 UTC by Jérôme Carretero
Modified: 2023-09-14 03:34 UTC (History)
13 users (show)

Fixed In Version: python-blivet-2.1.6-4.fc25
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-11-18 08:23:53 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Jérôme Carretero 2016-11-10 20:50:32 UTC
Description of problem: fatal error pop-up at beginning of installation process

Version-Release number of selected component (if applicable):
 Fedora-Server-dvd-x86_64-25-20161108.n.1.iso

How reproducible:
 100% on machine with appropriate hardware

Steps to Reproduce:
1. Run installer
2. Wait
3. Observe

Actual results: Installer crash

Expected results: Installer works

Additional info: Check traceback below



Traceback (most recent call last):
  File "/usr/lib64/python3.5/site-packages/pyanaconda/threads.py", line 251, in run
    threading.Thread.run(self, *args, **kwargs)
  File "/usr/lib64/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.5/site-packages/blivet/osinstall.py", line 1175, in storage_initialize
    storage.reset()
  File "/usr/lib/python3.5/site-packages/blivet/threads.py", line 45, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.5/site-packages/blivet/blivet.py", line 273, in reset
    self.edd_dict = get_edd_dict(self.partitioned)
  File "/usr/lib/python3.5/site-packages/blivet/devicelibs/edd.py", line 712, in get_edd_dict
    edd_entries_dict = collect_edd_data(root=root)
  File "/usr/lib/python3.5/site-packages/blivet/devicelibs/edd.py", line 649, in collect_edd_data
    edd_data_dict[biosdev] = EddEntry(path, root=root)
  File "/usr/lib/python3.5/site-packages/blivet/devicelibs/edd.py", line 194, in __init__
    self.load()
  File "/usr/lib/python3.5/site-packages/blivet/devicelibs/edd.py", line 319, in load
    self.sas_address = int(unknown_match.group(1), base=16)
ValueError: invalid literal for int() with base 16: 'SAS'

Local variables in innermost frame:
unknown_match: <_sre.SRE_Match object; span=(0, 36), match='SAS     \tunknown: 4433221100000000 0'>
sas_match: None
interface: SAS          unknown: 4433221100000000 0
self:   path: /sys/firmware/edd/int13_dev84/ version: 0x30 
        mbr_signature: None sectors: None SAS
interface: "SAS unknown: 4433221100000000 0"

Comment 1 Adam Williamson 2016-11-10 22:40:37 UTC
I am proposing this as a Final blocker just because I cannot wait to see people's faces...

Seriously, though, it's a violation of: "The installer must be able to complete an installation using any supported locally connected storage interface." SAS is a supported locally connected storage interface. https://fedoraproject.org/wiki/Fedora_25_Alpha_Release_Criteria#storage-interfaces

pjones, this is in code you wrote:

https://github.com/rhinstaller/blivet/commit/2c5bbf3f9a734240ac9f8621ccd7e27f97a806a7

the regex that's matched is:

re_interface_unknown = re.compile(r'^(\S*)\s*unknown: (\S*) (\S*)\s*$')

and then we do:

                        self.sas_address = int(unknown_match.group(1), base=16)
                        self.sas_lun = int(unknown_match.group(2), base=16)

just looking at the line that matched and the capture groups, 'obviously' we want groups 2 and 3, not 1 and 2. But that seems so obvious it almost makes me think I'm missing something.

Comment 2 Stephen Gallagher 2016-11-11 13:18:37 UTC
+1 blocker

Comment 3 Peter Jones 2016-11-11 17:39:39 UTC
https://github.com/rhinstaller/blivet/pull/524

Comment 4 Adam Williamson 2016-11-14 16:38:01 UTC
Jerome, can you please test with this updates image and see if it fixes the bug?

https://www.happyassassin.net/updates/1394026.0.img

to use it, boot the installer with inst.updates=https://www.happyassassin.net/updates/1394026.0.img as a kernel parameter. Thanks!

For the record, I don't think it really makes sense to take this as a blocker simply because we have no reliable testing capacity for SAS and have treated the test case for it pretty much as an in-joke for the last several releases. I'm intended to propose we revise the criterion to say something like 'commonly-used local storage interfaces' and include a list of what's specifically supported, e.g. PATA, SATA, VirtIO...

I'm moving around this morning and may not be at the meeting the whole time, so logging my thoughts in-bug.

Comment 5 Tim Flink 2016-11-14 18:21:50 UTC
I just ran a quick install on a machine with SAS drives and the install completed without issue.

That being said, this machine does have a RAID controller with no RAID set up which could be enough of a HW difference to make the test result useless. Without knowing more about the machine that produced the original error, it's hard for me to say.

Comment 6 Adam Williamson 2016-11-14 19:26:44 UTC
I *think* (based on pjones' references) the bug may affect only EDD (that's Enhanced Disk Device...I think) 4.0 hardware. I have absolutely no idea how common that is. pjones likely knows more.

Comment 7 Adam Williamson 2016-11-14 19:34:32 UTC
Discussed at 2016-11-14 blocker review meeting: https://meetbot-raw.fedoraproject.org/fedora-blocker-review/2016-11-14/f25-blocker-review.2016-11-14-17.00.html . Rejected as a blocker on the basis that we really don't want the criterion to cover interfaces we do not test regularly. We will discuss a specific criterion adjustment in more detail, but we are agreed that the criterion should be revised not to cover this issue.

Comment 8 Adam Williamson 2016-11-14 19:41:53 UTC
We did, however, accept it as a freeze exception issue.

Comment 9 Fedora Update System 2016-11-16 08:33:32 UTC
python-blivet-2.1.6-4.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2016-80f65e5670

Comment 10 Adam Williamson 2016-11-16 08:42:04 UTC
Can you try this again with F25 RC-1.3? Download links can be found at the top of https://fedoraproject.org/wiki/Test_Results:Fedora_25_RC_1.3_Installation . Thanks!

Comment 11 Fedora Update System 2016-11-16 20:25:54 UTC
python-blivet-2.1.6-4.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-80f65e5670

Comment 12 Fedora Update System 2016-11-18 08:23:53 UTC
python-blivet-2.1.6-4.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 13 Red Hat Bugzilla 2023-09-14 03:34:16 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days


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