On 03/01/2011 02:21 PM, Jonathan Nieder wrote: > (resending, censored for vger; sorry for the noise) > Hi Jakub et al, > > Uwe Kleine-KÃnig wrote [1]: > >> I experiment with $feature{'ctags'}. After installing >> libhtml-tagcloud-perl (0.34-1) and adding >> >> $feature{'ctags'}{'default'} = [1]; >> >> to gitweb.conf and doing >> >> mkdir ctags >> echo Linux > ctags/Linux >> >> in the only repository served by gitweb makes iceweasel barf on the >> output (see attachment). > > With chromium I get: > > This page contains the following errors: > > error on line 26 at column 6: XML declaration allowed only at the start of the document > Below is a rendering of the page up to the first error. > > First, we hit > > if ($show_ctags) { > my %ctags; > foreach my $p (@projects) { > foreach my $ct (keys %{$p->{'ctags'}}) { > $ctags{$ct} += $p->{'ctags'}->{$ct}; > > which produces a warning warning in error.log: > > index.cgi: Argument "Linux" isn't numeric in addition (+) at /usr/share/gitweb/index.cgi line 4819. > > in error.log. Then we hit git_show_project_tagcloud, which dies in > "$cloud->html_and_css($count);" with > > HTML::TagCloud.. > index.cgi: Can't take log of 0 at /usr/share/perl5/HTML/TagCloud.pm line 67. > > For some reason, the result is an _embedded_ error page: > > <form method="get" action="/gitweb/" enctype="application/x-www-form-urlencoded"> > <p class="projsearch">Search: > <input type="text" name="s" /> > </p> > </form> > Content-type: {a content type which shall not be named} > > <?xml version="1.0" encoding="utf-8"?> > [...] > 500 - Internal Server Error > > So I suspect there are two bugs here. > As a general note the cloud tags code that's there has a whole slew of problems, including a pretty trivial way to crash gitweb entirely if the tags file is malformed in any way to what it's expecting. I've said it before, I'd rather see that code reverted or completely overhauled, and as far as I know repo.or.cz is the only place even using the code at all. I also think I reported this particular error a couple of years ago (with the file being malformed and causing all kinds of problems). The fact that the tags don't follow the repository when it's cloned more or less makes this entire feature a giant PITA, couple that with no good documentation on how to create the tag files (I think the file itself needs to have filename of tag, and *ONLY* contain 1 for it's contains for it to work) Linux: 1 EOF - John 'Warthog9' Hawley -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html