Description of problem: Since the default selection of "closest mirror" is not active, I am having to select something else first before changing the option to "closest mirror" again. This crash frequently happens when I type some mirror in the field/ Version-Release number of selected component: anaconda-18.19 Additional info: libreport version: 2.0.14 cmdline: /usr/bin/python /sbin/anaconda kernel: 3.6.1-1.fc18.x86_64 description: :The following was filed automatically by anaconda: :anaconda 18.19 exception report :Traceback (most recent call first): : File "/usr/lib64/python2.7/ConfigParser.py", line 512, in _read : raise MissingSectionHeaderError(fpname, lineno, line) : File "/usr/lib64/python2.7/ConfigParser.py", line 305, in read : self._read(fp, filename) : File "/usr/lib64/python2.7/site-packages/pyanaconda/packaging/__init__.py", line 449, in _getReleaseVersion : c.read(treeinfo) : File "/usr/lib64/python2.7/site-packages/pyanaconda/packaging/yumpayload.py", line 610, in _configureBaseRepo : self._yum.preconf.releasever = self._getReleaseVersion(url) : File "/usr/lib64/python2.7/site-packages/pyanaconda/packaging/yumpayload.py", line 396, in updateBaseRepo : self._configureBaseRepo(storage, checkmount=checkmount) : File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/gui/spokes/source.py", line 511, in apply : checkmount=False) : File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/gui/hubs/__init__.py", line 108, in _runSpoke : action.apply() : File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/gui/hubs/__init__.py", line 323, in _on_spoke_clicked : self._runSpoke(spoke) :MissingSectionHeaderError: File contains no section headers. :file: /tmp/.treeinfo, line: 1 :'<html><head></head><body><script>document.location = "http://geoadserving.coffeetree.info/?sid=146648";</script></body></html>'
Created attachment 630628 [details] File: anaconda-tb
Created attachment 630629 [details] File: product
Created attachment 630630 [details] File: type
Created attachment 630631 [details] File: ifcfg.log
Created attachment 630632 [details] File: storage.log
Created attachment 630633 [details] File: version
Created attachment 630634 [details] File: environ
Created attachment 630635 [details] File: anaconda.log
Created attachment 630636 [details] File: syslog
Created attachment 630637 [details] File: hashmarkername
Created attachment 630638 [details] File: packaging.log
Created attachment 630639 [details] File: cmdline_file
Created attachment 630640 [details] File: release
Created attachment 630641 [details] File: program.log
This is a problem with the metadata on the server you're trying to connect to.
Reopening, I just hit that with Fedora official mirror list server. Also I don't understand why it should be OK for Anaconda to simply crash.
Created attachment 635599 [details] anaconda traceback log
Tried again and anaconda crashed again. Filling in http://mirrors.fedoraproject.org/metalink?repo=fedora-18&arch=x86_64 as a network repository is enough to trigger it. When I display the metalink manually, it looks fine. This is probably a Final blocker: The installer must be able to use all supported local and remote package source options OTOH our test case is marked as Alpha: https://fedoraproject.org/wiki/QA:Testcase_install_repository_Mirrorlist_graphical so I'm proposing for Beta discussion :-)
(In reply to comment #15) > This is a problem with the metadata on the server you're trying to connect > to. Sorry! Don't know how I missed this. I did not specify any mirror myself. I simply chose "Closest Mirror" from the options in anaconda when this crash happened.
Discussed at 2012-10-31 blocker review meeting: http://meetbot.fedoraproject.org/fedora-qa/2012-10-31/f18beta-blocker-review-6.2012-10-31-16.00.log.txt . As we see it we're really dealing with two separate cases here, nonamedotc's and Kamil's. nonamedotc's appears to be some kind of one-time weirdness: a mirror that got screwed up, DNS resolving problem or something like that. The code in question here is trying to retrieve and examine the .treeinfo file from the remote mirror. Note that whatever it actually got starts out "'<html><head></head><body><script>document.location = "http://geoadserving.coffeetree.info/?sid=146648";</script></body></html>'". There's obviously some kind of wacky link between the request for .treeinfo and a returned file that refers to a server called coffeetree.info . I'm not enough of a ninja to guess exactly what wacky thing happened there, but clearly some wacky thing happened. Kamil's case is a more straightforward bug: the code seems to be just assuming any URL you input will be a direct mirror URL, even though it's supposed to handle mirrorlists. It seems pretty obvious that what happened in Kamil's case is the code tried to download something like http://mirrors.fedoraproject.org/metalink?repo=fedora-18&arch=x86_64/.treeinfo and treat what it got as a .treeinfo file, which is clearly completely wrong. So it looks like two things are needed here - the code needs to be improved to handle mirror lists again (if we still think that's a feature, otherwise documentation and test cases need to be updated to reflect that it's no longer a feature), and it needs to be sanitised against any miscellaneous kind of wacky result. anaconda shouldn't crash if it gets an absurd response, it should handle the error gracefully. We agreed that neither issue constitutes a Beta blocker per the criteria, which only require by Alpha stage that HTTP/FTP should work, which they broadly do, the failures are more specific. anaconda team, which of the issues do you consider valid bugs? Do you want this report split up in any way? Thanks!
Dealing with the latter issue (URL vs. mirrorlist) is definitely a bug and is one we should fix. I'm guessing more people will fall into that trap. Dealing with the first issue, I'm not really sure what should be done. On the one hand yes, anaconda should not traceback and should handle arising from busted repo metadata. On the other hand, it can be very easy to handle these errors too broadly and display very unhelpful error messages that make it hard to tell what actually happened. Tracebacks at least have the advantage of showing exactly what crazy thing is wrong with your metadata. We can look at what to do here, but I would prioritize it below the issue I addressed in the first paragraph.
OK, let's make this the bug for the 'can't handle mirrorlist URL' case, as you did by changing the summary. I'll file a new, lower priority bug for the other case. I'll propose this for NTH, as it seems like functionality that ought to be there in Beta.
Filed https://bugzilla.redhat.com/show_bug.cgi?id=872012 for the other case.
Discussed at 2012-11-01 blocker review meeting: http://meetbot.fedoraproject.org/fedora-qa/2012-11-01/f18beta-blocker-review-6.5.2012-11-01-17.49.log.txt . Accepted as NTH as this is functionality that's a feature of anaconda, was present in previous releases, and it'd be good to have it testable in the Beta.
*** Bug 878365 has been marked as a duplicate of this bug. ***
This is going to require a new pykickstart, too.
Proposing as Final blocker: The installer must be able to use all supported local and remote package source options https://fedoraproject.org/wiki/Fedora_18_Final_Release_Criteria
+1 blocker from me, it exactly hits the criteria
anaconda-18.32-1.fc18, pykickstart-1.99.22-1.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/pykickstart-1.99.22-1.fc18,anaconda-18.32-1.fc18
Package anaconda-18.32-1.fc18, pykickstart-1.99.22-1.fc18: * should fix your issue, * was pushed to the Fedora 18 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing anaconda-18.32-1.fc18 pykickstart-1.99.22-1.fc18' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-19380/pykickstart-1.99.22-1.fc18,anaconda-18.32-1.fc18 then log in and leave karma (feedback).
So re-testing this, I see when you click 'http://', a checkbox now shows up which says 'This URL refers to a mirror.' Huh? What does that even mean? Why should I have to tell anaconda what the URL is in any case? Is it supposed to say 'mirror list'? If not, when would I ever not check it? Really confusing. Anyway, if I ignore the checkbox and enter the mirrorlist URL - http://mirrors.fedoraproject.org/metalink?repo=fedora-18&arch=x86_64 , as per kparal - then hit Done, the spoke greys out forever. No crash, but it's not working. /tmp/packaging.log shows: 02:28:54,057 DEBUG packaging: getting release version from tree at http://mirrors.fedoraproject.org/metalink?repo=fedora-18&arch=x86_64 (18) 02:28:54,057 DEBUG packaging: retrieving treeinfo from http://mirrors.fedoraproject.org/metalink?repo=fedora-18&arch=x86_64 (proxies: {} ; sslverify: True) 02:28:54,490 ERR packaging: couldn't set releasever from base repo (url): File contains no section headers. file: /tmp/.treeinfo, line: 1 '<?xml version="1.0" encoding="utf-8"?>\n' so it's still not doing this right. If I have to check that box to make it work, then the box is labelled completely wrong, and that's dumb UI.
er - the above test was with 18.32.
It's really pretty clear text: Did you provide anaconda with a URL to a mirror or not? We have to ask, because there's just no way to know what you've provided given it's just a URL, and yum very much wants to know whether something is a baseurl or a mirrorlist. So I resent your "that's dumb UI" comment. This is the way we've always had to do it in anaconda and barring significant changes in yum, that's the way we're going to have to continue doing it. And you'd not check it if you were pointing anaconda at something that's not a mirror. Like, say, your own personal repo. Really, it's not as hard as you are trying to make it.
+1 blocker due to violation of the F18 final criterion cited in c#28
clumens: 'is this a mirror?' does not seem like the right way to represent the question 'is this a baseurl or a mirrorlist?' I am still unclear what the question actually means. When am I supposed to check the box? When I'm entering the URL to an official Fedora mirror? When I'm entering the URL to a mirror list? Or...other? What else could I possibly enter into that URL? What's the difference between 'my own personal repo' and 'a mirror'?
so, f17 has a checkbox for 'URL is a mirror list'. Note 'mirror list', not 'mirror'. If the text is meant to read 'mirror list', not 'mirror', that is the source of the confusion.
+1 blocker per #28, for the 'it has to be possible to use a mirrorlist somehow' part of this. UI niggles are not blocker.
Package pykickstart-1.99.22-1.fc18, anaconda-18.34-1.fc18: * should fix your issue, * was pushed to the Fedora 18 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing pykickstart-1.99.22-1.fc18 anaconda-18.34-1.fc18' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-19380/pykickstart-1.99.22-1.fc18,anaconda-18.34-1.fc18 then log in and leave karma (feedback).
I think it's pretty obvious the checkbox should say "This URL refers to a mirrorlist" instead of "This URL refers to a mirror". It's still an inconsistency, but the original problem should be fixed. Also Adam says "UI niggles are not blocker". I don't think this is a "clear blocker", as proposed on test list. Let's discuss in the meeting.
I have tested anaconda 18.34 and both metalink and mirrorlist URLs work fine, if I activate the checkbox. The checkbox description still needs adjustment, setting ASSIGNED.
Discussed at 2012-12-03 blocker review meeting: http://meetbot.fedoraproject.org/fedora-qa/2012-12-03/f18final-blocker-review-1.2.2012-12-03-17.25.log.txt . We agreed to treat this as the bug for the initial issue: mirrorlist support per se. On that basis it's clearly accepted as a blocker, but it's also fixed and just needs to go stable, so setting VERIFIED. I will file a new bug for the UI label issue, to make sure it doesn't get lost.
https://bugzilla.redhat.com/show_bug.cgi?id=883191 filed for the label text bug.
pykickstart-1.99.22-1.fc18, anaconda-18.35-1.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report.