Bug 1374810

Summary: initial-setup fails - TypeError: unhashable type: 'list'
Product: [Fedora] Fedora Reporter: Paul Whalen <pwhalen>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: aldrinjohn, anaconda-maint-list, g.kaviyarasu, gmarr, jonathan, mkolman, pbrobinson, robatino, sbueno, vanmeeuwen+fedora, vpodzime
Target Milestone: ---   
Target Release: ---   
Hardware: arm   
OS: Linux   
Whiteboard: AcceptedBlocker
Fixed In Version: anaconda-25.20.3-1 anaconda-25.20.3-1.fc25 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-09-27 00:33:44 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: 1277287    

Description Paul Whalen 2016-09-09 17:19:19 UTC
Description of problem:

When booting the arm minimal image with anaconda-25.20.1-1.fc25, initial-setup fails to run:

Traceback (most recent call last):
  File "/usr/libexec/initial-setup/initial-setup-text", line 8, in <module>
    is_instance.run()
  File "/usr/lib/python3.5/site-packages/initial_setup/__init__.py", line 304, in run
    ui.setup(self.data)
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/__init__.py", line 177, in setup
    should_schedule = obj.setup(self.ENVIRONMENT)
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/hubs/__init__.py", line 65, in setup
    spoke.initialize()
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/spokes/time_spoke.py", line 84, in initialize
    self._ntp_servers[server] = constants.NTP_SERVER_QUERY
TypeError: unhashable type: 'list'


Version-Release number of selected component (if applicable):
anaconda-core-25.20.1-1.fc25.armv7hl
anaconda-tui-25.20.1-1.fc25.armv7hl
initial-setup-0.3.42-1.fc25

How reproducible:
Everytime


Actual results:
initial-setup screen

Comment 1 Paul Whalen 2016-09-12 15:58:48 UTC
Reproducible with:
 
Fedora-Minimal-armhfp-25-20160912.n.0-sda.raw.xz
Fedora-Xfce-armhfp-25-20160912.n.0-sda.raw.xz

Proposed as a Beta Blocker:

"A working mechanism to create a user account must be clearly presented during installation and/or first boot of the installed system."

Comment 2 Geoffrey Marr 2016-09-13 01:46:05 UTC
Discussed during the 2016-09-12 blocker review meeting: [1]

The decision to classify this bug as an AcceptedBlocker was made as it violates the following criteria:

"A working mechanism to create a user account must be clearly presented during installation and/or first boot of the installed system."

[1] https://meetbot.fedoraproject.org/fedora-blocker-review/2016-09-12/f25-blocker-review.2016-09-12-16.01.txt

Comment 3 Peter Robinson 2016-09-14 14:29:39 UTC
So on today's minimal image (Fedora-Minimal-armhfp-25-20160914.n.0-sda.raw.xz) initial-install just crashes (no network attached)

/usr/lib/python3.5/site-packages/pyanaconda/installclass.py:26: PendingDeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
[   70.114797] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   70.680978] Ebtables v2.0 registered
[   71.580708] nf_conntrack version 0.5.0 (8192 buckets, 32768 max)
[   74.440338] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[   74.793280] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   74.852576] net eth0: initializing cpsw version 1.12 (0)
[   74.859833] libphy: PHY 4a101000.mdio:00 not found
[   74.864878] net eth0: phy "4a101000.mdio:00" not found on slave 0, err -19
[   75.024867] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   75.810044] Netfilter messages via NETLINK v0.30.
[   75.981876] ip_set: protocol 6
Traceback (most recent call last):
  File "/usr/libexec/initial-setup/initial-setup-text", line 8, in <module>
    is_instance.run()
  File "/usr/lib/python3.5/site-packages/initial_setup/__init__.py", line 304, in run
    ui.setup(self.data)
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/__init__.py", line 177, in setup
    should_schedule = obj.setup(self.ENVIRONMENT)
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/hubs/__init__.py", line 65, in setup
    spoke.initialize()
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/spokes/time_spoke.py", line 84, in initialize
    self._ntp_servers[server] = constants.NTP_SERVER_QUERY
TypeError: unhashable type: 'list'

Comment 4 Peter Robinson 2016-09-14 14:30:28 UTC
Crashing when there is a network link in a slightly different way:

/usr/lib/python3.5/site-packages/pyanaconda/installclass.py:26: PendingDeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
[   49.100064] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   49.629908] Ebtables v2.0 registered
[   50.970477] nf_conntrack version 0.5.0 (8192 buckets, 32768 max)
[   53.540785] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[   53.890747] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   53.941239] net eth0: initializing cpsw version 1.12 (0)
[   54.110614] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=4a101000.mdio:00, irq=-1)
[   54.187709] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   54.722849] Netfilter messages via NETLINK v0.30.
[   54.919972] ip_set: protocol 6
[   57.197177] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[   57.229932] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Traceback (most recent call last):
  File "/usr/libexec/initial-setup/initial-setup-text", line 8, in <module>
    is_instance.run()
  File "/usr/lib/python3.5/site-packages/initial_setup/__init__.py", line 304, in run
    ui.setup(self.data)
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/__init__.py", line 177, in setup
    should_schedule = obj.setup(self.ENVIRONMENT)
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/hubs/__init__.py", line 65, in setup
    spoke.initialize()
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/spokes/time_spoke.py", line 84, in initialize
    self._ntp_servers[server] = constants.NTP_SERVER_QUERY
TypeError: unhashable type: 'list'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'

Comment 5 Martin Kolman 2016-09-20 15:47:34 UTC
A fix has been posted for review:
https://github.com/rhinstaller/anaconda/pull/806

Also switching component to Anaconda as the fix will have to go there.

Comment 6 Fedora Update System 2016-09-22 09:54:45 UTC
anaconda-25.20.3-1.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-bdc5976992

Comment 7 Fedora Update System 2016-09-24 17:52:49 UTC
anaconda-25.20.3-1.fc25, python-blivet-2.1.4-2.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-bdc5976992

Comment 8 Fedora Update System 2016-09-27 00:33:44 UTC
anaconda-25.20.3-1.fc25, python-blivet-2.1.4-2.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 9 aldrinjohn 2019-02-11 06:16:02 UTC
The hash() is a built-in python method, used to return a unique number . This can be applied to any user-defined object which won’t get changed once initialized. This property is used mainly in dictionary keys .


TypeError: unhashable type: 'list' usually means that you are trying to use a list as an hash argument. This means that when you try to hash an unhashable object it will result an error. For ex. when you use a list as a key in the dictionary , this cannot be done because lists can't be hashed. The standard way to solve this issue is to cast a list to a tuple .

http://net-informations.com/python/iq/unhashable.htm