- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
more partest troubles
Thu, 2009-10-08, 15:23
Normal progression through the end of the "jvm" test set, and then this.
This is OSX snow leopard, java 1.6. Something is awry either in trunk
or with my jvm, but I'm betting on trunk since I used snow leopard for
weeks before this started happening (last week or so.)
...
[partest] Running resident compiler scenarii
BUILD FAILED
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at scala.tools.partest.PartestTask.runTestsForFiles$1(PartestTask.scala:186)
at scala.tools.partest.PartestTask.runSet$1(PartestTask.scala:233)
at scala.tools.partest.PartestTask$$anonfun$3.apply(PartestTask.scala:238)
at scala.tools.partest.PartestTask$$anonfun$3.apply(PartestTask.scala:238)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:156)
Caused by: java.util.concurrent.RejectedExecutionException
at scala.concurrent.forkjoin.ForkJoinPool.doSubmit(Unknown Source)
at scala.concurrent.forkjoin.ForkJoinPool.execute(Unknown Source)
at scala.actors.scheduler.ForkJoinScheduler.execute(ForkJoinScheduler.scala:103)
at scala.actors.scheduler.ForkJoinScheduler.execute(ForkJoinScheduler.scala:119)
at scala.actors.scheduler.DelegatingScheduler$class.execute(DelegatingScheduler.scala:38)
at scala.actors.Scheduler$.execute(Scheduler.scala:22)
at scala.actors.Actor$class.start(Actor.scala:689)
at scala.tools.partest.nest.Worker.start(Worker.scala:30)
at scala.tools.partest.nest.DirectRunner$$anonfun$1.apply(DirectRunner.scala:47)
Fri, 2009-10-09, 15:37
#2
Re: more partest troubles
On Fri, Oct 09, 2009 at 02:15:02PM +0200, Philipp Haller wrote:
> I found a race condition that may trigger when starting a new actor
> while the ForkJoinScheduler is shutting down (this happens between
> test sets). I worked out a fix that I am currently testing. Hope to
> commit it very soon.
Thanks for tracking this down. I notice one of the nightlies failed the
same way last night, an InvocationTargetException at the border between
sets. But does this also explain the hangs? Those were taking place
between tests in the jvm set -- although it's possible that was the very
last jvm test failing to complete, so if that fits the fix profile I'll
cross my fingers.
I found a race condition that may trigger when starting a new actor
while the ForkJoinScheduler is shutting down (this happens between test
sets). I worked out a fix that I am currently testing. Hope to commit it
very soon.
If this won't fix it, I know how to work around it in partest: create an
actor that stays alive until partest is finished. This will avoid the
situation where the scheduler shuts down, because no actors are running
any more.
If all fails, the issue is due to the following commit:
http://lampsvn.epfl.ch/trac/scala/changeset/18948
Sorry for running into this, that's dogfood I guess...
Philipp
Paul Phillips wrote:
> Normal progression through the end of the "jvm" test set, and then this.
> This is OSX snow leopard, java 1.6. Something is awry either in trunk
> or with my jvm, but I'm betting on trunk since I used snow leopard for
> weeks before this started happening (last week or so.)
>
> ...
> [partest] Running resident compiler scenarii
>
> BUILD FAILED
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at scala.tools.partest.PartestTask.runTestsForFiles$1(PartestTask.scala:186)
> at scala.tools.partest.PartestTask.runSet$1(PartestTask.scala:233)
> at scala.tools.partest.PartestTask$$anonfun$3.apply(PartestTask.scala:238)
> at scala.tools.partest.PartestTask$$anonfun$3.apply(PartestTask.scala:238)
> at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:156)
>
> Caused by: java.util.concurrent.RejectedExecutionException
> at scala.concurrent.forkjoin.ForkJoinPool.doSubmit(Unknown Source)
> at scala.concurrent.forkjoin.ForkJoinPool.execute(Unknown Source)
> at scala.actors.scheduler.ForkJoinScheduler.execute(ForkJoinScheduler.scala:103)
> at scala.actors.scheduler.ForkJoinScheduler.execute(ForkJoinScheduler.scala:119)
> at scala.actors.scheduler.DelegatingScheduler$class.execute(DelegatingScheduler.scala:38)
> at scala.actors.Scheduler$.execute(Scheduler.scala:22)
> at scala.actors.Actor$class.start(Actor.scala:689)
> at scala.tools.partest.nest.Worker.start(Worker.scala:30)
> at scala.tools.partest.nest.DirectRunner$$anonfun$1.apply(DirectRunner.scala:47)
>