[Bug 218552] New: endless loop in YaST2 inst_source if source not available
https://bugzilla.novell.com/show_bug.cgi?id=218552 Summary: endless loop in YaST2 inst_source if source not available Product: openSUSE 10.2 Version: Beta 1 Platform: Other OS/Version: Other Status: NEW Severity: Critical Priority: P5 - None Component: YaST2 AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: suse-beta@cboltz.de QAContact: jsrain@novell.com (updated from 10.1 to 10.2 factory from last monday, somewhat newer than beta1) I tried to manually change my 10.1 update source to a 10.2 one by replacing the version number. I don't know what exactly failed (the server is reachable using a browser and the directory exists), however YaST therefore showed an error message: Error occured while creating the catalog. http://gd.tuwien.ac.at/linux/suse.com/suse/update/10.2 Unknown Error: Downloading metadata failed (is YUM source?) or user did not accept remote source. Aborting refresh. [Wiederholen] [Abbrechen] (translated: [try again] [abort] The problem with this: no matter which of the two buttons I click, I see the same error message again and again in an endless loop. -> critical because there's no way out except "kill"ing YaST the hard way -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 ------- Comment #1 from suse-beta@cboltz.de 2006-11-06 12:30 MST ------- Created an attachment (id=104011) --> (https://bugzilla.novell.com/attachment.cgi?id=104011&action=view) y2logs Please note the additional files tail-f_abort and tail-f_tryagain which show the messages between two appearances of the error message - maybe this helps you saving some time. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 aj@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|bnc-team- |yast2-maintainers@suse.de |screening@forge.provo.novell| |.com | -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 sh@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|yast2-maintainers@suse.de |kkaempf@novell.com Component|YaST2 |libzypp QAContact|jsrain@novell.com |kkaempf@novell.com ------- Comment #2 from sh@novell.com 2006-11-08 08:06 MST ------- libzypp problem, not a YaST2 problem -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 schubi@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO Info Provider| |suse-beta@cboltz.de ------- Comment #3 from schubi@novell.com 2006-11-08 09:31 MST ------- Have you typed "10.2." instead of "10.2" ? UrlBase.cc(checkUrlData):171: Invalid path name component '/linux/suse.com/suse/update/10.2./<!DOCTYPE/repodata/repomd.xml' -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 mvidner@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lslezak@novell.com ------- Comment #4 from mvidner@novell.com 2006-11-08 09:41 MST ------- Possibly a problem in the callback bindings or implementation. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 ------- Comment #5 from andreas.hanke@gmx-topmail.de 2006-11-08 09:43 MST ------- I think it's simply a duplicate of bug 211054 (if the assumption that a wrong URL was entered is correct). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 suse-beta@cboltz.de changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |ASSIGNED Info Provider|suse-beta@cboltz.de | ------- Comment #6 from suse-beta@cboltz.de 2006-11-08 15:18 MST ------- (In reply to comment #3)
Have you typed "10.2." instead of "10.2" ?
That's a very good question - unfortunately, I don't remember my exact finger movements from two days ago ;-) What I know: I inserted the error message using copy&paste in this bugreport (except the "Error occured...." line which is not selectable). Therefore there are two possibilities: a) I really typed an additonal dot - in this case I would have seen a wrong error message b) I typed the URL correctly and YaST somewhere adds the dot. Choose yourself ;-) My favorite is b) because it would be very surprising if YaST would cut off a dot from the error message.
UrlBase.cc(checkUrlData):171: Invalid path name component '/linux/suse.com/suse/update/10.2./<!DOCTYPE/repodata/repomd.xml'
Hmm, is it normal that this log line contains <!DOCTYPE ? (I don't know, you are the expert ;-) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 ------- Comment #7 from lslezak@novell.com 2006-11-08 23:52 MST ------- It's a duplicate of bug #211054, the server returns a fallback page when the required URL is not available. It seems that the problem is more common than I assumed. It seems that zypp should really validate the content file (see bug #211054). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 schubi@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|schubi@novell.com |dmacvicar@novell.com Status|ASSIGNED |NEW ------- Comment #8 from schubi@novell.com 2006-11-09 01:41 MST ------- Duncan can you please help here ? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 dmacvicar@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|Critical |Normal Status|NEW |NEEDINFO Info Provider| |suse-beta@cboltz.de ------- Comment #9 from dmacvicar@novell.com 2006-11-16 08:17 MST ------- If zypp gets data that means the server is not actually issuing a 404 header so zypp can give an error, oder? Confirmed: requesting a non existant file you get: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <HTML><HEAD> <TITLE>302 Found</TITLE> </HEAD><BODY> <H1>Found</H1> The document has moved <A HREF="http://gd.tuwien.ac.at/.admin/missing/server.php?name=GD.TUWIEN.AC.AT">here</A>.<P> <HR> <ADDRESS>Apache/1.3.33 Server at <A HREF="mailto:gd@tuwien.ac.at">gd.tuwien.ac.at</A> Port 80</ADDRESS> </BODY></HTML> and the headers are: HTTP/1.1 302 Found Date: Thu, 16 Nov 2006 15:14:17 GMT Server: Apache Location: http://gd.tuwien.ac.at/.admin/missing/server.php?name=GD.TUWIEN.AC.AT Transfer-Encoding: chunked Content-Type: text/html; charset=iso-8859-1 Following that url results in a biiiiig webpage, and the following headers: HTTP/1.1 200 OK Date: Thu, 16 Nov 2006 15:15:59 GMT Server: Apache X-Powered-By: PHP/5.0.4 Transfer-Encoding: chunked Content-Type: text/html So, broken server. So the point is how to make libxml not to hang there and detect a parse error gracefully. Decreasing severity. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 suse-beta@cboltz.de changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |ASSIGNED Info Provider|suse-beta@cboltz.de | ------- Comment #10 from suse-beta@cboltz.de 2006-11-16 09:47 MST ------- (In reply to comment #9)
If zypp gets data that means the server is not actually issuing a 404 header so zypp can give an error, oder? [...] So, broken server. So the point is how to make libxml not to hang there and detect a parse error gracefully.
I'd vote for a check against a DTD or alike. Hint: If you can't implement a complete validation for 10.2, at least check for "<html>", "<head>", "<body>" and "<!DOCTYPE" with a simple "grep -i".
Decreasing severity.
I'd say it's too low now (I would vote for major), but it's your choice. BTW: Do you need any other information from me? I can't find a question above ;-) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 ------- Comment #11 from dmacvicar@novell.com 2006-11-22 10:53 MST ------- We used to check against a dtd, but at some point you have to stick in the middle: - broken metadata is seen all the time (that one goes even further, and the server is broken ) - if it is broken, and you discard it, then zypp is too "strict" - then we are asked to continue parsing even if it is broken - when a bug happens because that, we are asked to validate it. It is a never ending loop. It is clear that zypp should not loop if libxml is given html. And that is the bug. DTDs could work against YUM, but SUSEtags also work for HTML, surely you can make the susetags parser nuts if you give it that html. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 ------- Comment #12 from suse-beta@cboltz.de 2006-11-22 16:33 MST ------- (In reply to comment #11)
It is a never ending loop.
Yes, seems so ;-)
It is clear that zypp should not loop if libxml is given html. And that is the bug.
What about my "grep" proposal from comment #10? It isn't too strict IMHO, but still catches HTML code reliably. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 ------- Comment #14 from dmacvicar@novell.com 2007-05-22 03:11 MST ------- Comment #12 : and what happens then when the server outputs binary stuff or plain text? do we need to grep for dictionary words? Sorry, it is not an acceptable solution. I think the YUM parser has to abort if the html tag is found. The problem is, as it is not valid XML, I dont't know if the parser callbacks those tags / elements. Changing title, as setting as enhancement. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 dmacvicar@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|dmacvicar@novell.com |jkupec@novell.com Severity|Major |Enhancement Status|ASSIGNED |NEW Summary|endless loop in YaST2 |10.3 YUM parser should be able to handle broken |inst_source if source not |HTML instead of XML. |available on broken server | -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 jkupec@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED ------- Comment #15 from jkupec@novell.com 2007-05-22 03:47 MST ------- (In reply to comment #14)
I think the YUM parser has to abort if the html tag is found. The problem is, as it is not valid XML, I dont't know if the parser callbacks those tags / elements. What do you mean by this?
-- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 ------- Comment #16 from dmacvicar@novell.com 2007-05-22 05:10 MST ------- summary of the bug: server missconfigured, returns 200OK but instead of metadata a index.html page is returned and libxml loops there. As broken server will always exists, the YUM parser should be defensive, and avoid html to be feed into the buggy libxml, and abort the parsing as soon it detects html. Something to consideer as a future enhancement. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=218552 User jkupec@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=218552#c17 Ján Kupec <jkupec@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|jkupec@novell.com |zypp-maintainers@forge.provo.novell.com Status|ASSIGNED |NEW --- Comment #17 from Ján Kupec <jkupec@novell.com> 2008-04-16 10:33:19 MST --- Hmm... seems some time has passed :O) How does satsolver-tools' yum parser look from this perspective? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=218552 Duncan Mac-Vicar <dmacvicar@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 - None |P4 - Low -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com