Bug 1798392

Summary: AttributeError: 'str' object has no attribute 'get_type_string'
Product: [Fedora] Fedora Reporter: lnie <lnie>
Component: anacondaAssignee: Vendula Poncova <vponcova>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 32CC: anaconda-maint-list, awilliam, fzatlouk, jkonecny, jonathan, kellin, lnie, robatino, rvykydal, vanmeeuwen+fedora, vponcova, wwoods
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:a1df6239af185d86376043a21f3f86fa5639f1d0d42273f6ec25fcd26d54ed0c; AcceptedBlocker
Fixed In Version: anaconda-32.23-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-02-20 20:12:57 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: 1705305    
Attachments:
Description Flags
File: anaconda-tb
none
File: anaconda.log
none
File: dbus.log
none
File: dnf.librepo.log
none
File: environ
none
File: lorax-packages.log
none
File: lsblk_output
none
File: lvm.log
none
File: nmcli_dev_list
none
File: os_info
none
File: program.log
none
File: storage.log
none
File: syslog
none
File: packaging.log none

Description lnie 2020-02-05 08:55:43 UTC
Version-Release number of selected component:
anaconda-32.22

The following was filed automatically by anaconda:
anaconda 32.22 exception report
Traceback (most recent call first):
  File "/usr/lib/python3.8/site-packages/dasbus/typing.py", line 171, in unwrap_variant
    type_string = variant.get_type_string()
  File "/usr/lib/python3.8/site-packages/dasbus/structure.py", line 105, in set_data_variant
    self.set_data(obj, unwrap_variant(variant))
  File "/usr/lib/python3.8/site-packages/dasbus/structure.py", line 236, in from_structure
    field.set_data_variant(data, variant)
  File "/usr/lib/python3.8/site-packages/dasbus/structure.py", line 266, in from_structure_list
    return list(map(cls.from_structure, structures))
  File "/usr/lib64/python3.8/site-packages/pyanaconda/ui/gui/spokes/advstorage/iscsi.py", line 209, in process_discovery_result
    self._discovered_nodes = Node.from_structure_list(nodes)
  File "/usr/lib64/python3.8/site-packages/pyanaconda/modules/common/task/__init__.py", line 68, in _callback
    callback(task_proxy)
  File "/usr/lib/python3.8/site-packages/dasbus/signal.py", line 53, in emit
    callback(*args, **kwargs)
  File "/usr/lib/python3.8/site-packages/dasbus/client/handler.py", line 357, in _signal_callback
    callback(*unwrap_variant(parameters))
  File "/usr/lib/python3.8/site-packages/dasbus/client/handler.py", line 133, in _signal_callback
    callback(parameters, *callback_args)
AttributeError: 'str' object has no attribute 'get_type_string'

Additional info:
addons:         com_redhat_kdump
blivet-gui-utils.log: 
cmdline:        /usr/bin/python3  /sbin/anaconda
cmdline_file:   BOOT_IMAGE=vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=Fedora-S-dvd-x86_64-rawh rd.live.check quiet
executable:     /sbin/anaconda
hashmarkername: anaconda
hawkey.log:     INFO Feb-05 08:52:51 === Started libdnf-0.43.1 ===
kernel:         5.5.0-0.rc6.git3.1.fc32.x86_64
product:        Fedora
release:        Fedora release 32 (Rawhide)
release_type:   pre-release
type:           anaconda
version:        rawhide

Comment 1 lnie 2020-02-05 08:55:55 UTC
Created attachment 1657804 [details]
File: anaconda-tb

Comment 2 lnie 2020-02-05 08:56:02 UTC
Created attachment 1657805 [details]
File: anaconda.log

Comment 3 lnie 2020-02-05 08:56:05 UTC
Created attachment 1657806 [details]
File: dbus.log

Comment 4 lnie 2020-02-05 08:56:07 UTC
Created attachment 1657807 [details]
File: dnf.librepo.log

Comment 5 lnie 2020-02-05 08:56:15 UTC
Created attachment 1657808 [details]
File: environ

Comment 6 lnie 2020-02-05 08:56:23 UTC
Created attachment 1657809 [details]
File: lorax-packages.log

Comment 7 lnie 2020-02-05 08:56:30 UTC
Created attachment 1657810 [details]
File: lsblk_output

Comment 8 lnie 2020-02-05 08:56:37 UTC
Created attachment 1657811 [details]
File: lvm.log

Comment 9 lnie 2020-02-05 08:56:40 UTC
Created attachment 1657812 [details]
File: nmcli_dev_list

Comment 10 lnie 2020-02-05 08:56:42 UTC
Created attachment 1657813 [details]
File: os_info

Comment 11 lnie 2020-02-05 08:56:48 UTC
Created attachment 1657814 [details]
File: program.log

Comment 12 lnie 2020-02-05 08:56:54 UTC
Created attachment 1657815 [details]
File: storage.log

Comment 13 lnie 2020-02-05 08:56:58 UTC
Created attachment 1657816 [details]
File: syslog

Comment 14 lnie 2020-02-05 08:57:00 UTC
Created attachment 1657817 [details]
File: packaging.log

Comment 15 lnie 2020-02-05 09:16:53 UTC
reproduce steps:
1 click Add a disk in the Installation Destination page
2.click "Add iSCSI target" and type in the target ip address and iscsi initiator name
3.the crash will happen several seconds after click the Start Discovery

Comment 16 Fedora Blocker Bugs Application 2020-02-05 09:19:54 UTC
Proposed as a Blocker for 32-final by Fedora user lnie using the blocker tracking app because:

 This bug affects:
The installer must be able to detect (if possible) and install to supported network-attached storage devices.

Comment 17 Radek Vykydal 2020-02-06 16:53:42 UTC
Seems to be related to this change:
https://github.com/rhinstaller/dasbus/commit/385f4911f5ddd443f33b62dbb2eec576258d276a

When iterating over the variant (list items) here:
https://github.com/rhinstaller/dasbus/blob/91c944a375c75e4ae15fa06390e53fddec82957f/dasbus/structure.py#L266
the items get unpacked by GLib.

Maybe we need to decompose the list manually using something like GLib.Variant.get_child() before passing the items to from_structure.

Leaving the BZ to Vendy who understands the thing way better.

Comment 18 Vendula Poncova 2020-02-10 12:20:04 UTC
Fixed in a pull request: https://github.com/rhinstaller/anaconda/pull/2313

Comment 19 FrantiĊĦek Zatloukal 2020-02-10 18:09:27 UTC
Discussed during the 2020-02-10 blocker review meeting: [1]

The decision to classify this bug as an AcceptedBlocker was made:

"The installer must be able to detect (if possible) and install to supported network-attached storage devices"

[1] https://meetbot-raw.fedoraproject.org/fedora-blocker-review/2020-02-10/f32-blocker-review.2020-02-10-17.01.log.txt

Comment 20 Ben Cotton 2020-02-11 16:32:28 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 32 development cycle.
Changing version to 32.

Comment 21 Adam Williamson 2020-02-20 20:12:57 UTC
Confirmed fixed in 32.23 (in Rawhide). 32.23 wasn't built for F32, but 32.24.1 has just been built and tagged, so we should be good with tomorrow's compose.

Note that https://bugzilla.redhat.com/show_bug.cgi?id=1774746 is still happening, so iSCSI install is still broken, it's just broken a little bit further along.