[imps] validator front end not talking to servlet

Rancid Iodine rancid.iodine at gmail.com
Thu Apr 18 10:13:23 PDT 2013


Hi everybody. I wanted to ask ... does anyone have a decent "recipe" or
experience of successfully running the legacy w3c validator (v1.1, 1.2, or
1.3 - it doesn't matter which) on the front end, with a validator.nu on the
back end, on port 8888 in order to get the "external and experimental"
HTML5 conformance checking?

We have both of the above (legacy and validator.nu on port 8888) running on
the same machine, of course with the necessary changes made to
/etc/w3c/validator.conf, but for some reason can't get them to talk to each
other because of a persistent "504 gateway timeout".

Michael once said to me to get rid of the legacy w3c validator altogether
(considering the validator.nu does a better job validating any version of
HTML), but we're in a corporate "situation" here wherein I'm told they will
not accept any validator unless it has a "w3c" stamped on it's forehead ...
which validator.nu does not have.

This puts me in a difficult position - as I have built our very own
validator.nu (thanks for all the help btw!), but cannot get it to work with
the legacy front end as I've said.

Is there any obvious solution that springs to anyone's mind? If not, does
anyone have any stories to tell regarding an appropriate distro, networking
issue or install context they came across?

The server at http://validator.w3.org seems to have everything we need - I
can only assume that's running validator.nu on the back end as well. Does
anyone know what that's running, or any details about how it's set up?

Thanks for your comments,

Andrei


On 17 April 2012 17:57, Rancid Iodine <rancid.iodine at gmail.com> wrote:

> Hi Mike,
>
> Following your advice to build the service using "python build/build.py
> --local run", I was pleased to find this does indeed initialise a service
> on the default port 8888.
>
> It's possible to telnet to this service on that port (or indeed whatever
> other port xxx I make the servlet run on using "python build/build
> --port=xxx --local run "), but the markup validator "front end" seems to
> have a problem talking to the servlet.
>
> The problem is seen to be a "504 gateway timeout" according to the markup
> validator, and shown thus:
>
> External Checker not available
>
> Checking the Document Type of this document requires the help of an
> external tool which was either not enabled in this validator, or is
> currently unavailable. Check in the validator's system configuration that
> HTML5 Validator is enabled and functional.
>
> The error encountered was: 504 Gateway Time-out
>
> The actual servlet process looks like this:
> [root at vp-w3c-validator12 config]# ps -ef | grep 4244
> root      4244  4235  1 17:15 pts/1    00:00:09 java
> -XX:-DontCompileHugeMethods -Xms131072k -Xmx131072k
> -XX:ThreadStackSize=2048 -classpath
> ./dependencies/commons-codec-1.4/commons-codec-1.4.jar:./dependencies/commons-httpclient-3.1/commons-httpclient-3.1.jar:./dependencies/commons-logging-1.1.1/commons-logging-1.1.1.jar:./dependencies/commons-logging-1.1.1/commons-logging-adapters-1.1.1.jar:./dependencies/commons-logging-1.1.1/commons-logging-api-1.1.1.jar:./dependencies/icu4j-charsets-4_4_2.jar:./dependencies/icu4j-4_4_2.jar:./dependencies/iri-0.5/lib/iri.jar:./dependencies/jetty-6.1.26/lib/servlet-api-2.5-20081211.jar:./dependencies/jetty-6.1.26/lib/jetty-6.1.26.jar:./dependencies/jetty-6.1.26/lib/jetty-util-6.1.26.jar:./dependencies/jetty-6.1.26/lib/ext/jetty-ajp-6.1.26.jar:./dependencies/apache-log4j-1.2.15/log4j-1.2.15.jar:./dependencies/rhino1_7R1/js.jar:./dependencies/xerces-2_9_1/xercesImpl.jar:./dependencies/xerces-2_9_1/xml-apis.jar:./dependencies/slf4j-1.5.2/slf4j-log4j12-1.5.2.jar:./dependencies/commons-fileupload-1.2.1/lib/commons-fileupload-1.2.1.jar:./dependencies/isorelax.jar:./dependencies/mozilla/intl/chardet/java/dist/lib/chardet.jar:./dependencies/saxon9.jar:./jars/non-schema.jar:./jars/io-xml-util.jar:./jars/htmlparser.jar:./jars/hs-aelfred2.jar:./jars/html5-datatypes.jar:./jars/validator.jar:jing-trang/build/jing.jar
> -Dnu.validator.servlet.log4j-properties=validator/log4j.properties
> -Dnu.validator.servlet.version=3
> -Dnu.validator.servlet.service-name=Validator.nu
> -Dorg.whattf.datatype.lang-registry=file:local-entities/
> www.iana.org/assignments/language-subtag-registry-Dorg.whattf.datatype.charset-registry=file:local-entities/
> www.iana.org/assignments/character-sets -Dorg.whattf.datatype.warn=true
> -Dnu.validator.servlet.about-page=http://about.validator.nu/-Dnu.validator.servlet.style-sheet=style.css
> -Dnu.validator.servlet.icon=icon.png
> -Dnu.validator.servlet.script=script.js
> -Dnu.validator.spec.microsyntax-descriptions=file:local-entities/
> wiki.whatwg.org/wiki/MicrosyntaxDescriptions-Dnu.validator.spec.alt-advice=file:local-entities/
> wiki.whatwg.org/wiki/Validator.nu_alt_advice-Dnu.validator.spec.html5-load=file:validator/spec/html5.html
> -Dnu.validator.spec.html5-link=
> http://www.whatwg.org/specs/web-apps/current-work/-Dnu.validator.servlet.max-file-size=7340032
> -Dnu.validator.servlet.connection-timeout=5000
> -Dnu.validator.servlet.socket-timeout=5000
> -Dnu.validator.servlet.use-local-copies=1
> -Dnu.validator.servlet.w3cbranding=0
> -Dorg.mortbay.http.HttpRequest.maxFormContentSize=7340032
> -Dnu.validator.servlet.host.generic= -Dnu.validator.servlet.host.html5=
> -Dnu.validator.servlet.host.parsetree=
> -Dnu.validator.servlet.path.generic=/
> -Dnu.validator.servlet.path.html5=/html5/
> -Dnu.validator.servlet.path.parsetree=/parsetree/
> -Dnu.validator.servlet.path.about=./validator/site/
> nu.validator.servlet.Main 8888
>
> The relevant entries in the validator.conf are:
>
> <External>
> HTML5 = http://localhost:8888/html5/
> CompoundXML = http://localhost:8888/
> </External>
>
> I'm not quite sure what's going wrong here. Does anyone have any
> experience of this?
>
> Thanks for your comments,
>
> Andrei
>
> On 29 March 2012 17:17, Michael[tm] Smith <mike at w3.org> wrote:
>
>> Please try "python build/build.py --local run"
>>
>>  --Mike
>>
>> Rancid Iodine <rancid.iodine at gmail.com>, 2012-03-29 17:11 +0100:
>>
>> > I ran
>> >
>> > python build/build.py --local all
>> >
>> > but still end up getting the timeouts after "BUILD SUCCESSFUL".
>> >
>> > The 1st time is here:
>> >
>> > "java" -classpath
>> >
>> ./dependencies/commons-codec-1.4/commons-codec-1.4.jar:./dependencies/commons-httpclient-3.1/commons-httpclient-3.1.jar:./dependencies/commons-logging-1.1.1/commons-logging-1.1.1.jar:./dependencies/commons-logging-1.1.1/commons-logging-adapters-1.1.1.jar:./dependencies/commons-logging-1.1.1/commons-logging-api-1.1.1.jar:./dependencies/icu4j-charsets-4_4_2.jar:./dependencies/icu4j-4_4_2.jar:./dependencies/iri-0.5/lib/iri.jar:./dependencies/jetty-6.1.26/lib/servlet-api-2.5-20081211.jar:./dependencies/jetty-6.1.26/lib/jetty-6.1.26.jar:./dependencies/jetty-6.1.26/lib/jetty-util-6.1.26.jar:./dependencies/jetty-6.1.26/lib/ext/jetty-ajp-6.1.26.jar:./dependencies/apache-log4j-1.2.15/log4j-1.2.15.jar:./dependencies/rhino1_7R1/js.jar:./dependencies/xerces-2_9_1/xercesImpl.jar:./dependencies/xerces-2_9_1/xml-apis.jar:./dependencies/slf4j-1.5.2/slf4j-log4j12-1.5.2.jar:./dependencies/commons-fileupload-1.2.1/lib/commons-fileupload-1.2.1.jar:./dependencies/isorelax.jar:./dependencies/mozilla/intl/chardet/java/dist/lib/chardet.jar:./dependencies/saxon9.jar:./dependencies/jsontools-core-1.5.jar:./dependencies/antlr.jar:./dependencies/xom-1.1.jar:./dependencies/junit-4.4.jar:./dependencies/apache-ant-1.7.0/lib/ant.jar:./dependencies/apache-ant-1.7.0/lib/ant-launcher.jar:./jars/non-schema.jar:./jars/io-xml-util.jar:./jars/htmlparser.jar:./jars/hs-aelfred2.jar:./jars/html5-datatypes.jar:./jars/test-harness.jar:jing-trang/build/jing.jar
>> > org.whattf.syntax.Driver
>> > Exception in thread "main" java.lang.ExceptionInInitializerError
>> >         at
>> >
>> org.whattf.datatype.Html5DatatypeLibrary.createDatatype(Html5DatatypeLibrary.java:134)
>> >         at
>> >
>> org.whattf.datatype.Html5DatatypeLibrary.createDatatypeBuilder(Html5DatatypeLibrary.java:52)
>> >         at
>> >
>> com.thaiopensource.relaxng.impl.SchemaBuilderImpl.makeDataPatternBuilder(Unknown
>> > Source)
>> >         at
>> > com.thaiopensource.relaxng.parse.compact.CompactSyntax.DataExpr(Unknown
>> > Source)
>> >         at
>> >
>> com.thaiopensource.relaxng.parse.compact.CompactSyntax.PrimaryExpr(Unknown
>> > Source)
>> >         at
>> >
>> com.thaiopensource.relaxng.parse.compact.CompactSyntax.AnnotatedPrimaryExpr(Unknown
>> > Source)
>> >         at
>> > com.thaiopensource.relaxng.parse.compact.CompactSyntax.UnaryExpr(Unknown
>> > Source)
>> >         at
>> > com.thaiopensource.relaxng.parse.compact.CompactSyntax.Expr(Unknown
>> Source)
>> >         at
>> > com.thaiopensource.relaxng.parse.compact.CompactSyntax.Define(Unknown
>> > Source)
>> >         at
>> >
>> com.thaiopensource.relaxng.parse.compact.CompactSyntax.Definition(Unknown
>> > Source)
>> >         at
>> >
>> com.thaiopensource.relaxng.parse.compact.CompactSyntax.GrammarComponent(Unknown
>> > Source)
>> >         at
>> >
>> com.thaiopensource.relaxng.parse.compact.CompactSyntax.GrammarBody(Unknown
>> > Source)
>> >         at
>> >
>> com.thaiopensource.relaxng.parse.compact.CompactSyntax.IncludedGrammar(Unknown
>> > Source)
>> >         at
>> >
>> com.thaiopensource.relaxng.parse.compact.CompactSyntax.parseInclude(Unknown
>> > Source)
>> >         at
>> >
>> com.thaiopensource.relaxng.parse.compact.CompactParseable.parseAsInclude(Unknown
>> > Source)
>> >         at
>> >
>> com.thaiopensource.relaxng.impl.SchemaBuilderImpl$IncludeImpl.endInclude(Unknown
>> > Source)
>> >         at
>> > com.thaiopensource.relaxng.parse.compact.CompactSyntax.Include(Unknown
>> > Source)
>> >         at
>> >
>> com.thaiopensource.relaxng.parse.compact.CompactSyntax.GrammarComponent(Unknown
>> > Source)
>> >         at
>> >
>> com.thaiopensource.relaxng.parse.compact.CompactSyntax.GrammarBody(Unknown
>> > Source)
>> >         at
>> >
>> com.thaiopensource.relaxng.parse.compact.CompactSyntax.TopLevelGrammar(Unknown
>> > Source)
>> >         at
>> > com.thaiopensource.relaxng.parse.compact.CompactSyntax.Input(Unknown
>> Source)
>> >         at
>> > com.thaiopensource.relaxng.parse.compact.CompactSyntax.parse(Unknown
>> Source)
>> >         at
>> > com.thaiopensource.relaxng.parse.compact.CompactParseable.parse(Unknown
>> > Source)
>> >         at
>> com.thaiopensource.relaxng.impl.SchemaBuilderImpl.parse(Unknown
>> > Source)
>> >         at
>> > com.thaiopensource.relaxng.impl.SchemaReaderImpl.createSchema(Unknown
>> > Source)
>> >         at
>> > com.thaiopensource.validate.AbstractSchemaReader.createSchema(Unknown
>> > Source)
>> >         at org.whattf.syntax.Driver.schemaByFilename(Driver.java:122)
>> >         at org.whattf.syntax.Driver.checkDirectory(Driver.java:202)
>> >         at org.whattf.syntax.Driver.check(Driver.java:264)
>> >         at org.whattf.syntax.Driver.main(Driver.java:296)
>> > Caused by: java.lang.RuntimeException: java.net.ConnectException:
>> > Connection timed out
>> >         at org.whattf.datatype.Charset.<clinit>(Charset.java:50)
>> >         ... 30 more
>> >
>> >
>> > On 29 March 2012 16:51, Michael[tm] Smith <mike at w3.org> wrote:
>> >
>> > > Rancid Iodine <rancid.iodine at gmail.com>, 2012-03-29 16:44 +0100:
>> > >
>> > > > Even so, the java (post- "BUILD SUCCESSFUL") compilation part of the
>> > > build
>> > > > procedure would still have the problem getting through our
>> firewall/proxy
>> > > > which I mentioned before, would it not?
>> > >
>> > > You should not have that problem if you run the build script with the
>> > > "--local" option.
>> > >
>> > >  --Mike
>> > >
>>
>> --
>> Michael[tm] Smith http://people.w3.org/mike/+
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/implementors-whatwg.org/attachments/20130418/56ff9055/attachment-0001.htm>


More information about the Implementors mailing list