Hitachi Vantara Pentaho Community Forums
Results 1 to 14 of 14

Thread: Error: Variable accessed before it is bound!

  1. #1
    Join Date
    Sep 2006
    Posts
    3

    Default Error: Variable accessed before it is bound!

    I have been attempting to install the full BI Platform (pentaho_j2ee_deployments-1.2.0.398-RC2.zip) following the instructions in: Pentaho_Advanced_Install_Guide-1.2.0-RC2.pdf

    I have resolved a number of issues, but seem to be unable to pass this one. I can access the localhost:8080/pentaho/Navigate screen, but am unable to get any hyperlinked sample/example to work.

    We are using JBoss 4.0.3SP1 on Centos4.3 (RH AS3 clone), Sun's j2sdk1.4.2_11 and are using the hsql db that came with the platform. I have deployed the pentaho.ear and have the hsql database using sampledata successfully connected. I had originally attemped to install into one of our JBoss environments, but have since built a clean install using the default ports, etc. I did modify web.xml to direct it to my pentaho-solutions directory which is under <jboss_home>/server/default as is the pentaho-data directory. pentaho.ear is in the /server/default/deploy directory, and we did and the dom4j and jaxen jars to /lib per the instructions and mail.jar to /server/default/lib.

    I have tried to use jdk1.5 (build and runtime), but it produces the same error and have exploded the pentaho.ear and pentaho.war looking for any missing pieces. We did have an issue with 1.4.2 initially, but after adding the i386 version of xorg-x11-deprecated-libs, that issue went away. We have searched the wab for this error and variations of it, nothing even close to useful. Google pointed us to the solution for our missing library, but not this one. At this point I have reread the Advanced Install guide 6 or 7 times, have started from a scratch install 3 times, and have spent hours on the forums, but the only posts I haven't read are very old, so we must be screwing up in a unique way - hehe.

    We considered going back to an older version, but perfer to use JBoss 4.0.3 and the latest version of Pentaho BI. At this point our next step was to debug code, as it appears to be a bug, but considering everyone's success, my guess is we are just missing something (probably something obvious).

    Any help would be greatly appreciated, Thank you in advance.

    The startup of JBoss shows no error and we do see:
    "Pentaho BI Platform server is ready."

    Attached is the full JBoss server.log, with the startup and error.

    After startup, we are able to access localhost:8080/pentaho/Navigate - when we click Steel Wheels (or any other examples link) we get a blank browser. The URL displayed in the blank browser is: http://localhost:8080/pentaho/Naviga...wheels&action=

    Here is a copy of the error in server.log:

    15:25:12,929 ERROR [Logger] Error: Pentaho 1.2.0 build 398 RC2
    15:25:12,929 ERROR [Logger] misc-org.pentaho.core.util.XmlHelper: XmlHelper.ERROR_0005 - transform error: Variable accessed before it is bound!
    ; Line#: 28; Column#: 40
    javax.xml.transform.TransformerException: Variable accessed before it is bound!
    at org.apache.xpath.VariableStack.getLocalVariable(VariableStack.java:337)
    at org.apache.xpath.operations.Variable.execute(Variable.java:213)
    at org.apache.xpath.operations.Variable.execute(Variable.java:185)
    at org.apache.xpath.Expression.executeCharsToContentHandler(Expression.java:311)
    at org.apache.xalan.templates.ElemValueOf.execute(ElemValueOf.java:273)
    at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)
    at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:140)
    at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)
    at org.apache.xalan.transformer.TransformerImpl.transformToRTF(TransformerImpl.java:1917)
    at org.apache.xalan.transformer.TransformerImpl.transformToRTF(TransformerImpl.java:1839)
    at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:311)
    at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:247)
    at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)
    at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:393)
    at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:247)
    at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)
    at org.apache.xalan.templates.ElemIf.execute(ElemIf.java:161)
    at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)
    at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:393)
    at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:247)
    at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)
    at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:682)
    at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)
    at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:682)
    at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)
    at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:682)
    at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)
    at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:682)
    at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)
    at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:682)
    at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
    at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:177)
    at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336)
    at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2202)
    at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1276)
    at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:673)
    at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1192)
    at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1170)
    at org.pentaho.core.util.XmlHelper.transform(XmlHelper.java:143)
    at org.pentaho.core.util.XmlHelper.transformXml(XmlHelper.java:170)
    at org.pentaho.ui.XmlComponent.getContent(XmlComponent.java:46)
    at org.apache.jsp.jsp.Navigate_jsp._jspService(org.apache.jsp.jsp.Navigate_jsp:132)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.pentaho.core.system.SystemStatusFilter.doFilter(SystemStatusFilter.java:53)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    at java.lang.Thread.run(Thread.java:534)
    15:25:12,931 ERROR [Logger] Error end:

    Thanks - Jim

    Post edited by: tierneyja, at: 09/14/2006 16:08

  2. #2
    Join Date
    Jul 2006
    Posts
    29

    Default Re:Error: Variable accessed before it is bound!

    Has anyone seen/resolved this?
    I am getting the identical error trying to upgrade from RC1 to RC2.

    My personal reports work fine, but the samples give this error.

    I still have the smaple data from RC1 - I do not know if that is relavant.

    Thanks.
    Craig

  3. #3
    Join Date
    Nov 1999
    Posts
    579

    Default Re:Error: Variable accessed before it is bound!

    It sounds like a difference in your xalan.jar. Check the xalan.jar we've provided in the PCI against the xalan.jar that's in the version you're running.

    It's only a guess, but that's what it sounds like to me.

    Take care,

    Marc

  4. #4
    Join Date
    Jul 2006
    Posts
    29

    Default Re:Error: Variable accessed before it is bound!

    Good guess, but that's not it.

    I downloaded the PCI and extracted the xalan.jar as a test.
    I am using the one which comes with JBoss 4.04 GA (jboss/lib/endorsed) - 1713697 bytes.

    Pentaho's RC2 has one of 1712931.

    I replaced them (temporarily) and restarted JBoss.

    No difference. I still get .....path=getting-started&action=
    on the getting started folder.

    Variable accessed before it is bound, and it brings me to a blank page with a 'Pentaho BI Coponents Demo' in the upper left.

    CR

  5. #5
    Join Date
    Jul 2006
    Posts
    29

    Default Re:Error: Variable accessed before it is bound!

    The console log has the following, if that is useful:

    The error comes up each time I click on a folder on the pentaho/home page.

    By the way, I am not using the PCI. I downloaded the J2EE and built the ear file by hand and the pentaho-solutions directory is the same as shipped, but I have added a few Jasper and JFree reports.

    CR


    2006-09-17 03:41:49,541 DEBUG [org.quartz.impl.jdbcjobstore.SimpleSemaphore] Lock 'TRIGGER_ACCESS' retuned by: PentahoQuartzScheduler_QuartzSchedulerThread
    2006-09-17 03:41:59,216 DEBUG [org.pentaho.repository.filebased.solution.SolutionRepository] SOLUTION-REPOSITORY: SolutionRepository.DEBUG_FILE_PATH - getFile path=/usr/local/pentaho-solutions
    2006-09-17 03:41:59,216 DEBUG [org.pentaho.repository.filebased.solution.SolutionRepository] SOLUTION-REPOSITORY: getFileList xPath=/repository/file[@type='FILE.FOLDER'][@name='samples']/file[@type='FILE.FOLDER'][@name='bursting'][@visible='true']
    2006-09-17 03:41:59,301 ERROR [STDERR] SystemId Unknown; Line #28; Column #40; Variable accessed before it is bound!2006-09-17 03:41:59,302 DEBUG [org.pentaho.repository.filebased.solution.SolutionRepository] SOLUTION-REPOSITORY: SolutionRepository.DEBUG_FILE_PATH - getFile path=/usr/local/pentaho-solutions
    2006-09-17 03:41:59,711 DEBUG [org.quartz.impl.jdbcjobstore.JobStoreTX] MisfireHandler: sc

  6. #6
    Join Date
    Nov 1999
    Posts
    579

    Default Re:Error: Variable accessed before it is bound!

    Please attach your server log as a file attachment so we can have a look at it.

    Also, what OS and version are you using?

    We'll have a look through the server log and see what's going wrong.

    Take care,

    Marc

  7. #7
    Join Date
    Jul 2006
    Posts
    29

    Default Re:Error: Variable accessed before it is bound!

    I keep getting an Error 500 error on your server when I upload a file.

    If it is OK, I'll e-mail it to communityconnection@pentaho.org.
    It is a clean log file (restarted JBoss and accessed pentaho/Navigate).

    The OS is RH 3 ES on a VPS.

    Please note that if I replace the pentaho.ear and pentaho-solutions directory with that of RC1, it works fine.

    The end of the log file has the errors. The directories are populated as they are in your zip file.

    I am using JBoss 4.04 GA with JBoss Portal Server 2.4 GA.

    Thanks.
    Craig

  8. #8
    Join Date
    Nov 1999
    Posts
    579

    Default Re:Error: Variable accessed before it is bound!

    We just went through some maintenance, but I figure I should test the upload. Ignore the uploaded file please!

    http://forums.pentaho.org/archived_a...2474f7516280f.

  9. #9
    Join Date
    Jul 2006
    Posts
    29

    Default Re:Error: Variable accessed before it is bound!

    http://forums.pentaho.org/archived_a.../serverlog.zip
    OK. Here is a zipped log file.
    I'd really like to understand why I can not run the sample reports, but can run mine.

    Thanks.
    CR

  10. #10

    Default Re:Error: Variable accessed before it is bound!

    FYI, I'm having the exact same problem with JBoss 4.0.4.GA, JDK 1.5, and Pentaho 1.2.0 RC2.

    My server log contains the following:
    2006-10-02 09:46:41,812 WARN org.hibernate.impl.SessionFactoryObjectFactory] InitialContext did not implement EventContext
    2006-10-02 09:50:15,019 ERROR [STDERR] SystemId Unknown; Line #28; Column #40; Variable accessed before it is bound!
    2006-10-02 09:52:19,284 ERROR [STDERR] SystemId Unknown; Line #28; Column #40; Variable accessed before it is bound!
    2006-10-02 09:52:35,094 ERROR [STDERR] SystemId Unknown; Line #28; Column #40; Variable accessed before it is bound!

  11. #11
    Join Date
    Jan 2006
    Posts
    460

    Default Re:Error: Variable accessed before it is bound!

    Ok everyone I've been handed the baton on this one, it's been around to a bunch of us by now. After severe frustration late last night I finally made a breakthrough this morning and I hope to provide a reasonable explanation.

    It appears that when deploying a WAR that JBoss will end up using saxon (which we include in the WAR) but when using an EAR JBoss uses xalan. Since xalan was in the stack traces I was receiving I decided to upgrade the latest version of xalan. The end result was that I no longer received a stack trace but still received the same error (Variable accessed before it is bound!).

    I searched the web and found some forum posts of very few people having the same issue but their problem went away when they switched to saxon. At first I was going to attempt to figure out how and why JBoss was using xalan and switch it. Before I went down that path I decided to "pretend" the error was for real and see if there might be something I could do about it (possible workaround).

    I found the offending line in the offending file: files-util.xsl

    <xsltherwise>
    <xsl:value-of select="$solution"/>
    </xsltherwise>

    and removed the $solution variable reference since it would in fact be attempting to reference before it is bound..

    <xsltherwise>
    <xsl:value-of select="solution"/>
    </xsltherwise>

    So for anyone who wants to get past this problem simply remove the offending $ in the files-util.xsl which lives in pentaho-solutions/system/custom/xsl.

    Please let us know if this helps.
    -Mike

    Post edited by: mdamour, at: 2006/10/04 11:03

  12. #12
    Join Date
    Jul 2006
    Posts
    29

    Default Re:Error: Variable accessed before it is bound!

    GREAT JOB!!!!

    I'm glad I gave up.... I never would have nailed that one.

    I haven't tried the samples and demos yet, but at least now I can get to them.

    Thanks!
    Craig

  13. #13
    Join Date
    Jan 2006
    Posts
    460

    Default Re:Error: Variable accessed before it is bound!

    Craig-

    Thanks, it was a heck of a lot of work for the amount of change required. Removed 1 character, shortest code-review ever!

    I just wanted to confirm that this meant you were actually able to browse the solutions with the change?

    Thanks.
    -Mike

  14. #14
    Join Date
    Jul 2006
    Posts
    29

    Default Re:Error: Variable accessed before it is bound!

    Sorry I was unclear.

    Yes, everything worked great once the one character was removed.

    CR

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.