problem using macbook with M1 chip?

#1

we just switched to macbook pro with M1 chip and trying to start our project hangs in (see attachment), 

// Compiled from UNM.java (version 1.5 : 49.0, super bit)

public final class com.objectdb.o.UNM extends com.objectdb.o.HTB {

  

  // Field descriptor #40 Lcom/objectdb/o/UNM;

  public static com.objectdb.o.UNM g;

  

  // Method descriptor #42 ()V

  // Stack: 3, Locals: 1

  UNM();

    0  aload_0 [this]

    1  iconst_1

    2  ldc <Float 5.0> [1]

    4  invokespecial com.objectdb.o.HTB(int, float) [2]

    7  return

      Line numbers:

        [pc: 0, line: 49]

        [pc: 7, line: 50]

  

  // Method descriptor #46 (I)[Lcom/objectdb/o/HLE;

  // Stack: 1, Locals: 2

  protected com.objectdb.o.HLE[] d(int arg0);

    0  iload_1 [arg0]

    1  anewarray com.objectdb.o.UNM$f [3]

    4  areturn

      Line numbers:

        [pc: 0, line: 61]

  

  // Method descriptor #48 (Ljava/lang/ClassLoader;Ljava/lang/String;)Lcom/objectdb/o/UNI;

  // Stack: 5, Locals: 4

  public com.objectdb.o.UNI q(java.lang.ClassLoader arg0, java.lang.String arg1);

     0  aload_0 [this]

     1  aload_1 [arg0]

     2  invokevirtual com.objectdb.o.UNM.r(java.lang.ClassLoader) : com.objectdb.o.UNM$f [4]

     5  aload_2 [arg1]

     6  invokevirtual com.objectdb.o.UNM$f._a(java.lang.String) : com.objectdb.o.UNI [5]

     9  astore_3

    10  aload_3

    11  ifnonnull 62

    14  getstatic com.objectdb.o.MSS.cx : com.objectdb.o.MSG [6]

    17  iconst_1

    18  anewarray java.lang.String [7]

    21  dup

    22  iconst_0

    23  aload_2 [arg1]

    24  aastore

    25  invokevirtual com.objectdb.o.MSG.a(java.lang.String[]) : com.objectdb.o.UserException [8]

    28  new java.lang.StringBuilder [9]

    31  dup

    32  invokespecial java.lang.StringBuilder() [10]

    35  ldc <String " (by "> [11]

    37  invokevirtual java.lang.StringBuilder.append(java.lang.String) : java.lang.StringBuilder [12]

    40  aload_1 [arg0]

    41  invokevirtual java.lang.Object.getClass() : java.lang.Class [13]

    44  invokevirtual java.lang.Class.getName() : java.lang.String [14]

    47  invokevirtual java.lang.StringBuilder.append(java.lang.String) : java.lang.StringBuilder [12]

    50  bipush 41

    52  invokevirtual java.lang.StringBuilder.append(char) : java.lang.StringBuilder [15]

    55  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [16]

    58  invokevirtual com.objectdb.o.UserException.a(java.lang.String) : com.objectdb.o.UserException [17]

    61  athrow

    62  aload_3

    63  areturn

      Line numbers:

        [pc: 0, line: 77]

        [pc: 10, line: 78]

        [pc: 14, line: 79]

        [pc: 41, line: 80]

        [pc: 62, line: 81]

  

  // Method descriptor #50 (Ljava/lang/ClassLoader;)Lcom/objectdb/o/UNM$f;

  // Stack: 3, Locals: 6

  com.objectdb.o.UNM.f r(java.lang.ClassLoader arg0);

     0  aload_0 [this]

     1  dup

     2  astore_2

     3  monitorenter

     4  aload_1 [arg0]

     5  invokevirtual java.lang.Object.hashCode() : int [18]

     8  ldc <Integer 2147483647> [19]

    10  iand

    11  aload_0 [this]

    12  getfield com.objectdb.o.UNM.d : com.objectdb.o.HLE[] [20]

    15  arraylength

    16  irem

    17  istore_3

    18  aload_0 [this]

    19  getfield com.objectdb.o.UNM.d : com.objectdb.o.HLE[] [20]

    22  iload_3

    23  aaload

    24  checkcast com.objectdb.o.UNM$f [3]

    27  astore 4

    29  aload 4

    31  ifnull 61

    34  aload 4

    36  getfield com.objectdb.o.UNM$f._a : java.lang.ref.WeakReference [21]

    39  invokevirtual java.lang.ref.WeakReference.get() : java.lang.Object [22]

    42  aload_1 [arg0]

    43  if_acmpne 51

    46  aload 4

    48  aload_2

    49  monitorexit

    50  areturn

    51  aload 4

    53  getfield com.objectdb.o.UNM$f._c : com.objectdb.o.UNM.f [23]

    56  astore 4

    58  goto 29

    61  new com.objectdb.o.UNM$f [3]

    64  dup

    65  aload_1 [arg0]

    66  invokespecial com.objectdb.o.UNM$f(java.lang.ClassLoader) [24]

    69  astore 4

    71  aload_0 [this]

    72  aload 4

    74  iconst_0

    75  invokespecial com.objectdb.o.HTB.a(com.objectdb.o.HLE, boolean) : com.objectdb.o.HLE [25]

    78  pop

    79  aload 4

    81  aload_2

    82  monitorexit

    83  areturn

    84  astore 5

    86  aload_2

    87  monitorexit

    88  aload 5

    90  athrow

      Exception Table:

        [pc: 4, pc: 50] -> 84 when : any

        [pc: 51, pc: 83] -> 84 when : any

        [pc: 84, pc: 88] -> 84 when : any

      Line numbers:

        [pc: 0, line: 92]

        [pc: 4, line: 95]

        [pc: 18, line: 98]

        [pc: 29, line: 99]

        [pc: 34, line: 101]

        [pc: 46, line: 102]

        [pc: 51, line: 103]

        [pc: 61, line: 107]

        [pc: 71, line: 108]

        [pc: 79, line: 109]

        [pc: 84, line: 110]

  

  // Method descriptor #52 (Ljava/lang/String;)Z

  // Stack: 2, Locals: 3

  public static boolean s(java.lang.String arg0);

     0  aload_0 [arg0]

     1  ldc <String "objectdb:"> [26]

     3  invokevirtual java.lang.String.startsWith(java.lang.String) : boolean [27]

     6  ifeq 11

     9  iconst_1

    10  ireturn

    11  aload_0 [arg0]

    12  bipush 59

    14  invokevirtual java.lang.String.indexOf(int) : int [28]

    17  istore_1

    18  iload_1

    19  ifge 26

    22  aload_0 [arg0]

    23  goto 31

    26  aload_0 [arg0]

    27  iload_1

    28  invokestatic com.objectdb.o.STH.m(java.lang.String, int) : java.lang.String [29]

    31  astore_2

    32  aload_2

    33  ldc <String ".objectdb"> [30]

    35  invokevirtual java.lang.String.endsWith(java.lang.String) : boolean [31]

    38  ifne 50

    41  aload_2

    42  ldc <String ".odb"> [32]

    44  invokevirtual java.lang.String.endsWith(java.lang.String) : boolean [31]

    47  ifeq 54

    50  iconst_1

    51  goto 55

    54  iconst_0

    55  ireturn

      Line numbers:

        [pc: 0, line: 125]

        [pc: 9, line: 126]

        [pc: 11, line: 127]

        [pc: 18, line: 128]

        [pc: 28, line: 129]

        [pc: 32, line: 130]

  

  // Method descriptor #42 ()V

  // Stack: 2, Locals: 0

  static {};

     0  new com.objectdb.o.UNM [33]

     3  dup

     4  invokespecial com.objectdb.o.UNM() [34]

     7  putstatic com.objectdb.o.UNM.g : com.objectdb.o.UNM [35]

    10  return

      Line numbers:

        [pc: 0, line: 42]

 

  Inner classes:

    [inner class info: #3 com/objectdb/o/UNM$f, outer class info: #33 com/objectdb/o/UNM

     inner name: #37 f, accessflags: 24 static final]

}

a stack overflow occurs:

Exception in thread "main" java.lang.StackOverflowError

at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:153)

at java.lang.StringCoding.decode(StringCoding.java:193)

at java.lang.String.<init>(String.java:426)

at java.lang.String.<init>(String.java:491)

at java.io.FileInputStream.open0(Native Method)

at java.io.FileInputStream.open(FileInputStream.java:195)

at java.io.FileInputStream.<init>(FileInputStream.java:138)

at java.io.FileInputStream.<init>(FileInputStream.java:93)

at com.objectdb.o.STH.A(STH.java:717)

at com.objectdb.o.CFG.g(CFG.java:353)

at com.objectdb.o.CFG.f(CFG.java:299)

at com.objectdb.o.STH.A(STH.java:725)

 

#2

Currently there is no related known issue.

The stack trace with the StackOverflowError indicates an error on an attempt to open the ObjectDB configuration file. Nothing has been read yet from the file, so the decoding error in the stack trace might be related to the file name or another file attribute - you can check the relevant lines in the Java source code of the Java version that you are using.

It is unclear why the byte code of an ObjectDB class was posted, if it contains relevant information please explain. The UNM class itself (and the stack trace in the pdf) might be related to the request to open the ObjectDB configuration file, which failed.

ObjectDB Support
#3

a big sorry, it was a security setting on the new machine. Some kind of return code would be appreciated in such a case

#4

Yes, we should improve the error message in this case. Thank you for your report.

ObjectDB Support

Reply