Created attachment 746422 [details] custom partitioning Description of problem: It is possible to setup mount points with Unicode characters in anaconda custom partitioning. Standard partitions mount points, while looking strange, works. LVM mount points do not, see below. Version-Release number of selected component (if applicable): F19b TC4 (19.25-1) How reproducible: always. Steps to Reproduce: 0. Reach the Main Hub, set English because Portuguese is still selected by default. The correct one would be Spanish. 1. I selected 'Minimal' Base Environment 2. Enter Storage: Installation Destination and do custom partitioning (1 disk guest) using 'lvm' partition scheme. 3. Setup partitions as the sreenshot shows. Both "DATA" /boot (standard partition) and / (lvm lv) have an Unicode trailing character. 7. Return to the Main Hub and and anaconda will crash. Actual results: anaconda crashes after starting installing. (thus, it has touched the disks). Expected results: refusal to accept a mount point with Unicode character, or some other alternative that prevent this issue. Additional info: anaconda 19.25-1 exception report Traceback (most recent call first): File "/usr/lib/python2.7/site-packages/blivet/devices.py", line 789, in create raise DeviceCreateError(str(e), self.name) File "/usr/lib/python2.7/site-packages/blivet/deviceaction.py", line 272, in execute self.device.create() File "/usr/lib/python2.7/site-packages/blivet/devicetree.py", line 237, in processActions action.execute() File "/usr/lib/python2.7/site-packages/blivet/__init__.py", line 303, in doIt self.devicetree.processActions() File "/usr/lib/python2.7/site-packages/blivet/__init__.py", line 162, in turnOnFilesystems storage.doIt() File "/usr/lib64/python2.7/site-packages/pyanaconda/install.py", line 126, in doInstall turnOnFilesystems(storage, mountOnly=flags.flags.dirInstall) File "/usr/lib64/python2.7/threading.py", line 766, in run self.__target(*self.__args, **self.__kwargs) File "/usr/lib64/python2.7/site-packages/pyanaconda/threads.py", line 168, in run threading.Thread.run(self, *args, **kwargs) DeviceCreateError: ('lvcreate failed for fedora_fnext-tst3/: running lvm lvcreate -L 450m -n --config devices { filter=["r|/loop3$|","r|/loop4$|","r|/loop5$|","r|/loop6$|","r|/loop7$|"] } fedora_fnext-tst3 failed', 'fedora_fnext-tst3-') Local variables in innermost frame: self: non-existent 450MB lvmlv fedora_fnext-tst3- (20) with non-existent ext4 filesystem mounted at /<U+200E> e: lvcreate failed for fedora_fnext-tst3/: running lvm lvcreate -L 450m -n --config devices { filter=["r|/loop3$|","r|/loop4$|","r|/loop5$|","r|/loop6$|","r|/loop7$|"] } fedora_fnext-tst3 failed
Created attachment 746424 [details] anaconda.log
Created attachment 746425 [details] program.log
Created attachment 746426 [details] storage.log
Created attachment 746427 [details] anaconda-tb-xxx file
Created attachment 746429 [details] screen-shot of how i put certain unicode characters
ABRT pointed to bug 960271, see comment #23,24,25,27
This only applies to LVM, since LVM adds a bunch of restrictions to device names that don't apply to other types of mount point.
Pushed a change to anaconda to validate the VG names and a change to python-blivet to validate the LV names.
*** Bug 1072412 has been marked as a duplicate of this bug. ***