taskdef java.lang.VerifyError:TEAM CITY执行构建时操作数堆栈上的错误类型

时间:2013-11-27 23:41:22

标签: java scala ant teamcity

我有一个build.xml,用于编译和测试一些scala代码。从命令行运行ant任务会产生所需的结果,但是当TeamCity运行它时,会发生各种奇怪的现象,包括:

  

检查更改[15:35:02]发布内部工件   [15:35:02]清除临时目录:   / opt / TeamCity / buildAgent / temp / buildTmp [15:35:02]结帐目录:   / opt / TeamCity / buildAgent / work / d80416000445458a [15:35:02]正在更新   来源:服务器端结账[15:35:03]第1/1步:单元测试(Ant)   (3s)[15:35:03] [第1/1步]开始:   / usr / lib中/ JVM / JAVA -7- ORACLE / JRE / bin中/ JAVA   -Dagent.home.dir = / opt / TeamCity / buildAgent -Dagent.name =默认代理-Dagent.ownPort = 9090 -Dagent.work.dir = / opt / TeamCity / buildAgent / work -Dant.home = / usr / share /蚂蚁-Dbuild.number = 18 -Dbuild.vcs.number = 640c1de055a395d24227ae9edb45df085bed6b14 -Dbuild.vcs.number.1 = 640c1de055a395d24227ae9edb45df085bed6b14 -Dbuild.vcs.number.TestingDemo_GitBitbucketOrgBinarygiantTestingdemoGitRefsHeadsMaster = 640c1de055a395d24227ae9edb45df085bed6b14   -Djava.io.tmpdir = / opt / TeamCity / buildAgent / temp / buildTmp -Dteamcity.agent.cpuBenchmark = 570 -Dteamcity.agent.dotnet.agent_url = http:// localhost:9090/ RPC2 -Dteamcity.agent.dotnet .build_id = 18 -Dteamcity.auth.password = ao0IEeHYnor3kuDxE93mXSEiAANWd3Y4 -Dteamcity.auth.userId = TeamCityBuildId = 18 -Dteamcity.build.changedFiles.file = / opt / TeamCity / buildAgent / temp / buildTmp / changedFiles648007365561156996.txt   -Dteamcity.build.checkoutDir = /选择/的TeamCity / buildAgent /工作/ d80416000445458a   -Dteamcity.build.id = 18 -Dteamcity.build.properties.file = / opt / TeamCity / buildAgent / temp / buildTmp / teamcity.build4342271452757354958.properties   -Dteamcity.build.tempDir = / opt / TeamCity / buildAgent / temp / buildTmp -Dteamcity.build.workingDir = / opt / TeamCity / buildAgent / work / d80416000445458a   -Dteamcity.buildConfName = runTests -Dteamcity.buildType.id = TestingDemo_RunTests -Dteamcity.configuration.properties.file = / opt / TeamCity / buildAgent / temp / buildTmp / teamcity.config8282155595117054162.properties   -Dteamcity.projectName = TestingDemo -Dteamcity.runner.properties.file = / opt / TeamCity / buildAgent / temp / buildTmp / teamcity.runner8434162286646669877.properties   -Dteamcity.runtime.props.file = /选择/ TeamCity的/ buildAgent /温度/ agentTmp / ant1290368989221761450runtime   -Dteamcity.tests.recentlyFailedTests.file = /选择/ TeamCity的/ buildAgent /温度/ buildTmp / testsToRunFirst3580939489665315320.txt   -Dteamcity.version = 8.0.5(build 27692)-classpath /usr/share/java/ant-launcher-1.8.2.jar   org.apache.tools.ant.launch.Launcher -lib   /opt/TeamCity/buildAgent/plugins/antPlugin/ant-runtime.jar:/opt/TeamCity/buildAgent/lib/runtime-util.jar   目录中的-listener jetbrains.buildServer.agent.ant.AgentBuildListener -buildfile /opt/TeamCity/buildAgent/work/d80416000445458a/build.xml tests [15:35:03] [Step 1/1]:   / opt / TeamCity / buildAgent / work / d80416000445458a [15:35:05] [第1/1步]   init(1s)[15:35:05] [init] taskdef [15:35:06] [taskdef]   java.lang.VerifyError:操作数堆栈上的错误类型异常详细信息:
  地点:       斯卡拉/工具/ ANT / Scalac.writeSettings $ 1(Lscala /工具/ NSC /设置; Lscala /收集/不变/列表;)Ljava / IO /文件;   @ 75:invokevirtual原因:       输入' scala / collection / immutable / List' (当前帧,堆栈[0])不能分配给' scala / collection / AbstractIterable'当前   帧:       bci:@ 75       旗帜:{}       本地人:{' scala / tools / ant / Scalac',' scala / tools / nsc / Settings',' scala / collection / immutable / List',top,最佳,   ' scala / collection / immutable / List',' java / io / File',   '爪哇/ IO / PrintWriter的' }       stack:{' scala / collection / immutable / List'字节码:       0000000:1304 d013 04d2 b804 d63a 0619 06b6 04d9       0000010:bb04 db59 bb04 dd59 bb04 df59 1906 b704       0000020:e1b7 04e4 b704 e53a 072b b604 e9bb 04eb       0000030:592a 1907 b704 eeb9 04f3 0200 2c3a 0519       0000040:05b9 04f6 0100 9a00 2a19 05b6 04f9 4e2d       0000050:c002 733a 0419 072a 1904 b602 a9b6 04fb       0000060:b604 fe19 05b6 0503 c001 3b3a 05a7 ffd2       0000070:1907 b605 0619 06b0 3a08 1907 b605 0619       0000080:08bf异常处理程序表:       bci [41,112] => handler:120 Stackmap表:       full_frame(@ 63,{对象[#2],对象[#685],对象[#315],顶,顶,对象[#315],对象[#627],对象[#1243]},{})       same_frame(@ 112)       full_frame(@ 120,{对象[#2],对象[#685],对象[#315],顶,顶,顶,对象[#627],对象[#1243]},{对象[#75]} )   [15:35:06] [第1/1步]处理退出代码1 [15:35:06] [步骤1/1]   Ant输出[15:35:06] [Ant输出] Stackmap表:[15:35:06] [Ant   输出]
  full_frame(@ 63,{对象[#2],对象[#685],对象[#315],顶,顶,对象[#315],对象[#627],对象[#1243]},{})   [15:35:06] [Ant输出] same_frame(@ 112)[15:35:06] [Ant输出]
  full_frame(@ 120,{对象[#2],对象[#685],对象[#315],顶,顶,顶,对象[#627],对象[#1243]},{对象[#75]} )   [15:35:06] [Ant输出] [15:35:06] [Ant输出] at   java.lang.Class.forName0(Native Method)[15:35:06] [Ant output] at   java.lang.Class.forName(Class.java:270)[15:35:06] [Ant输出] at   org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:594)   [15:35:06] [蚂蚁输出] at   org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:239)   [15:35:06] [蚂蚁输出] at   org.apache.tools.ant.taskdefs.Antlib.execute(Antlib.java:177)   [15:35:06] [蚂蚁输出] at   org.apache.tools.ant.taskdefs.Definer.loadAntlib(Definer.java:443)   [15:35:06] [蚂蚁输出] at   org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:292)   [15:35:06] [蚂蚁输出] at   org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)   [15:35:06] [蚂蚁输出] at   sun.reflect.GeneratedMethodAccessor6.invoke(未知来源)   [15:35:06] [蚂蚁输出] at   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)   [15:35:06] [蚂蚁输出] at   java.lang.reflect.Method.invoke(Method.java:606)[15:35:06] [Ant   输出]   org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)   [15:35:06] [蚂蚁输出] at   org.apache.tools.ant.Task.perform(Task.java:348)[15:35:06] [Ant   输出]在org.apache.tools.ant.Target.execute(Target.java:390)   [15:35:06] [蚂蚁输出] at   org.apache.tools.ant.Target.performTasks(Target.java:411)   [15:35:06] [蚂蚁输出] at   org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)   [15:35:06] [蚂蚁输出] at   org.apache.tools.ant.Project.executeTarget(Project.java:1368)   [15:35:06] [蚂蚁输出] at   org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)   [15:35:06] [蚂蚁输出] at   org.apache.tools.ant.Project.executeTargets(Project.java:1251)   [15:35:06] [蚂蚁输出] at   org.apache.tools.ant.Main.runBuild(Main.java:809)[15:35:06] [Ant   输出]在org.apache.tools.ant.Main.startAnt(Main.java:217)   [15:35:06] [蚂蚁输出] at   org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)   [15:35:06] [蚂蚁输出] at   org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)   [15:35:06] [Ant输出] [15:35:06] [Ant输出]总时间:2秒   [15:35:06] [步骤1/1]步骤单元测试(Ant)失败[15:35:06]发布   内部神器[15:35:06]构建完毕

1 个答案:

答案 0 :(得分:0)

显然,这是JDK compiler bug #8006684

我在Scala项目中遇到了类似的问题:

Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:894)
    at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56)
    at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    db/DB.string$1(Ljava/lang/String;)Ljava/lang/String; @107: invokespecial
  Reason:
    Type 'java/lang/String' (current frame, stack[3]) is not assignable to 'db/DB'
  Current Frame:
    bci: @107
    flags: { }
    locals: { 'java/lang/String', 'java/lang/String', integer }
    stack: { 'scala/collection/Iterator', uninitialized 102, uninitialized 102, 'java/lang/String' }
  Bytecode:
    0000000: 129d 2a4c 59c7 000b 572b c600 0da7 000e
    0000010: 2bb6 014f 9900 072a a700 60b2 0154 b200
    0000020: 7e2a b601 5703 b601 5b3d 1caa 0000 0011
    0000030: 0000 0001 0000 0001 0000 0015 2aa7 003b
    0000040: bb01 5d59 b200 7ebb 015d 59b2 007e 2ab6
    0000050: 0157 b701 5e04 b601 61c0 0099 b601 57b7
    0000060: 015e 05b6 0165 bb01 6759 2ab7 016a b901
    0000070: 6e02 00b9 0171 0100 b0                 
  Stackmap Table:
    full_frame(@16,{Object[#153],Object[#153]},{Object[#153]})
    same_frame(@23)
    same_frame(@27)
    append_frame(@60,Integer)
    same_frame(@64)
    full_frame(@120,{Object[#153],Object[#153]},{Object[#153]})

    at global.State$.<init>(State.scala:14)
...