Thread (16 messages) flat view 16 messages, 5 authors, 2016-06-15

gitweb: cloud tags feature produces malformed XML for errors

From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:50:41

(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.

Ideas?
Jonathan

[1] http://bugs.debian.org/616005
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help