Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

Junit Publishing Expression Error #1135

cindya ·
Te following error occurs randomly (although with more frequency lately). We upgraded to 3.0 this week and this is the first time we got this error. All of the committers are in QB as users. If we just restart the build at this step, it works fine.

Error Messages
master>PublishJunit Executing rule 'Type: EXPRESSION, Column: committers' failed.

12:25:51,495 [master>PublishJunit@RI150WS737:8810] ERROR - Step 'PublishJunit' is failed.
com.pmease.quickbuild.plugin.report.engine.exception.ReportGenerateException: Executing rule 'Type: EXPRESSION, Column: committers' failed.
at com.pmease.quickbuild.plugin.report.engine.generator.AbstractProcessor.executeRule(AbstractProcessor.java:139)
at com.pmease.quickbuild.plugin.report.engine.generator.diff.DiffProcessor.processResource(DiffProcessor.java:79)
at com.pmease.quickbuild.plugin.report.engine.generator.AbstractProcessor.doExecute(AbstractProcessor.java:77)
at com.pmease.quickbuild.plugin.report.engine.generator.GenerateAction.execute(GenerateAction.java:37)
at com.pmease.quickbuild.plugin.report.engine.generator.AbstractGenerator.doExecute(AbstractGenerator.java:38)
at com.pmease.quickbuild.plugin.report.engine.generator.GenerateAction.execute(GenerateAction.java:37)
at com.pmease.quickbuild.plugin.report.engine.generator.DefaultGenerator.generate(DefaultGenerator.java:36)
at com.pmease.quickbuild.plugin.report.engine.contribution.publisher.AbstractPublisher.run(AbstractPublisher.java:134)
at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$192447c1.CGLIB$run$20(<generated>)
at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$192447c1$$FastClassByCGLIB$$2af7333d.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:271)
at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$192447c1.run(<generated>)
at com.pmease.quickbuild.stepsupport.Step.execute(Step.java:449)
at com.pmease.quickbuild.stepsupport.StepJob.execute(StepJob.java:34)
at com.pmease.quickbuild.grid.GridJob.run(GridJob.java:120)
at java.lang.Thread.run(Unknown Source)
Caused by: com.pmease.quickbuild.QuickbuildException: Failed to evaluate below expression:
mvel:utils.findCommittersByClassName(build, current.packageName, current.className)
at com.pmease.quickbuild.util.ExceptionUtils.wrapException(ExceptionUtils.java:90)
at com.pmease.quickbuild.DefaultScriptEngine.evaluate(DefaultScriptEngine.java:91)
at com.pmease.quickbuild.plugin.report.engine.generator.expression.ExpressionRule.doExecute(ExpressionRule.java:43)
at com.pmease.quickbuild.plugin.report.engine.generator.GenerateAction.execute(GenerateAction.java:37)
at com.pmease.quickbuild.plugin.report.engine.generator.AbstractProcessor.executeRule(AbstractProcessor.java:131)
  • replies 8
  • views 3373
  • stars 0
robinshen ADMIN ·
Please post here the full stack trace in the build log regarding this error. Or you may send full build log to [steve AT pmease DOT com]
Thanks
cindya ·
Here is the entire stack trace.

Step Log (master>PublishJunit)
11:23:21,883 [master>PublishJunit@RI150WS737:8810] ERROR - Step 'PublishJunit' is failed.
com.pmease.quickbuild.plugin.report.engine.exception.ReportGenerateException: Executing rule 'Type: EXPRESSION, Column: committers' failed.
at com.pmease.quickbuild.plugin.report.engine.generator.AbstractProcessor.executeRule(AbstractProcessor.java:139)
at com.pmease.quickbuild.plugin.report.engine.generator.diff.DiffProcessor.processResource(DiffProcessor.java:79)
at com.pmease.quickbuild.plugin.report.engine.generator.AbstractProcessor.doExecute(AbstractProcessor.java:77)
at com.pmease.quickbuild.plugin.report.engine.generator.GenerateAction.execute(GenerateAction.java:37)
at com.pmease.quickbuild.plugin.report.engine.generator.AbstractGenerator.doExecute(AbstractGenerator.java:38)
at com.pmease.quickbuild.plugin.report.engine.generator.GenerateAction.execute(GenerateAction.java:37)
at com.pmease.quickbuild.plugin.report.engine.generator.DefaultGenerator.generate(DefaultGenerator.java:36)
at com.pmease.quickbuild.plugin.report.engine.contribution.publisher.AbstractPublisher.run(AbstractPublisher.java:134)
at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$ff875092.CGLIB$run$20(<generated>)
at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$ff875092$$FastClassByCGLIB$$3759715.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:271)
at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$ff875092.run(<generated>)
at com.pmease.quickbuild.stepsupport.Step.execute(Step.java:449)
at com.pmease.quickbuild.stepsupport.StepJob.execute(StepJob.java:34)
at com.pmease.quickbuild.grid.GridJob.run(GridJob.java:120)
at java.lang.Thread.run(Unknown Source)
Caused by: com.pmease.quickbuild.QuickbuildException: Failed to evaluate below expression:
mvel:utils.findCommittersByClassName(build, current.packageName, current.className)
at com.pmease.quickbuild.util.ExceptionUtils.wrapException(ExceptionUtils.java:90)
at com.pmease.quickbuild.DefaultScriptEngine.evaluate(DefaultScriptEngine.java:91)
at com.pmease.quickbuild.plugin.report.engine.generator.expression.ExpressionRule.doExecute(ExpressionRule.java:43)
at com.pmease.quickbuild.plugin.report.engine.generator.GenerateAction.execute(GenerateAction.java:37)
at com.pmease.quickbuild.plugin.report.engine.generator.AbstractProcessor.executeRule(AbstractProcessor.java:131)
... 16 more
Caused by: [Error: utils.findCommittersByClassName(build, current.packageName, current.className): null]
[Near : {... Unknown ....}]
^
[Line: 1, Column: 0]
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:372)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:137)
at org.mvel2.optimizers.dynamic.DynamicOptimizer.optimizeAccessor(DynamicOptimizer.java:63)
at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:137)
at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:41)
at org.mvel2.MVEL.executeExpression(MVEL.java:1053)
at com.pmease.quickbuild.plugin.basis.BasisPlugin$11.evaluate(BasisPlugin.java:142)
at com.pmease.quickbuild.DefaultScriptEngine.evaluate(DefaultScriptEngine.java:85)
... 19 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:957)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:314)
... 26 more
Caused by: java.lang.NullPointerException
at com.pmease.quickbuild.model.Build.getCommitters(Build.java:673)
at com.pmease.quickbuild.plugin.report.engine.util.ReportUtils.getCommitters(ReportUtils.java:621)
at com.pmease.quickbuild.plugin.report.engine.util.ReportUtils.findCommittersByClassName(ReportUtils.java:641)
... 32 more
steveluo ADMIN ·
Please also tell me what kind of version control system (Subversion, CVS? ...) are you using.
cindya ·
We are using CVS 2.5.03.
robinshen ADMIN ·
Please upgrade to 3.0.8 to see if the issue still exists.
cindya ·
When I upgraded to 3.0.5 I had to add the ntlmauth.dll from jtds to the PATH variable. I downloaded the dll from the jtds site. Everything was fine after that but now that I am trying to upgrade to 3.0.8 when I run migrate.bat I'm getting the same error message I got before adding the dll to the PATH. The file is in the java.library.path.

Exception in thread "main" java.lang.RuntimeException: java.sql.SQLException: I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.li
brary.path system property.
at com.pmease.quickbuild.bootstrap.BootstrapUtils.wrapAsUnchecked(BootstrapUtils.java:50)
at com.pmease.quickbuild.util.ExceptionUtils.wrapAsUnchecked(ExceptionUtils.java:83)
at com.pmease.quickbuild.util.DbUtils.getConnection(DbUtils.java:77)
at com.pmease.quickbuild.util.DbUtils.getDataVersion(DbUtils.java:86)
at com.pmease.quickbuild.Quickbuild.getVersion(Quickbuild.java:604)
at com.pmease.quickbuild.bootstrap.Migrate$3.execute(Migrate.java:190)
at com.pmease.quickbuild.Quickbuild.startServer(Quickbuild.java:264)
at com.pmease.quickbuild.Quickbuild.access$3(Quickbuild.java:248)
at com.pmease.quickbuild.Quickbuild$2.run(Quickbuild.java:161)
at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLException: I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property.
at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:614)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:344)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:182)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.pmease.quickbuild.util.DbUtils.getConnection(DbUtils.java:72)
... 7 more
Caused by: java.io.IOException: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property.
at net.sourceforge.jtds.jdbc.TdsCore.sendMSLoginPkt(TdsCore.java:1889)
at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:587)
... 13 more
Press any key to continue . . .
robinshen ADMIN ·
QuickBuild migration first loads classes from 3.0.5 to export data, then loads classes in 3.0.8 to import data. So two Java class loaders are trying to load the JTDS driver which in turn loads ntlmauth.dll.
It seems that once this dll is loaded for the first time (visible to 3.0.5), it will not load for second time (so not visible for second time).
To work around the problem, there are two approaches:
1. Switch to use SQL server user/pass authentication instead of using Windows SSO.
2. Create a new SQL server database for 3.0.8, and populate it with the backup data from 3.0.5. Refer to here for details: http://wiki.pmease.com/display/qb30/Data+Management. Please note that you may need to copy over settings in "3.0.5/conf" and "3.0.5/resources" if you've modified them.
cindya ·
Thanks, I just updated the database and am all set.