[Checkers] Problem building annotation file utilities distribution

Michael Ernst mernst at csail.mit.edu
Sat Apr 5 11:30:58 EDT 2008


Jaime and Matt-

When I run

  cd ~/research/typequals/annotations/distribution
  ant -Dboot.java.home=$HOME/java/jdk zipfile

the build fails and I get the following output.  I was able to run this
command pretty recently (but I don't remember the exact date), so maybe
some recent checkin is to blame.

                    -Mike



Buildfile: build.xml

init-properties:

init-dependices:

init-properties:

init-dependices:

init:

bin-clean:
   [delete] Deleting directory /DS/home-0/mernst/research/typequals/annotations/shared/bin

bin:
    [mkdir] Created dir: /DS/home-0/mernst/research/typequals/annotations/shared/bin
    [javac] Compiling 1 source file to /DS/home-0/mernst/research/typequals/annotations/shared/bin

init-properties:

init-dependices:

init-properties:

init-dependices:

init:

bin-clean:
   [delete] Deleting directory /DS/home-0/mernst/research/typequals/annotations/shared/bin

bin:
    [mkdir] Created dir: /DS/home-0/mernst/research/typequals/annotations/shared/bin
    [javac] Compiling 1 source file to /DS/home-0/mernst/research/typequals/annotations/shared/bin

properties:

check:

init:
  [taskdef] Could not load definitions from resource tasks.properties. It could not be found.

compile-debug:

shrink:
     [echo] Shrinking
     [java] INFO: org/objectweb/asm/ClassReader.readExtendedAnnotationValues(I[CLorg/objectweb/asm/ExtendedAnnotationVisitor;)I could be renamed
     [java] INFO: org/objectweb/asm/FieldWriter.xanns could be renamed
     [java] INFO: org/objectweb/asm/FieldWriter.ixanns could be renamed
     [java] INFO: org/objectweb/asm/MethodWriter.xanns could be renamed
     [java] INFO: org/objectweb/asm/MethodWriter.ixanns could be renamed
     [java] INFO: org/objectweb/asm/MethodWriter.catchCount could be renamed
     [java] INFO: org/objectweb/asm/MethodWriter.catchTable could be renamed
     [java] INFO: org/objectweb/asm/MethodWriter.computeMaxs could be renamed
     [java] INFO: org/objectweb/asm/MethodWriter.blockStack could be renamed
     [java] INFO: org/objectweb/asm/MethodWriter.SIZE could be renamed
     [java] INFO: org/objectweb/asm/MethodWriter.resizeInstructions([I[II)[I could be renamed
     [java] INFO: org/objectweb/asm/Edge.stackSize could be renamed
     [java] INFO: org/objectweb/asm/Label.resolved could be renamed
     [java] INFO: org/objectweb/asm/Label.resized could be renamed
     [java] INFO: org/objectweb/asm/Label.beginStackSize could be renamed
     [java] INFO: org/objectweb/asm/Label.maxStackSize could be renamed
     [java] INFO: org/objectweb/asm/Label.pushed could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.cw could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.size could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.named could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.bv could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.parent could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.offset could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.next could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.prev could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.xsize could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.xtarget_type could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.xoffset could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.xlocation_length could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.xlocations could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.xlocations_index could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.xstart_pc could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.xlength could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.xindex could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.xparam_index could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.xbound_index could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.xtype_index could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.getSize()I could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.put(Lorg/objectweb/asm/ByteVector;)V could be renamed
     [java] INFO: org/objectweb/asm/ExtendedAnnotationWriter.put([Lorg/objectweb/asm/ExtendedAnnotationWriter;Lorg/objectweb/asm/ByteVector;)V could be renamed
     [java] INFO: org/objectweb/asm/Item.floatVal could be renamed
     [java] INFO: org/objectweb/asm/Item.doubleVal could be renamed
     [java] INFO: org/objectweb/asm/ClassWriter.xanns could be renamed
     [java] INFO: org/objectweb/asm/ClassWriter.ixanns could be renamed
     [java] INFO: unused mapping org/objectweb/asm/Frame.outputLocals
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.writeFrameTypes(II)V
     [java] INFO: unused mapping org/objectweb/asm/Frame.outputStackTop
     [java] INFO: unused mapping org/objectweb/asm/Label.inputStackTop
     [java] INFO: unused mapping org/objectweb/asm/Label.frame
     [java] INFO: unused mapping org/objectweb/asm/Frame.owner
     [java] INFO: unused mapping org/objectweb/asm/Label.successor
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.frame
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.writeFrameType(Ljava/lang/Object;)V
     [java] INFO: unused mapping org/objectweb/asm/ClassReader.readFrameType([Ljava/lang/Object;II[C[Lorg/objectweb/asm/Label;)I
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.previousFrameOffset
     [java] INFO: unused mapping org/objectweb/asm/Frame.push(Lorg/objectweb/asm/ClassWriter;Ljava/lang/String;)V
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.endFrame()V
     [java] INFO: unused mapping org/objectweb/asm/Frame.SIZE
     [java] INFO: unused mapping org/objectweb/asm/Frame.execute(IILorg/objectweb/asm/ClassWriter;Lorg/objectweb/asm/Item;)V
     [java] INFO: unused mapping org/objectweb/asm/Edge.info
     [java] INFO: unused mapping org/objectweb/asm/Frame.initializationCount
     [java] INFO: unused mapping org/objectweb/asm/ClassWriter.typeCount
     [java] INFO: unused mapping org/objectweb/asm/ClassWriter.invalidFrames
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.resizeInstructions()V
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.findSubroutine(Lorg/objectweb/asm/Label;I)V
     [java] INFO: unused mapping org/objectweb/asm/Frame.initializations
     [java] INFO: unused mapping org/objectweb/asm/Frame.merge(Lorg/objectweb/asm/ClassWriter;Lorg/objectweb/asm/Frame;I)Z
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.handlerCount
     [java] INFO: unused mapping org/objectweb/asm/Frame.push(I)V
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.firstHandler
     [java] INFO: unused mapping org/objectweb/asm/Frame.set(II)V
     [java] INFO: unused mapping org/objectweb/asm/ClassWriter.addUninitializedType(Ljava/lang/String;I)I
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.findSubroutineSuccessors(I[Lorg/objectweb/asm/Label;I)V
     [java] INFO: unused mapping org/objectweb/asm/Frame.inputStack
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.frameIndex
     [java] INFO: unused mapping org/objectweb/asm/Frame.inputLocals
     [java] INFO: unused mapping org/objectweb/asm/ClassWriter.newFieldItem(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/objectweb/asm/Item;
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.stackMap
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.compute
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.noSuccessor()V
     [java] INFO: unused mapping org/objectweb/asm/Frame.init(I)V
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.previousFrame
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.jsr
     [java] INFO: unused mapping org/objectweb/asm/Label.getFirst()Lorg/objectweb/asm/Label;
     [java] INFO: unused mapping org/objectweb/asm/ClassWriter.getMergedType(II)I
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.writeFrame()V
     [java] INFO: unused mapping org/objectweb/asm/Frame.pop(Ljava/lang/String;)V
     [java] INFO: unused mapping org/objectweb/asm/ClassWriter.addType(Lorg/objectweb/asm/Item;)Lorg/objectweb/asm/Item;
     [java] INFO: unused mapping org/objectweb/asm/ClassWriter.computeFrames
     [java] INFO: unused mapping org/objectweb/asm/Label.status
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.frameCount
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.startFrame(III)V
     [java] INFO: unused mapping org/objectweb/asm/ClassWriter.addType(Ljava/lang/String;)I
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.previousBlock
     [java] INFO: unused mapping org/objectweb/asm/Frame.init(Lorg/objectweb/asm/ClassWriter;I)I
     [java] INFO: unused mapping org/objectweb/asm/Frame.merge(Lorg/objectweb/asm/ClassWriter;I[II)Z
     [java] INFO: unused mapping org/objectweb/asm/Frame.pop()I
     [java] INFO: unused mapping org/objectweb/asm/Frame.get(I)I
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.visitFrame(Lorg/objectweb/asm/Frame;)V
     [java] INFO: unused mapping org/objectweb/asm/ClassWriter.thisName
     [java] INFO: unused mapping org/objectweb/asm/Frame.outputStack
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.visitSwitchInsn(Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V
     [java] INFO: unused mapping org/objectweb/asm/ClassWriter.typeTable
     [java] INFO: unused mapping org/objectweb/asm/Label.outputStackMax
     [java] INFO: unused mapping org/objectweb/asm/Frame.initInputFrame(Lorg/objectweb/asm/ClassWriter;I[Lorg/objectweb/asm/Type;I)V
     [java] INFO: unused mapping org/objectweb/asm/Frame.pop(I)V
     [java] INFO: unused mapping org/objectweb/asm/Frame.type(Lorg/objectweb/asm/ClassWriter;Ljava/lang/String;)I
     [java] INFO: unused mapping org/objectweb/asm/MethodWriter.labels

noshrink:

compile:

bin:

-def-check:

-check-boot.java.home:

-def-pcompile:

-def-build-classes:

-def-build-jar:

-def-build-tool:

-def-build-bootstrap-tool:

build-bootstrap-javac:

build-bootstrap-javadoc:
 [pcompile] Generating 3 resource files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/gensrc
    [javac] Compiling 3 source files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/classes
    [javac] Compiling 69 source files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/classes
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: /DS/home-0/mernst/research/typequals/annotations/langtools/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java uses unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
      [jar] Building jar: /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/lib/javadoc.jar
     [copy] Copying 1 file to /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/bin

-def-build-bootstrap-jar:

build-bootstrap-doclets:
 [pcompile] Generating 6 resource files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/gensrc
    [javac] Compiling 6 source files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/classes
    [javac] Compiling 125 source files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/classes
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
     [copy] Copying 2 files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/classes
      [jar] Building jar: /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/lib/doclets.jar

build-bootstrap-javah:
 [pcompile] Generating 8 resource files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/gensrc
    [javac] Compiling 8 source files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/classes
    [javac] Compiling 8 source files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/classes
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
      [jar] Building jar: /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/lib/javah.jar
     [copy] Copying 1 file to /DS/home-0/mernst/research/typequals/annotations/langtools/build/bootstrap/bin

build-bootstrap-tools:

build-classes-javac:

build-classes-javadoc:
 [pcompile] Generating 3 resource files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/gensrc
    [javac] Compiling 3 source files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/classes
    [javac] Compiling 69 source files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/classes
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: /DS/home-0/mernst/research/typequals/annotations/langtools/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java uses unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.

build-classes-doclets:
 [pcompile] Generating 6 resource files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/gensrc
    [javac] Compiling 6 source files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/classes
    [javac] Compiling 125 source files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/classes
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
     [copy] Copying 2 files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/classes

build-classes-javah:
 [pcompile] Generating 8 resource files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/gensrc
    [javac] Compiling 8 source files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/classes
    [javac] Compiling 8 source files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/classes
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.

build-classes-javap:

build-classes-apt:
 [pcompile] Generating 3 resource files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/gensrc
    [javac] Compiling 3 source files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/classes
    [javac] Compiling 106 source files to /DS/home-0/mernst/research/typequals/annotations/langtools/build/classes
    [javac] Note: /DS/home-0/mernst/research/typequals/annotations/langtools/src/share/classes/com/sun/tools/apt/main/JavaCompiler.java uses or overrides a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.

build-all-classes:

build:
     [copy] Copying 7 files to /DS/home-0/mernst/research/typequals/annotations/langtools/dist/bootstrap
      [jar] Building jar: /DS/home-0/mernst/research/typequals/annotations/langtools/dist/lib/classes.jar
      [zip] Building zip: /DS/home-0/mernst/research/typequals/annotations/langtools/dist/lib/src.zip

prep:

build:
     [java] javac 1.7.0-jsr308-0.5.1
     [java] Note: /DS/home-0/mernst/research/typequals/annotations/checkers/src/checkers/javari/JavariAnnotatedTypeFactory.java uses or overrides a deprecated API.
     [java] Note: Recompile with -Xlint:deprecation for details.

init:

bin-clean:
   [delete] Deleting directory /DS/home-0/mernst/research/typequals/annotations/scene-lib/bin

bin:
    [mkdir] Created dir: /DS/home-0/mernst/research/typequals/annotations/scene-lib/bin
     [copy] Copying 17 files to /DS/home-0/mernst/research/typequals/annotations/scene-lib/bin
     [copy] Copied 14 empty directories to 9 empty directories under /DS/home-0/mernst/research/typequals/annotations/scene-lib/bin
    [javac] Compiling 94 source files to /DS/home-0/mernst/research/typequals/annotations/scene-lib/bin
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/AnnotationDef.java:48: illegal start of type
    [javac]             /*@NonNull*/ ? extends AnnotationFieldType> fieldTypes) {
    [javac]                          ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/AnnotationDef.java:48: <identifier> expected
    [javac]             /*@NonNull*/ ? extends AnnotationFieldType> fieldTypes) {
    [javac]                           ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/AnnotationDef.java:48: ')' expected
    [javac]             /*@NonNull*/ ? extends AnnotationFieldType> fieldTypes) {
    [javac]                                   ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/AnnotationDef.java:48: ';' expected
    [javac]             /*@NonNull*/ ? extends AnnotationFieldType> fieldTypes) {
    [javac]                                                       ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/AnnotationDef.java:48: <identifier> expected
    [javac]             /*@NonNull*/ ? extends AnnotationFieldType> fieldTypes) {
    [javac]                                                                   ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/Annotations.java:66: illegal start of type
    [javac]                     /*@NonNull*/ /*@ReadOnly*/ List</*@NonNull*/ /*@ReadOnly*/ ?> l =
    [javac]                                                                                ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/Annotations.java:66: <identifier> expected
    [javac]                     /*@NonNull*/ /*@ReadOnly*/ List</*@NonNull*/ /*@ReadOnly*/ ?> l =
    [javac]                                                                                 ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/Annotations.java:66: ';' expected
    [javac]                     /*@NonNull*/ /*@ReadOnly*/ List</*@NonNull*/ /*@ReadOnly*/ ?> l =
    [javac]                                                                                  ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/Annotations.java:66: illegal start of expression
    [javac]                     /*@NonNull*/ /*@ReadOnly*/ List</*@NonNull*/ /*@ReadOnly*/ ?> l =
    [javac]                                                                                     ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/Annotations.java:66: ';' expected
    [javac]                     /*@NonNull*/ /*@ReadOnly*/ List</*@NonNull*/ /*@ReadOnly*/ ?> l =
    [javac]                                                                                      ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/Annotations.java:67: illegal start of type
    [javac]                             (/*@NonNull*/ /*@ReadOnly*/ List</*@NonNull*/ /*@ReadOnly*/ ?>) fieldValue;
    [javac]                                                                                         ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/Annotations.java:67: <identifier> expected
    [javac]                             (/*@NonNull*/ /*@ReadOnly*/ List</*@NonNull*/ /*@ReadOnly*/ ?>) fieldValue;
    [javac]                                                                                          ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/Annotations.java:67: ';' expected
    [javac]                             (/*@NonNull*/ /*@ReadOnly*/ List</*@NonNull*/ /*@ReadOnly*/ ?>) fieldValue;
    [javac]                                                                                           ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/Annotations.java:67: not a statement
    [javac]                             (/*@NonNull*/ /*@ReadOnly*/ List</*@NonNull*/ /*@ReadOnly*/ ?>) fieldValue;
    [javac]                                                                                             ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/SimpleAnnotation.java:35: illegal start of type
    [javac]             /*@NonNull*/ /*@ReadOnly*/ ? extends Object> fields) {
    [javac]                                        ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/SimpleAnnotation.java:35: <identifier> expected
    [javac]             /*@NonNull*/ /*@ReadOnly*/ ? extends Object> fields) {
    [javac]                                         ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/SimpleAnnotation.java:35: ')' expected
    [javac]             /*@NonNull*/ /*@ReadOnly*/ ? extends Object> fields) {
    [javac]                                                 ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/SimpleAnnotation.java:35: ';' expected
    [javac]             /*@NonNull*/ /*@ReadOnly*/ ? extends Object> fields) {
    [javac]                                                        ^
    [javac] /DS/home-0/mernst/research/typequals/annotations/scene-lib/src/annotations/SimpleAnnotation.java:35: <identifier> expected
    [javac]             /*@NonNull*/ /*@ReadOnly*/ ? extends Object> fields) {
    [javac]                                                                ^
    [javac] 19 errors

BUILD FAILED
/DS/home-0/mernst/research/typequals/annotations/distribution/build.xml:66: The following error occurred while executing this line:
/DS/home-0/mernst/research/typequals/annotations/scene-lib/build.xml:77: Compile failed; see the compiler error output for details.

Total time: 41 seconds
swsmde 28% 



More information about the checkers mailing list