Description of problem: **Issue:** anaconda fails when connected to a Wi-Fi network with a '#' in the SSID **To Reproduce:** 1. Connect to a network with a '#' in the SSID. 2. Launch anaconda. **Expected Behavior:** anaconda starts up normally. **Observed Behavior:** anaconda crashes on an unhandled ValueError. **Analysis:** On startup, anaconda calls SimpleConfigFile.read() on every ifcfg file in /etc/sysconfig/network-scripts. For each line of the ifcfg file, SimpleConfigFile.read strips out comments, which it defines as anything following a '#' character on a line, then unquotes the string: s = line.strip() if '#' in s: s = s[:s.find('#')] # remove from comment to EOL s = s.strip() # and any unnecessary whitespace key, eq, val = s.partition('=') if self.read_unquote: val = unquote(val) unquote() passes the value to shlex.split: def unquote(s): return ' '.join(shlex.split(s)) If Wi-Fi network with a '#' in the name has an ifcfg file, it will contain lines like this: ESSID="Example Network #1" After comments are stripped, this line becomes: ESSID="Example Network val then becomes: "Example Network shlex.split() then throws a ValueError during the unquote() call, due to the lack of a closing quotation mark. This ValueError goes unhandled, causing anaconda to crash. **Workaround:** Delete the offending ifcfg file before launching anaconda. Version-Release number of selected component: anaconda-20.25.15-1.fc20.x86_64 The following was filed automatically by anaconda: anaconda 20.25.15-1 exception report Traceback (most recent call first): File "/usr/lib64/python2.7/shlex.py", line 172, in read_token raise ValueError, "No closing quotation" File "/usr/lib64/python2.7/shlex.py", line 96, in get_token raw = self.read_token() File "/usr/lib64/python2.7/shlex.py", line 269, in next token = self.get_token() File "/usr/lib64/python2.7/shlex.py", line 279, in split return list(lex) File "/usr/lib64/python2.7/site-packages/pyanaconda/simpleconfig.py", line 26, in unquote return ' '.join(shlex.split(s)) File "/usr/lib64/python2.7/site-packages/pyanaconda/simpleconfig.py", line 123, in _parseline val = unquote(val) File "/usr/lib64/python2.7/site-packages/pyanaconda/simpleconfig.py", line 69, in read key, value = self._parseline(line) File "/usr/lib64/python2.7/site-packages/pyanaconda/network.py", line 236, in read SimpleConfigFile.read(self) File "/usr/lib64/python2.7/site-packages/pyanaconda/network.py", line 767, in find_ifcfg_file ifcfg.read() File "/usr/lib64/python2.7/site-packages/pyanaconda/network.py", line 752, in find_ifcfg_file_of_device root_path) File "/usr/lib64/python2.7/site-packages/pyanaconda/network.py", line 291, in dumpMissingDefaultIfcfgs if find_ifcfg_file_of_device(devname): File "/usr/lib64/python2.7/site-packages/pyanaconda/network.py", line 1189, in networkInitialize devnames = dumpMissingDefaultIfcfgs() File "/sbin/anaconda", line 1068, in <module> networkInitialize(ksdata) ValueError: No closing quotation Additional info: cmdline: /usr/bin/python /sbin/anaconda --liveinst --method=livecd:///dev/mapper/live-base cmdline_file: initrd=initrd0.img root=live:UUID=967B-5310 rootfstype=vfat rw rd.live.image overlay=UUID=967B-5310 quiet rhgb rd.luks=0 rd.md=0 rd.dm=0 BOOT_IMAGE=vmlinuz0 executable: /sbin/anaconda hashmarkername: anaconda kernel: 3.11.10-301.fc20.x86_64 other involved packages: python-libs-2.7.5-9.fc20.x86_64 product: Fedora release: Fedora release 20 (Heisenbug) type: anaconda version: 20
Created attachment 839938 [details] File: anaconda-tb
Created attachment 839939 [details] File: anaconda.log
Created attachment 839940 [details] File: environ
Created attachment 839941 [details] File: journalctl
Created attachment 839942 [details] File: lsblk_output
Created attachment 839943 [details] File: nmcli_dev_list
Created attachment 839944 [details] File: os_info
Created attachment 839945 [details] File: program.log
Created attachment 839946 [details] File: storage.log
Created attachment 839947 [details] File: ifcfg.log
anaconda-21.48.11-1.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/anaconda-21.48.11-1.fc21
Package anaconda-21.48.11-1.fc21, python-blivet-0.61.6-1.fc21: * should fix your issue, * was pushed to the Fedora 21 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing anaconda-21.48.11-1.fc21 python-blivet-0.61.6-1.fc21' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-13413/python-blivet-0.61.6-1.fc21,anaconda-21.48.11-1.fc21 then log in and leave karma (feedback).
anaconda-21.48.12-1.fc21, python-blivet-0.61.7-1.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/python-blivet-0.61.7-1.fc21,anaconda-21.48.12-1.fc21
This message is a reminder that Fedora 20 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 20. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '20'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 20 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.