This page is no longer maintained — Please continue to the home page at www.scala-lang.org

more partest troubles

2 replies
extempore
Joined: 2008-12-17,
User offline. Last seen 35 weeks 3 days ago.

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)

Philipp Haller
Joined: 2009-01-13,
User offline. Last seen 42 years 45 weeks ago.
Re: more partest troubles

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)
>

extempore
Joined: 2008-12-17,
User offline. Last seen 35 weeks 3 days ago.
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.

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland