gitweb: cloud tags feature produces malformed XML for errors
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Mar 1, 2011, 22:21 UTC
- Message-ID
- <20110301222141.GB7918@elie>
- In-Reply-To
- <20110301190229.11297.17767.reportbug@cassiopeia.kleinek>
(resending, censored for vger; sorry for the noise) Hi Jakub et al,
Uwe Kleine-König wrote [1]:
Show 12 quoted lines
> 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 ErrorSo I suspect there are two bugs here.
Ideas? Jonathan
[1] http://bugs.debian.org/616005