Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6850337

Hasher.java interprets given option value badly

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • 7
    • core-libs

      FULL PRODUCT VERSION :
      all >= JDK 6

      ADDITIONAL OS VERSION INFORMATION :
      All systems

      A DESCRIPTION OF THE PROBLEM :
      Refer: jdk\make\tools\src\build\tools\hasher\Hasher.java :

      If option -mb is set to 10, Hasher only calculates up to maxBits of 9.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      java Hasher -i -v -md 2 -mb 10 MyClass myKeyValuePairs



      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      pkg=null, cln=MyClass
      nb=2 s=0 md=61
      nb=2 s=1 md=62
      nb=2 s=2 md=54
      nb=2 s=3 md=58
      nb=2 s=4 md=56
      nb=2 s=5 md=65
      nb=2 s=6 md=62
      nb=2 s=7 md=56
      nb=2 s=8 md=67
      nb=2 s=9 md=65
      nb=2 s=10 md=63
      nb=2 s=11 md=67
      nb=2 s=12 md=69
      nb=2 s=13 md=80
      nb=2 s=14 md=65
      nb=2 s=15 md=66
      nb=2 s=16 md=64
      nb=2 s=17 md=62
      nb=2 s=18 md=65
      nb=2 s=19 md=65
      nb=2 s=20 md=88
      nb=2 s=21 md=90
      nb=2 s=22 md=59
      nb=2 s=23 md=62
      nb=2 s=24 md=63
      nb=2 s=25 md=71
      nb=2 s=26 md=86
      nb=2 s=27 md=93
      nb=2 s=28 md=111
      nb=2 s=29 md=110
      nb=3 s=0 md=32
      nb=3 s=1 md=34
      nb=3 s=2 md=30
      nb=3 s=3 md=31
      nb=3 s=4 md=38
      nb=3 s=5 md=34
      nb=3 s=6 md=38
      nb=3 s=7 md=40
      nb=3 s=8 md=39
      nb=3 s=9 md=39
      nb=3 s=10 md=41
      nb=3 s=11 md=49
      nb=3 s=12 md=48
      nb=3 s=13 md=42
      nb=3 s=14 md=53
      nb=3 s=15 md=55
      nb=3 s=16 md=35
      nb=3 s=17 md=40
      nb=3 s=18 md=53
      nb=3 s=19 md=59
      nb=3 s=20 md=56
      nb=3 s=21 md=47
      nb=3 s=22 md=35
      nb=3 s=23 md=50
      nb=3 s=24 md=49
      nb=3 s=25 md=51
      nb=3 s=26 md=76
      nb=3 s=27 md=79
      nb=3 s=28 md=96
      nb=4 s=0 md=20
      nb=4 s=1 md=21
      nb=4 s=2 md=17
      nb=4 s=3 md=19
      nb=4 s=4 md=27
      nb=4 s=5 md=22
      nb=4 s=6 md=27
      nb=4 s=7 md=22
      nb=4 s=8 md=24
      nb=4 s=9 md=32
      nb=4 s=10 md=31
      nb=4 s=11 md=33
      nb=4 s=12 md=25
      nb=4 s=13 md=31
      nb=4 s=14 md=44
      nb=4 s=15 md=32
      nb=4 s=16 md=31
      nb=4 s=17 md=37
      nb=4 s=18 md=50
      nb=4 s=19 md=53
      nb=4 s=20 md=35
      nb=4 s=21 md=31
      nb=4 s=22 md=29
      nb=4 s=23 md=46
      nb=4 s=24 md=46
      nb=4 s=25 md=47
      nb=4 s=26 md=66
      nb=4 s=27 md=77
      nb=5 s=0 md=13
      nb=5 s=1 md=11
      nb=5 s=2 md=11
      nb=5 s=3 md=14
      nb=5 s=4 md=20
      nb=5 s=5 md=14
      nb=5 s=6 md=15
      nb=5 s=7 md=14
      nb=5 s=8 md=20
      nb=5 s=9 md=26
      nb=5 s=10 md=19
      nb=5 s=11 md=17
      nb=5 s=12 md=20
      nb=5 s=13 md=24
      nb=5 s=14 md=26
      nb=5 s=15 md=26
      nb=5 s=16 md=28
      nb=5 s=17 md=36
      nb=5 s=18 md=46
      nb=5 s=19 md=34
      nb=5 s=20 md=27
      nb=5 s=21 md=27
      nb=5 s=22 md=27
      nb=5 s=23 md=46
      nb=5 s=24 md=46
      nb=5 s=25 md=46
      nb=5 s=26 md=65
      nb=6 s=0 md=8
      nb=6 s=1 md=7
      nb=6 s=2 md=10
      nb=6 s=3 md=12
      nb=6 s=4 md=11
      nb=6 s=5 md=9
      nb=6 s=6 md=9
      nb=6 s=7 md=13
      nb=6 s=8 md=18
      nb=6 s=9 md=18
      nb=6 s=10 md=12
      nb=6 s=11 md=16
      nb=6 s=12 md=19
      nb=6 s=13 md=19
      nb=6 s=14 md=25
      nb=6 s=15 md=23
      nb=6 s=16 md=28
      nb=6 s=17 md=29
      nb=6 s=18 md=28
      nb=6 s=19 md=25
      nb=6 s=20 md=27
      nb=6 s=21 md=25
      nb=6 s=22 md=27
      nb=6 s=23 md=46
      nb=6 s=24 md=46
      nb=6 s=25 md=45
      nb=7 s=0 md=5
      nb=7 s=1 md=5
      nb=7 s=2 md=7
      nb=7 s=3 md=7
      nb=7 s=4 md=8
      nb=7 s=5 md=9
      nb=7 s=6 md=9
      nb=7 s=7 md=11
      nb=7 s=8 md=10
      nb=7 s=9 md=12
      nb=7 s=10 md=10
      nb=7 s=11 md=16
      nb=7 s=12 md=18
      nb=7 s=13 md=19
      nb=7 s=14 md=20
      nb=7 s=15 md=23
      nb=7 s=16 md=27
      nb=7 s=17 md=27
      nb=7 s=18 md=25
      nb=7 s=19 md=25
      nb=7 s=20 md=25
      nb=7 s=21 md=25
      nb=7 s=22 md=27
      nb=7 s=23 md=46
      nb=7 s=24 md=45
      nb=8 s=0 md=3
      nb=8 s=1 md=5
      nb=8 s=2 md=5
      nb=8 s=3 md=6
      nb=8 s=4 md=7
      nb=8 s=5 md=7
      nb=8 s=6 md=9
      nb=8 s=7 md=9
      nb=8 s=8 md=10
      nb=8 s=9 md=10
      nb=8 s=10 md=10
      nb=8 s=11 md=15
      nb=8 s=12 md=18
      nb=8 s=13 md=19
      nb=8 s=14 md=20
      nb=8 s=15 md=21
      nb=8 s=16 md=26
      nb=8 s=17 md=25
      nb=8 s=18 md=25
      nb=8 s=19 md=25
      nb=8 s=20 md=25
      nb=8 s=21 md=25
      nb=8 s=22 md=27
      nb=8 s=23 md=45
      nb=9 s=0 md=3
      nb=9 s=1 md=4
      nb=9 s=2 md=3
      nb=9 s=3 md=5
      nb=9 s=4 md=7
      nb=9 s=5 md=7
      nb=9 s=6 md=7
      nb=9 s=7 md=9
      nb=9 s=8 md=9
      nb=9 s=9 md=10
      nb=9 s=10 md=10
      nb=9 s=11 md=15
      nb=9 s=12 md=18
      nb=9 s=13 md=19
      nb=9 s=14 md=20
      nb=9 s=15 md=21
      nb=9 s=16 md=25
      nb=9 s=17 md=25
      nb=9 s=18 md=25
      nb=9 s=19 md=25
      nb=9 s=20 md=25
      nb=9 s=21 md=25
      nb=9 s=22 md=27
      Exception in thread "main" java.lang.RuntimeException: Cannot find a suitable size within given constraints
              at build.tools.hasher.Hasher.build(Hasher.java:196)
              at build.tools.hasher.Hasher.main(Hasher.java:314)

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      Hasher.java:

      Line 178:
              for (int nb = 2; nb < maxBits; nb++) {
      Correction:
              for (int nb = 2; nb <= maxBits; nb++) {

      Line 59:
          int maxBits = 11; // lg table size
      Correction:
          int maxBits = 10; // lg table size

      Line 48:
          // This class cannot, sadly, make use of 1.5 features since it must be
          // compiled and run with the bootstrap JDK, which is 1.4.2.

      This should no longer be valid, as we are at JDK 6/7

      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Use +1 value for -mb option

            sherman Xueming Shen
            ndcosta Nelson Dcosta (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Imported:
              Indexed: