writeable_check: warn about invalid mountinfo lines (bug 594284)

X-Gentoo-bug: 594284
X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=594284
diff --git a/pym/portage/util/writeable_check.py b/pym/portage/util/writeable_check.py
index 26fe199..e5b14c0 100644
--- a/pym/portage/util/writeable_check.py
+++ b/pym/portage/util/writeable_check.py
@@ -44,6 +44,7 @@
 	read-only, may be empty.
 	"""
 	ro_filesystems = set()
+	invalids = []
 
 	try:
 		with io.open("/proc/self/mountinfo", mode='r',
@@ -61,6 +62,7 @@
 					_dir, attr1 = mount[0].split()[4:6]
 				except ValueError:
 					# If it raises ValueError we can simply ignore the line.
+					invalids.append(line)
 					continue
 				# check for situation with invalid entries for /home and /root in /proc/self/mountinfo
 				# root path is missing sometimes on WSL
@@ -72,7 +74,11 @@
 						try:
 							attr2 = mount[1].split()[1]
 						except IndexError:
-							attr2 = mount[1]
+							invalids.append(line)
+							continue
+				else:
+					invalids.append(line)
+					continue
 				if attr1.startswith('ro') or attr2.startswith('ro'):
 					ro_filesystems.add(_dir)
 
@@ -83,6 +89,10 @@
 			level=logging.WARNING, noiselevel=-1)
 		return []
 
+	for line in invalids:
+		writemsg_level(_("!!! /proc/self/mountinfo contains unrecognized line: %s\n")
+			% line.rstrip(), level=logging.WARNING, noiselevel=-1)
+
 	ro_devs = {}
 	for x in ro_filesystems:
 		try: