XML Parsing Error: junk after document element

5 messages, 2 authors, 2016-06-15 · open the first message on its own page

XML Parsing Error: junk after document element

From: Siju George <hidden>
Date: 2016-06-15 22:48:13

Hi,

I get this error when I take gitweb in a browser.

XML Parsing Error: junk after document element
Location: http://172.16.3.27/cgi-bin/gitweb.cgi
Line Number 28, Column 8:</html><!DOCTYPE HTML PUBLIC "-//IETF//DTD
HTML 2.0//EN">
-------^

How can I solve it?

Thanks

--Siju

Re: XML Parsing Error: junk after document element

From: Jakub Narebski <hidden>
Date: 2016-06-15 22:48:13

Siju George [off-list ref] writes:
Hi,

I get this error when I take gitweb in a browser.

XML Parsing Error: junk after document element
Location: http://172.16.3.27/cgi-bin/gitweb.cgi
Line Number 28, Column 8:</html><!DOCTYPE HTML PUBLIC "-//IETF//DTD
HTML 2.0//EN">
-------^

How can I solve it?
Which version of gitweb?[1]  Which version of git?[2]  What web server?
Which version of CGI.pm is used by web server?[3]

The included fragment after closing '</html>' tag doesn't look like
something coming from gitweb, as gitweb uses XHTML 1.0 DTD since it's
first version.

Try to view source, or use different web browser that doesn't do
strict XML validation to find the source of this error.

If everything else fals, you can always edit gitweb.cgi to comment out
content-type negotiation, to always serve as text/html mimetype -
which should torn off XML validation, as below:

	my $content_type;
	# require explicit support from the UA if we are to send the page as
	# 'application/xhtml+xml', otherwise send it as plain old 'text/html'.
	# we have to do this because MSIE sometimes globs '*/*', pretending to
	# support xhtml+xml but choking when it gets what it asked for.
	# Disable content-type negotiation when caching (use mimetype good for all).
	#if (defined $cgi->http('HTTP_ACCEPT') &&
	#    $cgi->http('HTTP_ACCEPT') =~ m/(,|;|\s|^)application\/xhtml\+xml(,|;|\s|$)/ &&
	#    $cgi->Accept('application/xhtml+xml') != 0) {
	#	$content_type = 'application/xhtml+xml';
	#} else {
		$content_type = 'text/html';
	#}


The commands below are _examples_ only:
[1] grep -F 'our $version' /var/www/cgi-bin/gitweb.cgi
[2] git --version
[3] perl -MCGI -le 'print $CGI::VERSION'
-- 
Jakub Narebski
Poland
ShadeHawk on #git

Re: XML Parsing Error: junk after document element

From: Siju George <hidden>
Date: 2016-06-15 22:48:13

Thanks a lot Jakub for the response :-)

On Thu, Feb 11, 2010 at 4:31 PM, Jakub Narebski [off-list ref] wrote:
Which version of gitweb?[1]
 gitweb-1.6.0.6  - all packages are from pkgsrc on DragonFly BSD
v2.5.1.672.gf81ef-DEVELOPMENT #17: Tue Feb
Which version of git?[2]
scmgit-1.6.6.1
What web server?
 apache-2.2.14nb1
Which version of CGI.pm is used by web server?[3]
$CGI::revision = '$Id: CGI.pm,v 1.263 2009/02/11 16:56:37 lstein Exp $';
$CGI::VERSION='3.43';



Try to view source, or use different web browser that doesn't do
strict XML validation to find the source of this error.
I was using firefox 3.6-2.
Trying with Konqueror Version 4.3.4 (KDE 4.3.4) Using KDE 4.3.4 (KDE
4.3.4) I dont get the error but it does not list my projectts. I get
this message on the page.

=================================================

projects /


 404 - No projects found

OPMLTXT
OK
The requested URL /cgi-bin/gitweb.cgi was not found on this server.

======================================================

this page is shown when I take the URL

http://172.16.3.27/cgi-bin/gitweb.cgi

but I have the projectroot configure in gitweb.conf and there is a git
project in that location.

# cat /usr/pkg/etc/gitweb.conf | grep projectroot
our $projectroot = "/Backup1/Data/git-repositories";
# ls -l /Backup1/Data/git-repositories
total 0
drwxr-xr-x  1 root  wheel  0 Feb 11 10:40 systems-configuration
# ls -l /Backup1/Data/git-repositories/systems-configuration/.git/
total 0
-rwxr-x---  1 root  wheel  393 Feb 11 11:03 COMMIT_EDITMSG
-rwxr-x---  1 root  wheel   23 Feb 11 10:40 HEAD
-rwxr-x---  1 root  wheel   92 Feb 11 10:40 config
-rwxr-x---  1 root  wheel   73 Feb 11 10:40 description
drwxr-x---  1 root  wheel    0 Feb 11 10:40 hooks
-rwxr-x---  1 root  wheel  120 Feb 11 11:29 index
drwxr-x---  1 root  wheel    0 Feb 11 10:40 info
drwxr-x---  1 root  wheel    0 Feb 11 10:58 logs
drwxr-x---  1 root  wheel    0 Feb 11 11:03 objects
drwxr-x---  1 root  wheel    0 Feb 11 10:40 refs
#

If everything else fals, you can always edit gitweb.cgi to comment out
content-type negotiation, to always serve as text/html mimetype -
which should torn off XML validation, as below:

       my $content_type;
       # require explicit support from the UA if we are to send the page as
       # 'application/xhtml+xml', otherwise send it as plain old 'text/html'.
       # we have to do this because MSIE sometimes globs '*/*', pretending to
       # support xhtml+xml but choking when it gets what it asked for.
       # Disable content-type negotiation when caching (use mimetype good for all).
       #if (defined $cgi->http('HTTP_ACCEPT') &&
       #    $cgi->http('HTTP_ACCEPT') =~ m/(,|;|\s|^)application\/xhtml\+xml(,|;|\s|$)/ &&
       #    $cgi->Accept('application/xhtml+xml') != 0) {
       #       $content_type = 'application/xhtml+xml';
       #} else {
               $content_type = 'text/html';
       #}
yes I tried it and the first error disappears from firefor and now I
get the same error from konqueror in firefox too

What could be the trouble?

Thanks

--Siju

Re: XML Parsing Error: junk after document element

From: Jakub Narebski <hidden>
Date: 2016-06-15 22:48:13

On Fri, Feb 12, 2010, Siju George wrote:
On Thu, Feb 11, 2010 at 4:31 PM, Jakub Narebski [off-list ref] wrote:
quoted
Which version of gitweb?[1]
gitweb-1.6.0.6  - all packages are from pkgsrc on DragonFly BSD
v2.5.1.672.gf81ef-DEVELOPMENT #17: Tue Feb
quoted
Which version of git?[2]
scmgit-1.6.6.1
I don't think that difference in version numbers would be the problem.

Is this a version of git that gitweb (or to be more accurate web server)
sees?  Take a look at HTML source of page returned by gitweb, and at
the top there would be 'git core binaries version' in comment, and
'git/<version>' in the meta generator tag (this can be seen also in
"View Page Info" view, not only in "View Page Source").
 
quoted
What web server?
 
 apache-2.2.14nb1
quoted
Which version of CGI.pm is used by web server?[3]
$CGI::revision = '$Id: CGI.pm,v 1.263 2009/02/11 16:56:37 lstein Exp $';
$CGI::VERSION='3.43';
This should not be a problem then.
quoted
Try to view source, or use different web browser that doesn't do
strict XML validation to find the source of this error.
I was using firefox 3.6-2.
Trying with Konqueror Version 4.3.4 (KDE 4.3.4) Using KDE 4.3.4 (KDE
4.3.4) I dont get the error but it does not list my projectts. I get
this message on the page.

=================================================

projects /


 404 - No projects found

OPMLTXT
OK
The requested URL /cgi-bin/gitweb.cgi was not found on this server.
You have two problems here.  First is that gitweb doesn't find your
projects because of problem with filesystem permissions.

Second is what it looks misconfigured web server.  The second part,
starting after [OPML][TXT] is not from gitweb, but from a web server.
It looks like you have either two web servers, or two parts of web
server configuration, or some worker of web server that didn't get
updated configuration, and it doesn't have permissions to access
gitweb.cgi or doesn't have configuration to know what to do with
the above URL.

What might help is, if you can, to restart your web server, something
like

  # apachectl restart           # as root

(I don't know what the proper command would be on DragonFlyBSD).
======================================================

this page is shown when I take the URL

http://172.16.3.27/cgi-bin/gitweb.cgi

but I have the projectroot configure in gitweb.conf and there is a git
project in that location.

# cat /usr/pkg/etc/gitweb.conf | grep projectroot
our $projectroot = "/Backup1/Data/git-repositories";
# ls -l /Backup1/Data/git-repositories
total 0
drwxr-xr-x  1 root  wheel  0 Feb 11 10:40 systems-configuration
# ls -l /Backup1/Data/git-repositories/systems-configuration/.git/
total 0
-rwxr-x---  1 root  wheel  393 Feb 11 11:03 COMMIT_EDITMSG
-rwxr-x---  1 root  wheel   23 Feb 11 10:40 HEAD
-rwxr-x---  1 root  wheel   92 Feb 11 10:40 config
-rwxr-x---  1 root  wheel   73 Feb 11 10:40 description
drwxr-x---  1 root  wheel    0 Feb 11 10:40 hooks
-rwxr-x---  1 root  wheel  120 Feb 11 11:29 index
drwxr-x---  1 root  wheel    0 Feb 11 10:40 info
drwxr-x---  1 root  wheel    0 Feb 11 10:58 logs
drwxr-x---  1 root  wheel    0 Feb 11 11:03 objects
drwxr-x---  1 root  wheel    0 Feb 11 10:40 refs
Apache web server usually runs as apache:apache (user apache, group
apache); it most certainly *not* run as root, or is in wheel
(root-like) group.  So as you can see web server, and gitweb which
runs with the same uid and guid, doesn't have permissions to read
(access) your repositories.

You need to fix permissions, perhaps (as it seems to be your private
machine and private gitweb) by setting group to some common group
between you and web server and giving sticky group bit, or making
git repository world-readable: take a look at "shared repository"
thing: see description of core.sharedRepository config variable
(so that git wouldn't take world-readable permissions back).

BTW. what are you doing working as root?
What could be the trouble?
Filesystem permissions on git repository, and some strange error in
web server configuration.  Unfortunately I haven't got a clue what
to do about the latter.

-- 
Jakub Narebski
Poland

Re: XML Parsing Error: junk after document element

From: Siju George <hidden>
Date: 2016-06-15 22:48:17

On Fri, Feb 12, 2010 at 4:18 PM, Jakub Narebski [off-list ref] wrote:
You have two problems here.  First is that gitweb doesn't find your
projects because of problem with filesystem permissions.

Second is what it looks misconfigured web server.  The second part,
starting after [OPML][TXT] is not from gitweb, but from a web server.
It looks like you have either two web servers, or two parts of web
server configuration, or some worker of web server that didn't get
updated configuration, and it doesn't have permissions to access
gitweb.cgi or doesn't have configuration to know what to do with
the above URL.
Hi once i changed the permissions of the git repositories every thing
is looking fine :-)

Thanks

--Siju
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help