Prevent 'not found' stacktrace from always appearing in the log

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Prevent 'not found' stacktrace from always appearing in the log

Toon Wouters
Hi,

We integrate Orbeon forms in our application server and we noticed that the following lines and stacktrace are logged when requesting a forms url for which there is no Orbeon app available:

 Jan 19, 2016 12:15:31 PM UTC [pool-1-thread-24] [INFO] /VAIO/ - Received request
 Jan 19, 2016 12:15:31 PM UTC [pool-1-thread-24] [INFO] not found {controller: "oxf:/page-flow.xml", method: "GET", path: "/VAIO/", resource: "/apps/VAIO/page-flow.xml"}
 Jan 19, 2016 12:15:31 PM UTC [pool-1-thread-24] [SEVERE] error caught {controller: "oxf:/page-flow.xml", method: "GET", path: "/VAIO/"}
 Jan 19, 2016 12:15:31 PM UTC [pool-1-thread-24] [SEVERE] 
 +----------------------------------------------------------------------------------------------------------------------+
 |An Error has Occurred                                                                                                 |
 |----------------------------------------------------------------------------------------------------------------------|
 |org.orbeon.oxf.common.ValidationException: line 94, column 59 of oxf:/config/epilogue-servlet.xpl (reading processor o|
 |utput: element='<p:output name="data" id="theme"/>', name='data', id='theme'): null                                   |
 |----------------------------------------------------------------------------------------------------------------------|
 |Application Call Stack                                                                                                |
 |----------------------------------------------------------------------------------------------------------------------|
 |oxf:/config/epilogue-servlet.xpl                                                  |reading processor output      |  94|
 |······················································································································|
 |element=<p:output name="data" id="theme"/>                                                                            |
 |name   =data                                                                                                          |
 |id     =theme                                                                                                         |
 |----------------------------------------------------------------------------------------------------------------------|
 |oxf:/config/epilogue-servlet.xpl                                                  |reading processor output      | 218|
 |······················································································································|
 |element=<p:output name="data" id="converted"/>                                                                        |
 |name   =data                                                                                                          |
 |id     =converted                                                                                                     |
 |----------------------------------------------------------------------------------------------------------------------|
 |oxf:/config/epilogue-servlet.xpl                                                  |reading processor output      | 211|
 |······················································································································|
 |element=<p:output name="data" id="xhtml-data"/>                                                                       |
 |name   =data                                                                                                          |
 |id     =xhtml-data                                                                                                    |
 |----------------------------------------------------------------------------------------------------------------------|
 |oxf:/config/epilogue-servlet.xpl                                                  |reading processor output      | 119|
 |······················································································································|
 |element=<p:output name="data" id="rewritten-data"/>                                                                   |
 |name   =data                                                                                                          |
 |id     =rewritten-data                                                                                                |
 |----------------------------------------------------------------------------------------------------------------------|
 |oxf:/config/epilogue-servlet.xpl                                                  |reading processor output      | 101|
 |······················································································································|
 |element=<p:output name="data" id="themed-data"/>                                                                      |
 |name   =data                                                                                                          |
 |id     =themed-data                                                                                                   |
 |----------------------------------------------------------------------------------------------------------------------|
 |oxf:/page-flow.xml                                                                |executing processor           |  49|
 |······················································································································|
 |name={http://www.orbeon.com/oxf/processors}pipeline                                                                   |
 |----------------------------------------------------------------------------------------------------------------------|
 |oxf:/config/epilogue.xpl                                                          |executing processor           |  60|
 |······················································································································|
 |element=<p:processor name="oxf:pipeline">[...]</p:processor>                                                          |
 |name   ={http://www.orbeon.com/oxf/processors}pipeline                                                                |
 |----------------------------------------------------------------------------------------------------------------------|
 |oxf:/config/epilogue-servlet.xpl                                                  |executing processor           | 225|
 |······················································································································|
 |element=<p:processor name="oxf:http-serializer">[...]</p:processor>                                                   |
 |name   ={http://www.orbeon.com/oxf/processors}http-serializer                                                         |
 |----------------------------------------------------------------------------------------------------------------------|
 |----------------------------------------------------------------------------------------------------------------------|
 |Exception: java.lang.IllegalArgumentException                                                                         |
 |----------------------------------------------------------------------------------------------------------------------|
 |orbeon.oxf.resources.URLFactory$$anonfun$protocol$2|apply                         |URLFactory.scala              |  47|
 |orbeon.oxf.resources.URLFactory$$anonfun$protocol$2|apply                         |URLFactory.scala              |  47|
 |scala.Option                                       |getOrElse                     |Option.scala                  | 120|
 |org.orbeon.oxf.resources.URLFactory$               |protocol                      |URLFactory.scala              |  47|
 |org.orbeon.oxf.resources.URLFactory$               |createURL                     |URLFactory.scala              |  37|
 |org.orbeon.oxf.resources.URLFactory$               |createURL                     |URLFactory.scala              |  32|
 |org.orbeon.oxf.resources.URLFactory                |createURL                     |URLFactory.scala              |    |
 |org.orbeon.oxf.processor.generator.URLGenerator$1$1|read                          |URLGenerator.java             | 317|
 |org.orbeon.oxf.processor.generator.URLGenerator$1$1|read                          |URLGenerator.java             | 305|
 |org.orbeon.oxf.processor.ProcessorImpl             |readCacheInputAsObject        |ProcessorImpl.java            | 363|
 |org.orbeon.oxf.processor.generator.URLGenerator$1  |readImpl                      |URLGenerator.java             | 304|
 |essor.impl.ProcessorOutputImpl$TopLevelOutputFilter|read                          |ProcessorOutputImpl.java      | 258|
 |org.orbeon.oxf.processor.impl.ProcessorOutputImpl  |read                          |ProcessorOutputImpl.java      | 404|
 |----------------------------------------------------------------------------------------------------------------------|
 |Exception: org.orbeon.oxf.common.ValidationException                                                                  |
 |----------------------------------------------------------------------------------------------------------------------|
 |org.orbeon.oxf.common.OrbeonLocationException$     |wrapException                 |OrbeonLocationException.scala |  60|
 |org.orbeon.oxf.common.OrbeonLocationException      |wrapException                 |OrbeonLocationException.scala |    |
 |org.orbeon.oxf.processor.impl.ProcessorOutputImpl  |read                          |ProcessorOutputImpl.java      | 407|
 |org.orbeon.oxf.xml.ProcessorOutputXMLReader        |parse                         |ProcessorOutputXMLReader.java |  34|
 |org.orbeon.oxf.xml.XMLReaderToReceiver             |parse                         |XMLReaderToReceiver.java      |  62|
 |org.orbeon.saxon.event.Sender                      |sendSAXSource                 |Sender.java                   | 404|
 |org.orbeon.saxon.event.Sender                      |send                          |Sender.java                   | 193|
 |org.orbeon.saxon.event.Sender                      |send                          |Sender.java                   |  50|
 |org.orbeon.saxon.PreparedStylesheet                |loadStylesheetModule          |PreparedStylesheet.java       | 234|
 |org.orbeon.saxon.PreparedStylesheet                |prepare                       |PreparedStylesheet.java       | 162|
 |org.orbeon.saxon.TransformerFactoryImpl            |newTemplates                  |TransformerFactoryImpl.java   | 139|
 |org.orbeon.oxf.xml.TransformerUtils                |getTemplates                  |TransformerUtils.java         | 219|
 |on.oxf.processor.transformer.xslt.XSLTTransformer$1|createTransformer             |XSLTTransformer.java          | 655|
 |----------------------------------------------------------------------------------------------------------------------|
 |Exception: org.orbeon.oxf.common.OXFException                                                                         |
 |----------------------------------------------------------------------------------------------------------------------|
 |on.oxf.processor.transformer.xslt.XSLTTransformer$1|createTransformer             |XSLTTransformer.java          | 725|
 |on.oxf.processor.transformer.xslt.XSLTTransformer$1|readImpl                      |XSLTTransformer.java          | 168|
 |essor.impl.ProcessorOutputImpl$TopLevelOutputFilter|read                          |ProcessorOutputImpl.java      | 258|
 |org.orbeon.oxf.processor.impl.ProcessorOutputImpl  |read                          |ProcessorOutputImpl.java      | 404|
 |----------------------------------------------------------------------------------------------------------------------|
 |Exception: org.orbeon.oxf.common.ValidationException                                                                  |
 |----------------------------------------------------------------------------------------------------------------------|
 |org.orbeon.oxf.common.OrbeonLocationException$     |wrapException                 |OrbeonLocationException.scala |  60|
 |org.orbeon.oxf.common.OrbeonLocationException      |wrapException                 |OrbeonLocationException.scala |    |
 |org.orbeon.oxf.processor.impl.ProcessorOutputImpl  |read                          |ProcessorOutputImpl.java      | 407|
 |org.orbeon.oxf.processor.ProcessorImpl             |readInputAsSAX                |ProcessorImpl.java            | 262|
 |org.orbeon.oxf.processor.ProcessorImpl             |readInputAsSAX                |ProcessorImpl.java            | 266|
 |org.orbeon.oxf.processor.IdentityProcessor$1       |readImpl                      |IdentityProcessor.java        |  33|
 |essor.impl.ProcessorOutputImpl$TopLevelOutputFilter|read                          |ProcessorOutputImpl.java      | 258|
 |org.orbeon.oxf.processor.impl.ProcessorOutputImpl  |read                          |ProcessorOutputImpl.java      | 404|
 |org.orbeon.oxf.processor.ProcessorImpl             |readInputAsSAX                |ProcessorImpl.java            | 262|
 |orbeon.oxf.processor.pipeline.PipelineProcessor$1$1|run                           |PipelineProcessor.java        |  93|
 |org.orbeon.oxf.processor.pipeline.PipelineProcessor|executeChildren               |PipelineProcessor.java        | 680|
 |org.orbeon.oxf.processor.pipeline.PipelineProcessor|access$000                    |PipelineProcessor.java        |  60|
 |g.orbeon.oxf.processor.pipeline.PipelineProcessor$1|readImpl                      |PipelineProcessor.java        |  91|
 |essor.impl.ProcessorOutputImpl$TopLevelOutputFilter|read                          |ProcessorOutputImpl.java      | 258|
 |org.orbeon.oxf.processor.impl.ProcessorOutputImpl  |read                          |ProcessorOutputImpl.java      | 404|
 |processor.pipeline.choose.ConcreteChooseProcessor$1|readImpl                      |ConcreteChooseProcessor.java  | 125|
 |essor.impl.ProcessorOutputImpl$TopLevelOutputFilter|read                          |ProcessorOutputImpl.java      | 258|
 |org.orbeon.oxf.processor.impl.ProcessorOutputImpl  |read                          |ProcessorOutputImpl.java      | 404|
 |org.orbeon.oxf.processor.ProcessorImpl             |readInputAsSAX                |ProcessorImpl.java            | 262|
 |ssor.pipeline.PipelineProcessor$InternalTopOutput$1|run                           |PipelineProcessor.java        | 536|
 |---8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<---|
 |.orbeon.oxf.processor.converter.TextConverterBase$1|readImpl                      |TextConverterBase.java        |  90|
 |essor.impl.ProcessorOutputImpl$TopLevelOutputFilter|read                          |ProcessorOutputImpl.java      | 258|
 |org.orbeon.oxf.processor.impl.ProcessorOutputImpl  |read                          |ProcessorOutputImpl.java      | 404|
 |org.orbeon.oxf.processor.ProcessorImpl             |readInputAsSAX                |ProcessorImpl.java            | 262|
 |org.orbeon.oxf.processor.ProcessorImpl             |readInputAsSAX                |ProcessorImpl.java            | 266|
 |org.orbeon.oxf.processor.IdentityProcessor$1       |readImpl                      |IdentityProcessor.java        |  33|
 |essor.impl.ProcessorOutputImpl$TopLevelOutputFilter|read                          |ProcessorOutputImpl.java      | 258|
 |org.orbeon.oxf.processor.impl.ProcessorOutputImpl  |read                          |ProcessorOutputImpl.java      | 404|
 |org.orbeon.oxf.processor.ProcessorImpl             |readInputAsSAX                |ProcessorImpl.java            | 262|
 |orbeon.oxf.processor.pipeline.PipelineProcessor$1$1|run                           |PipelineProcessor.java        |  93|
 |org.orbeon.oxf.processor.pipeline.PipelineProcessor|executeChildren               |PipelineProcessor.java        | 680|
 |org.orbeon.oxf.processor.pipeline.PipelineProcessor|access$000                    |PipelineProcessor.java        |  60|
 |g.orbeon.oxf.processor.pipeline.PipelineProcessor$1|readImpl                      |PipelineProcessor.java        |  91|
 |essor.impl.ProcessorOutputImpl$TopLevelOutputFilter|read                          |ProcessorOutputImpl.java      | 258|
 |org.orbeon.oxf.processor.impl.ProcessorOutputImpl  |read                          |ProcessorOutputImpl.java      | 404|
 |processor.pipeline.choose.ConcreteChooseProcessor$1|readImpl                      |ConcreteChooseProcessor.java  | 125|
 |essor.impl.ProcessorOutputImpl$TopLevelOutputFilter|read                          |ProcessorOutputImpl.java      | 258|
 |org.orbeon.oxf.processor.impl.ProcessorOutputImpl  |read                          |ProcessorOutputImpl.java      | 404|
 |org.orbeon.oxf.processor.ProcessorImpl             |readInputAsSAX                |ProcessorImpl.java            | 262|
 |org.orbeon.oxf.processor.serializer.HttpSerializer |readInput                     |HttpSerializer.java           |  42|
 |----------------------------------------------------------------------------------------------------------------------|
 |Exception: org.orbeon.oxf.common.OXFException                                                                         |
 |----------------------------------------------------------------------------------------------------------------------|
 |org.orbeon.oxf.processor.serializer.HttpSerializer |readInput                     |HttpSerializer.java           |  47|
 |rbeon.oxf.processor.serializer.HttpSerializerBase$1|read                          |HttpSerializerBase.java       | 150|
 |rbeon.oxf.processor.serializer.HttpSerializerBase$1|read                          |HttpSerializerBase.java       | 138|
 |org.orbeon.oxf.processor.ProcessorImpl             |readCacheInputAsObject        |ProcessorImpl.java            | 363|
 |.orbeon.oxf.processor.serializer.HttpSerializerBase|start                         |HttpSerializerBase.java       | 138|
 |----------------------------------------------------------------------------------------------------------------------|
 |Exception: org.orbeon.oxf.common.OXFException                                                                         |
 |----------------------------------------------------------------------------------------------------------------------|
 |.orbeon.oxf.processor.serializer.HttpSerializerBase|start                         |HttpSerializerBase.java       | 214|
 |g.orbeon.oxf.processor.pipeline.PipelineProcessor$4|run                           |PipelineProcessor.java        | 618|
 |----------------------------------------------------------------------------------------------------------------------|
 |Exception: org.orbeon.oxf.common.ValidationException                                                                  |
 |----------------------------------------------------------------------------------------------------------------------|
 |org.orbeon.oxf.common.OrbeonLocationException$     |wrapException                 |OrbeonLocationException.scala |  60|
 |org.orbeon.oxf.common.OrbeonLocationException      |wrapException                 |OrbeonLocationException.scala |    |
 |g.orbeon.oxf.processor.pipeline.PipelineProcessor$4|run                           |PipelineProcessor.java        | 620|
 |org.orbeon.oxf.processor.pipeline.PipelineProcessor|executeChildren               |PipelineProcessor.java        | 680|
 |org.orbeon.oxf.processor.pipeline.PipelineProcessor|start                         |PipelineProcessor.java        | 615|
 |f.processor.pipeline.choose.ConcreteChooseProcessor|start                         |ConcreteChooseProcessor.java  | 230|
 |g.orbeon.oxf.processor.pipeline.PipelineProcessor$4|run                           |PipelineProcessor.java        | 618|
 |org.orbeon.oxf.processor.pipeline.PipelineProcessor|executeChildren               |PipelineProcessor.java        | 680|
 |org.orbeon.oxf.processor.pipeline.PipelineProcessor|start                         |PipelineProcessor.java        | 615|
 |g.orbeon.oxf.processor.pipeline.PipelineProcessor$4|run                           |PipelineProcessor.java        | 618|
 |org.orbeon.oxf.processor.pipeline.PipelineProcessor|executeChildren               |PipelineProcessor.java        | 680|
 |org.orbeon.oxf.processor.pipeline.PipelineProcessor|start                         |PipelineProcessor.java        | 615|
 |f.processor.pipeline.choose.ConcreteChooseProcessor|start                         |ConcreteChooseProcessor.java  | 230|
 |g.orbeon.oxf.processor.pipeline.PipelineProcessor$4|run                           |PipelineProcessor.java        | 618|
 |org.orbeon.oxf.processor.pipeline.PipelineProcessor|executeChildren               |PipelineProcessor.java        | 680|
 |org.orbeon.oxf.processor.pipeline.PipelineProcessor|start                         |PipelineProcessor.java        | 615|
 |g.orbeon.oxf.processor.pipeline.PipelineProcessor$4|run                           |PipelineProcessor.java        | 618|
 |org.orbeon.oxf.processor.pipeline.PipelineProcessor|executeChildren               |PipelineProcessor.java        | 680|
 |org.orbeon.oxf.processor.pipeline.PipelineProcessor|start                         |PipelineProcessor.java        | 615|
 |f.processor.pipeline.choose.ConcreteChooseProcessor|start                         |ConcreteChooseProcessor.java  | 230|
 |---8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<---|
 |org.eclipse.jetty.server.session.SessionHandler    |doScope                       |SessionHandler.java           | 193|
 |org.eclipse.jetty.server.handler.ContextHandler    |doScope                       |ContextHandler.java           |1009|
 |org.eclipse.jetty.server.handler.ScopedHandler     |handle                        |ScopedHandler.java            | 135|
 |lipse.jetty.server.handler.ContextHandlerCollection|handle                        |ContextHandlerCollection.java | 255|
 |org.eclipse.jetty.security.SecurityHandler         |handle                        |SecurityHandler.java          | 557|
 |id.security.auth.util.IDSecurityHandler            |handle                        |SourceFile                    |  68|
 |org.eclipse.jetty.server.handler.HandlerCollection |handle                        |HandlerCollection.java        | 154|
 |org.eclipse.jetty.server.handler.HandlerWrapper    |handle                        |HandlerWrapper.java           | 116|
 |org.eclipse.jetty.server.Server                    |handle                        |Server.java                   | 368|
 |org.eclipse.jetty.server.AbstractHttpConnection    |handleRequest                 |AbstractHttpConnection.java   | 489|
 |org.eclipse.jetty.server.AbstractHttpConnection    |headerComplete                |AbstractHttpConnection.java   | 942|
 |.jetty.server.AbstractHttpConnection$RequestHandler|headerComplete                |AbstractHttpConnection.java   |1004|
 |org.eclipse.jetty.http.HttpParser                  |parseNext                     |HttpParser.java               | 640|
 |org.eclipse.jetty.http.HttpParser                  |parseAvailable                |HttpParser.java               | 235|
 |org.eclipse.jetty.server.AsyncHttpConnection       |handle                        |AsyncHttpConnection.java      |  82|
 |org.eclipse.jetty.io.nio.SelectChannelEndPoint     |handle                        |SelectChannelEndPoint.java    | 628|
 |org.eclipse.jetty.io.nio.SelectChannelEndPoint$1   |run                           |SelectChannelEndPoint.java    |  52|
 |java.util.concurrent.ThreadPoolExecutor            |runWorker                     |ThreadPoolExecutor.java       |1142|
 |java.util.concurrent.ThreadPoolExecutor$Worker     |run                           |ThreadPoolExecutor.java       | 617|
 |java.lang.Thread                                   |run                           |Thread.java                   | 745|
 +----------------------------------------------------------------------------------------------------------------------+ {}

Since our application is publicly accessible this often results in very large log volumes since bots and other automated link crawlers often attempt to access url's that don't have an actual app behind them.
I found that this is being generated in org.orbeon.oxf.controller.PageFlowControllerProcessor.scala#86 and that we can prevent this from being logged if we change that line to log at debug level instead of error, and then configure Orbeon to log at the info level.

My question is whether this seems like the right solution, or are there other configuration properties which have an impact on this, and whether it might make sense to include this change in the main Orbeon branch or if there is a better solution?

Toon Wouters

--
You received this message because you are subscribed to the Google Groups "Orbeon Forms" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Reply | Threaded
Open this post in threaded view
|

Re: Prevent 'not found' stacktrace from always appearing in the log

Alessandro  Vernet
Administrator
Hi Toon,

Good point. I think that in this case, it makes sense to just log a message, instead of an exception. I've added the following RFE for this:

https://github.com/orbeon/orbeon-forms/issues/2538

Alex
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet
Reply | Threaded
Open this post in threaded view
|

Re: Prevent 'not found' stacktrace from always appearing in the log

Erik Bruchez
Administrator
I thought that this is what we were already doing.

What version of Orbeon Forms are you using?

-Erik
Reply | Threaded
Open this post in threaded view
|

Re: Prevent 'not found' stacktrace from always appearing in the log

Toon Wouters
Hello Erik,

Our Orbeon Forms version is 4.4.1.201602050945 PE.

When looking at the master branch or 4.10 you can see that the stacktrace is still being logged at the error level:
https://github.com/orbeon/orbeon-forms/blob/master/src/main/scala/org/orbeon/oxf/controller/PageFlowControllerProcessor.scala

Toon

On Monday, February 8, 2016 at 6:41:32 PM UTC+1, ebruchez wrote:
I thought that this is what we were already doing.

What version of Orbeon Forms are you using?

-Erik

--
View this message in context: <a href="http://discuss.orbeon.com/Prevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661012.html" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\75http%3A%2F%2Fdiscuss.orbeon.com%2FPrevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661012.html\46sa\75D\46sntz\0751\46usg\75AFQjCNGA8RVh5YmntFG2eSptUAI7LA9aJw&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\75http%3A%2F%2Fdiscuss.orbeon.com%2FPrevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661012.html\46sa\75D\46sntz\0751\46usg\75AFQjCNGA8RVh5YmntFG2eSptUAI7LA9aJw&#39;;return true;">http://discuss.orbeon.com/Prevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661012.html
Sent from the Orbeon Forms community mailing list mailing list archive at Nabble.com.

--
You received this message because you are subscribed to the Google Groups "Orbeon Forms" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Reply | Threaded
Open this post in threaded view
|

Re: Prevent 'not found' stacktrace from always appearing in the log

Erik Bruchez
Administrator
I missed that it was an `IllegalArgumentException`.

I am thinking that this error shouldn't be raised in the first place. It seems to happen in the epilogue around here:

    https://github.com/orbeon/orbeon-forms/blob/master/src/resources-packaged/config/epilogue-servlet.xpl#L92

This seems to indicate that the `oxf:url-generator` config contains an empty URL. That's the configuration which points to the URL of the theme.

The URL should not be empty, even if the theme is not found.

Maybe we can narrow it down from here. Maybe update epilogue-servlet.xpl by replacing:

    <p:output name="data" id="theme-config"/>

with:

    <p:output name="data" id="theme-config" debug="theme-config"/>

and see what the config looks like.

-Erik
Reply | Threaded
Open this post in threaded view
|

Re: Prevent 'not found' stacktrace from always appearing in the log

Toon Wouters
Erik,

You're right. I was already wondering why it didn't simply return a 404. I replaced the line in epilogue-servlet.xpl and it turns out that it was pointing to a theme that wasn't available in most cases. If the theme is available, a 404 is returned as it should for url's that don't have a corresponding app. I guess we just need to make sure that the theme is always accessible.

I suppose logging the stacktrace at the debug level is not really necessary then, as this should only occur when something is really wrong.

Thanks for your help.

Toon

On Tuesday, February 9, 2016 at 6:31:43 AM UTC+1, ebruchez wrote:
I missed that it was an `IllegalArgumentException`.

I am thinking that this error shouldn't be raised in the first place. It
seems to happen in the epilogue around here:

   
<a href="https://github.com/orbeon/orbeon-forms/blob/master/src/resources-packaged/config/epilogue-servlet.xpl#L92" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\75https%3A%2F%2Fgithub.com%2Forbeon%2Forbeon-forms%2Fblob%2Fmaster%2Fsrc%2Fresources-packaged%2Fconfig%2Fepilogue-servlet.xpl%23L92\46sa\75D\46sntz\0751\46usg\75AFQjCNGPDox_yrFQgVIiRJ6um7CsoXMlwQ&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\75https%3A%2F%2Fgithub.com%2Forbeon%2Forbeon-forms%2Fblob%2Fmaster%2Fsrc%2Fresources-packaged%2Fconfig%2Fepilogue-servlet.xpl%23L92\46sa\75D\46sntz\0751\46usg\75AFQjCNGPDox_yrFQgVIiRJ6um7CsoXMlwQ&#39;;return true;">https://github.com/orbeon/orbeon-forms/blob/master/src/resources-packaged/config/epilogue-servlet.xpl#L92

This seems to indicate that the `oxf:url-generator` config contains an empty
URL. That's the configuration which points to the URL of the theme.

The URL should not be empty, even if the theme is not found.

Maybe we can narrow it down from here. Maybe update epilogue-servlet.xpl by
replacing:

    <p:output name="data" id="theme-config"/>

with:

    <p:output name="data" id="theme-config" debug="theme-config"/>

and see what the config looks like.

-Erik

--
View this message in context: <a href="http://discuss.orbeon.com/Prevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661015.html" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\75http%3A%2F%2Fdiscuss.orbeon.com%2FPrevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661015.html\46sa\75D\46sntz\0751\46usg\75AFQjCNFywE2V093vdFXjoqk40oLrmlMpHA&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\75http%3A%2F%2Fdiscuss.orbeon.com%2FPrevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661015.html\46sa\75D\46sntz\0751\46usg\75AFQjCNFywE2V093vdFXjoqk40oLrmlMpHA&#39;;return true;">http://discuss.orbeon.com/Prevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661015.html
Sent from the Orbeon Forms community mailing list mailing list archive at Nabble.com.

--
You received this message because you are subscribed to the Google Groups "Orbeon Forms" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Reply | Threaded
Open this post in threaded view
|

Re: Prevent 'not found' stacktrace from always appearing in the log

Toon Wouters
In reply to this post by Erik Bruchez
Actually I think I spoke too soon. I will get back to you after I know more. The theme config does seem to contain a path to a theme.xsl.

Toon

On Tuesday, February 9, 2016 at 6:31:43 AM UTC+1, ebruchez wrote:
I missed that it was an `IllegalArgumentException`.

I am thinking that this error shouldn't be raised in the first place. It
seems to happen in the epilogue around here:

   
<a href="https://github.com/orbeon/orbeon-forms/blob/master/src/resources-packaged/config/epilogue-servlet.xpl#L92" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\75https%3A%2F%2Fgithub.com%2Forbeon%2Forbeon-forms%2Fblob%2Fmaster%2Fsrc%2Fresources-packaged%2Fconfig%2Fepilogue-servlet.xpl%23L92\46sa\75D\46sntz\0751\46usg\75AFQjCNGPDox_yrFQgVIiRJ6um7CsoXMlwQ&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\75https%3A%2F%2Fgithub.com%2Forbeon%2Forbeon-forms%2Fblob%2Fmaster%2Fsrc%2Fresources-packaged%2Fconfig%2Fepilogue-servlet.xpl%23L92\46sa\75D\46sntz\0751\46usg\75AFQjCNGPDox_yrFQgVIiRJ6um7CsoXMlwQ&#39;;return true;">https://github.com/orbeon/orbeon-forms/blob/master/src/resources-packaged/config/epilogue-servlet.xpl#L92

This seems to indicate that the `oxf:url-generator` config contains an empty
URL. That's the configuration which points to the URL of the theme.

The URL should not be empty, even if the theme is not found.

Maybe we can narrow it down from here. Maybe update epilogue-servlet.xpl by
replacing:

    <p:output name="data" id="theme-config"/>

with:

    <p:output name="data" id="theme-config" debug="theme-config"/>

and see what the config looks like.

-Erik

--
View this message in context: <a href="http://discuss.orbeon.com/Prevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661015.html" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\75http%3A%2F%2Fdiscuss.orbeon.com%2FPrevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661015.html\46sa\75D\46sntz\0751\46usg\75AFQjCNFywE2V093vdFXjoqk40oLrmlMpHA&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\75http%3A%2F%2Fdiscuss.orbeon.com%2FPrevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661015.html\46sa\75D\46sntz\0751\46usg\75AFQjCNFywE2V093vdFXjoqk40oLrmlMpHA&#39;;return true;">http://discuss.orbeon.com/Prevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661015.html
Sent from the Orbeon Forms community mailing list mailing list archive at Nabble.com.

--
You received this message because you are subscribed to the Google Groups "Orbeon Forms" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Reply | Threaded
Open this post in threaded view
|

Re: Prevent 'not found' stacktrace from always appearing in the log

Toon Wouters
In reply to this post by Erik Bruchez
Erik, Alex,

False alarm, turns out we just forgot to prepend our epilogue theme config with oxf: so that it couldn't be loaded.
Thank you for your help.

Toon

On Tuesday, February 9, 2016 at 6:31:43 AM UTC+1, ebruchez wrote:
I missed that it was an `IllegalArgumentException`.

I am thinking that this error shouldn't be raised in the first place. It
seems to happen in the epilogue around here:

   
<a href="https://github.com/orbeon/orbeon-forms/blob/master/src/resources-packaged/config/epilogue-servlet.xpl#L92" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\75https%3A%2F%2Fgithub.com%2Forbeon%2Forbeon-forms%2Fblob%2Fmaster%2Fsrc%2Fresources-packaged%2Fconfig%2Fepilogue-servlet.xpl%23L92\46sa\75D\46sntz\0751\46usg\75AFQjCNGPDox_yrFQgVIiRJ6um7CsoXMlwQ&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\75https%3A%2F%2Fgithub.com%2Forbeon%2Forbeon-forms%2Fblob%2Fmaster%2Fsrc%2Fresources-packaged%2Fconfig%2Fepilogue-servlet.xpl%23L92\46sa\75D\46sntz\0751\46usg\75AFQjCNGPDox_yrFQgVIiRJ6um7CsoXMlwQ&#39;;return true;">https://github.com/orbeon/orbeon-forms/blob/master/src/resources-packaged/config/epilogue-servlet.xpl#L92

This seems to indicate that the `oxf:url-generator` config contains an empty
URL. That's the configuration which points to the URL of the theme.

The URL should not be empty, even if the theme is not found.

Maybe we can narrow it down from here. Maybe update epilogue-servlet.xpl by
replacing:

    <p:output name="data" id="theme-config"/>

with:

    <p:output name="data" id="theme-config" debug="theme-config"/>

and see what the config looks like.

-Erik

--
View this message in context: <a href="http://discuss.orbeon.com/Prevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661015.html" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\75http%3A%2F%2Fdiscuss.orbeon.com%2FPrevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661015.html\46sa\75D\46sntz\0751\46usg\75AFQjCNFywE2V093vdFXjoqk40oLrmlMpHA&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\75http%3A%2F%2Fdiscuss.orbeon.com%2FPrevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661015.html\46sa\75D\46sntz\0751\46usg\75AFQjCNFywE2V093vdFXjoqk40oLrmlMpHA&#39;;return true;">http://discuss.orbeon.com/Prevent-not-found-stacktrace-from-always-appearing-in-the-log-tp4661010p4661015.html
Sent from the Orbeon Forms community mailing list mailing list archive at Nabble.com.

--
You received this message because you are subscribed to the Google Groups "Orbeon Forms" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Reply | Threaded
Open this post in threaded view
|

Re: Prevent 'not found' stacktrace from always appearing in the log

Erik Bruchez
Administrator
Good to see this is resolved! -Erik