From cab41b68581f32e56491b4bfdcbb931a4abe3689 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Tue, 26 Oct 2010 06:00:03 +0000 Subject: Another attempt to fix a bug which has plagued ... Another attempt to fix a bug which has plagued me for a year or more but which I am apparently the only one who enjoys it. I enclose some thread dumps in anticipation that someday someone else will experience it too. No review. --- docs/development/scala.tools.nsc/zipfile-bug.txt | 93 ++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 docs/development/scala.tools.nsc/zipfile-bug.txt (limited to 'docs/development/scala.tools.nsc') diff --git a/docs/development/scala.tools.nsc/zipfile-bug.txt b/docs/development/scala.tools.nsc/zipfile-bug.txt new file mode 100644 index 0000000000..3838318564 --- /dev/null +++ b/docs/development/scala.tools.nsc/zipfile-bug.txt @@ -0,0 +1,93 @@ +// Some stack traces of a bug which has been hitting me regularly +// for over a year (as of oct 2010.) Manifestation: partest hangs. +// These are some of the regulars among the thread dumps. + +"main" prio=5 tid=101801000 nid=0x100501000 in Object.wait() [1004ff000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <112bcc7c0> (a scala.actors.ActorProxy) + at java.lang.Object.wait(Object.java:485) + at scala.actors.Actor$class.liftedTree1$1(Actor.scala:644) + at scala.actors.Actor$class.scala$actors$Actor$$suspendActor(Actor.scala:643) + - locked <112bcc7c0> (a scala.actors.ActorProxy) + at scala.actors.Actor$blocker$.block(Actor.scala:634) + at scala.actors.scheduler.ForkJoinScheduler$$anon$2.block(ForkJoinScheduler.scala:145) + at scala.concurrent.forkjoin.ForkJoinPool.awaitBlocker(ForkJoinPool.java:1791) + at scala.concurrent.forkjoin.ForkJoinPool.managedBlock(ForkJoinPool.java:1781) + at scala.actors.scheduler.ForkJoinScheduler.managedBlock(ForkJoinScheduler.scala:144) + at scala.actors.scheduler.DelegatingScheduler$class.managedBlock(DelegatingScheduler.scala:73) + at scala.actors.Scheduler$.managedBlock(Scheduler.scala:21) + at scala.actors.Actor$class.receiveWithin(Actor.scala:576) + - locked <112bcc7c0> (a scala.actors.ActorProxy) + at scala.actors.ActorProxy.receiveWithin(ActorProxy.scala:20) + at scala.actors.Actor$.receiveWithin(Actor.scala:204) + at scala.tools.partest.nest.DirectRunner$$anonfun$runTestsForFiles$1.apply(DirectRunner.scala:65) + at scala.tools.partest.nest.DirectRunner$$anonfun$runTestsForFiles$1.apply(DirectRunner.scala:64) + + +"ForkJoinPool-4-worker-11" daemon prio=5 tid=19b680000 nid=0x19d50d000 runnable [19d50b000] + java.lang.Thread.State: RUNNABLE + at java.util.zip.ZipFile.getNextEntry(Native Method) + at java.util.zip.ZipFile.access$400(ZipFile.java:29) + at java.util.zip.ZipFile$2.nextElement(ZipFile.java:313) + - locked <12581d1e0> (a java.util.zip.ZipFile) + at java.util.zip.ZipFile$2.nextElement(ZipFile.java:299) + at scala.collection.JavaConversions$JEnumerationWrapper.next(JavaConversions.scala:573) + at scala.collection.Iterator$class.foreach(Iterator.scala:631) + at scala.collection.JavaConversions$JEnumerationWrapper.foreach(JavaConversions.scala:571) + at scala.collection.IterableLike$class.foreach(IterableLike.scala:79) + at scala.tools.nsc.io.ZipArchive$$anon$1.foreach(ZipArchive.scala:246) + at scala.tools.nsc.io.ZipContainer$ZipRootCreator.apply(ZipArchive.scala:143) + at scala.tools.nsc.io.ZipArchive.root(ZipArchive.scala:204) + - locked <12581d240> (a scala.tools.nsc.io.ZipArchive) + at scala.tools.nsc.io.ZipContainer$class.iterator(ZipArchive.scala:170) + at scala.tools.nsc.io.ZipArchive.iterator(ZipArchive.scala:197) + at scala.collection.IterableLike$class.foreach(IterableLike.scala:79) + at scala.tools.nsc.io.AbstractFile.foreach(AbstractFile.scala:84) + at scala.collection.TraversableLike$class.collect(TraversableLike.scala:271) + at scala.tools.nsc.io.AbstractFile.collect(AbstractFile.scala:84) + at scala.tools.nsc.util.DirectoryClassPath.classes(ClassPath.scala:315) + - locked <12581d2c8> (a scala.tools.nsc.util.DirectoryClassPath) + at scala.tools.nsc.util.MergedClassPath$$anonfun$classes$3.apply(ClassPath.scala:342) + at scala.tools.nsc.util.MergedClassPath$$anonfun$classes$3.apply(ClassPath.scala:342) + at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61) + at scala.collection.immutable.List.foreach(List.scala:45) + at scala.tools.nsc.util.MergedClassPath.classes(ClassPath.scala:342) + - locked <12581d390> (a scala.tools.nsc.util.JavaClassPath) + at scala.tools.nsc.symtab.SymbolLoaders$PackageLoader.doComplete(SymbolLoaders.scala:150) + at scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.complete(SymbolLoaders.scala:58) + at scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.complete(SymbolLoaders.scala:32) + at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:730) + at scala.tools.nsc.symtab.Definitions$definitions$.init(Definitions.scala:827) + at scala.tools.nsc.Global$Run.(Global.scala:626) + + +at java.util.zip.ZipFile.getNextEntry(Native Method) +at java.util.zip.ZipFile.access$400(ZipFile.java:29) +at java.util.zip.ZipFile$2.nextElement(ZipFile.java:313) +- locked <113014f40> (a java.util.zip.ZipFile) +at java.util.zip.ZipFile$2.nextElement(ZipFile.java:299) +at scala.collection.JavaConversions$JEnumerationWrapper.next(JavaConversions.scala:556) +at scala.collection.Iterator$class.foreach(Iterator.scala:631) +at scala.collection.JavaConversions$JEnumerationWrapper.foreach(JavaConversions.scala:554) +at scala.collection.IterableLike$class.foreach(IterableLike.scala:79) +at scala.tools.nsc.io.ZipArchive$$anon$1.foreach(ZipArchive.scala:246) +at scala.tools.nsc.io.ZipContainer$ZipRootCreator.apply(ZipArchive.scala:143) + at scala.tools.nsc.io.ZipArchive.root(ZipArchive.scala:204) +- locked <113018658> (a scala.tools.nsc.io.ZipArchive) +at scala.tools.nsc.io.ZipContainer$class.iterator(ZipArchive.scala:170) +at scala.tools.nsc.io.ZipArchive.iterator(ZipArchive.scala:197) +at scala.collection.IterableLike$class.foreach(IterableLike.scala:79) +at scala.tools.nsc.io.AbstractFile.foreach(AbstractFile.scala:84) +at scala.collection.TraversableLike$class.collect(TraversableLike.scala:271) +at scala.tools.nsc.io.AbstractFile.collect(AbstractFile.scala:84) +at scala.tools.nsc.util.DirectoryClassPath.classes(ClassPath.scala:315) +- locked <1130186e0> (a scala.tools.nsc.util.DirectoryClassPath) +at scala.tools.nsc.util.MergedClassPath$$anonfun$classes$3.apply(ClassPath.scala:342) +at scala.tools.nsc.util.MergedClassPath$$anonfun$classes$3.apply(ClassPath.scala:342) +at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61) +at scala.collection.immutable.List.foreach(List.scala:45) +at scala.tools.nsc.util.MergedClassPath.classes(ClassPath.scala:342) +- locked <1130187a8> (a scala.tools.nsc.util.JavaClassPath) +at scala.tools.nsc.symtab.SymbolLoaders$PackageLoader.doComplete(SymbolLoaders.scala:150) + + -- cgit v1.2.3