Arcan-Tech / arcan-issues-public

Public repository for issues with Arcan-2
2 stars 1 forks source link

java.lang.StackOverflowError when analyzing a project #2

Closed mkjsix closed 1 year ago

mkjsix commented 2 years ago

Describe the bug

I'm using the Arcan-2.6.0-RELEASE dashboard

When analyzing the project https://github.com/SoftInstigate/restheart I see the following stacktrace in the shell

    at com.fasterxml.jackson.databind.ser.std.ObjectArraySerializer.serializeContents(ObjectArraySerializer.java:253) ~[jackson-databind-2.13.1.jar!/:2.13.1]
    at com.fasterxml.jackson.databind.ser.std.ObjectArraySerializer.serialize(ObjectArraySerializer.java:214) ~[jackson-databind-2.13.1.jar!/:2.13.1]
Caused by: java.lang.StackOverflowError
    at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:1012) ~[?:?]
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:524) ~[?:?]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:427) ~[?:?]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:421) ~[?:?]
    at java.security.AccessController.doPrivileged(AccessController.java:712) ~[?:?]
    at java.net.URLClassLoader.findClass(URLClassLoader.java:420) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:587) ~[?:?]
    at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151) ~[Arcan2-server-2.6.0-RELEASE.jar:2.6.0-RELEASE]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
    at com.fasterxml.jackson.databind.JsonMappingException.prependPath(JsonMappingException.java:445) ~[jackson-databind-2.13.1.jar!/:2.13.1]
    at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:792) ~[jackson-databind-2.13.1.jar!/:2.13.1]
    at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) ~[jackson-databind-2.13.1.jar!/:2.13.1]
    at com.fasterxml.jackson.databind.ser.std.ObjectArraySerializer.serializeContents(ObjectArraySerializer.java:253) ~[jackson-databind-2.13.1.jar!/:2.13.1]

To Reproduce Steps to reproduce the behavior:

  1. Run ./arcan-dashboard.sh2.
  2. Add new project https://github.com/SoftInstigate/restheart
  3. Go to http://localhost:8080/analyze
  4. Select the project and click ANALYZE
  5. See the mentioned error in the shell

Expected behavior

Project analyzed correctly

Desktop (please complete the following information):

Screenshot:

Schermata 2022-07-22 alle 10 22 27
openjdk 17.0.3 2022-04-19
OpenJDK Runtime Environment Temurin-17.0.3+7 (build 17.0.3+7)
OpenJDK 64-Bit Server VM Temurin-17.0.3+7 (build 17.0.3+7, mixed mode, sharing)
mkjsix commented 2 years ago

Messages during startup:

➜  Arcan-2.6.0-RELEASE-dashboard ./arcan-dashboard.sh
Opening http://localhost:8080 in browser...
10:22:42 [main] INFO  c.a.ArcanWebServer - Arcan licence: 70 days remaining.
10:22:42 [main] INFO  c.a.ArcanWebServer - Arcan data directory: /Users/mturatti/src/softinstigate/Arcan-2.6.0-RELEASE-dashboard/arcan-files
     _
    / \   _ __ ___ __ _ _ __
   / _ \ | '__/ __/ _` | '_ \
  / ___ \| | | (_| (_| | | | |
 /_/   \_\_|  \___\__,_|_| |_|

10:22:42 [main] INFO  c.a.ArcanWebServer - Starting ArcanWebServer v2.6.0-RELEASE using Java 17.0.3 on MacBook-Pro-di-Maurizio.local with PID 2127 (/Users/mturatti/src/softinstigate/Arcan-2.6.0-RELEASE-dashboard/Arcan2-server-2.6.0-RELEASE.jar started by mturatti in /Users/mturatti/src/softinstigate/Arcan-2.6.0-RELEASE-dashboard)
10:22:42 [main] INFO  c.a.ArcanWebServer - No active profile set, falling back to default profiles: default
10:22:45 [main] INFO  o.s.b.w.e.t.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
lug 22, 2022 10:22:45 AM org.apache.coyote.AbstractProtocol init
INFORMAZIONI: Initializing ProtocolHandler ["http-nio-8080"]
lug 22, 2022 10:22:45 AM org.apache.catalina.core.StandardService startInternal
INFORMAZIONI: Starting service [Tomcat]
lug 22, 2022 10:22:45 AM org.apache.catalina.core.StandardEngine startInternal
INFORMAZIONI: Starting Servlet engine: [Apache Tomcat/9.0.56]
lug 22, 2022 10:22:45 AM org.apache.catalina.core.ApplicationContext log
INFORMAZIONI: Initializing Spring embedded WebApplicationContext
10:22:45 [main] INFO  o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 2318 ms
Can't find browser. Visit http://localhost:8080 to open the Arcan Dashboard.
10:22:46 [main] WARN  c.c.g.t.SchemaClassScanner - Schema type was defined but can never be accessed, and can be safely deleted: CodeSnippet
10:22:47 [main] INFO  o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [public/index.html]
lug 22, 2022 10:22:47 AM org.apache.coyote.AbstractProtocol start
INFORMAZIONI: Starting ProtocolHandler ["http-nio-8080"]
10:22:47 [main] INFO  o.s.b.w.e.t.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
10:22:47 [main] INFO  c.a.ArcanWebServer - Started ArcanWebServer in 5.547 seconds (JVM running for 7.435)
darius-sas commented 2 years ago

Hi @mkjsix, thanks for opening an issue about your problem. I wasn't able to replicate the bug on my local machine, but given the type of error I can only assume that the JVM on MacOS starts with less stack size than on my Linux machine. Here's what you need to do:

  1. Open the file arcan-server.sh that you can find in Arcan-2.6.0-RELEASE-dashboard

  2. Replace the line that defines the JVM_ARGS variable with

    JVM_ARGS="-Xss4M -Xmx${JVM_MEM} --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED --add-opens java.base/sun.reflect.annotation=ALL-UNNAMED"

    Note that the difference between the existing line and the new one is the -Xss4M at the beginning.

  3. Save the file and re-run Arcan.

Let me know if this works for you. If it doesn't, could you please send me the full stack-trace of the error? This would help me pinpoint the bug better.

mkjsix commented 2 years ago

Hi @darius-sas and thank you.

Increasing the stack size to even -Xss 512m doesn't work, it only takes more time to get to the final StackOverflowError.

However, I could capture more logs, as the shell row limits truncated the previous output. Here it's the file:

log.txt

Looking at the exceptions below and at the full stack trace, there's a missing native library:

Caused by: java.lang.UnsatisfiedLinkError: 'long com.microsoft.ml.lightgbm.lightgbmlibJNI.new_voidpp()'

17:26:00 [http-nio-8080-exec-5] INFO  c.a.w.g.Mutation - Running `analyseProject(AnalysisOptions)` mutation.
Loading native lib osx/x86_64/lib_lightgbm.dylib
/var/folders/sc/9wxw5ldx31ndwphbs3f70m1w0000gn/T/lib_lightgbm.dylib already exists
Extracted file: exists=true path=/var/folders/sc/9wxw5ldx31ndwphbs3f70m1w0000gn/T/lib_lightgbm.dylib
Cannot load library: java.lang.UnsatisfiedLinkError: Can't load library: /var/folders/sc/9wxw5ldx31ndwphbs3f70m1w0000gn/T/lib_lightgbm.dylib cause: Can't load library: /var/folders/sc/9wxw5ldx31ndwphbs3f70m1w0000gn/T/lib_lightgbm.dylib
Loading native lib osx/x86_64/lib_lightgbm_swig.dylib
/var/folders/sc/9wxw5ldx31ndwphbs3f70m1w0000gn/T/lib_lightgbm_swig.dylib already exists
Extracted file: exists=true path=/var/folders/sc/9wxw5ldx31ndwphbs3f70m1w0000gn/T/lib_lightgbm_swig.dylib
Cannot load library: java.lang.UnsatisfiedLinkError: Can't load library: /var/folders/sc/9wxw5ldx31ndwphbs3f70m1w0000gn/T/lib_lightgbm_swig.dylib cause: Can't load library: /var/folders/sc/9wxw5ldx31ndwphbs3f70m1w0000gn/T/lib_lightgbm_swig.dylib
17:26:00 [http-nio-8080-exec-5] WARN  g.e.SimpleDataFetcherExceptionHandler - Exception while fetching data (/analyseProject) : Unable to provision, see the following errors:

1) [Guice/ErrorInjectingConstructor]: UnsatisfiedLinkError: 'long com.microsoft.ml.lightgbm.lightgbmlibJNI.new_voidpp()'
  at ATDIndex.<init>(ATDIndex.java:26)
  while locating ATDIndex
  while locating ATDIndex annotated with @Element(setName=@Named("indexCalculatorsSet"),uniqueId=31, type=MULTIBINDER, keyType=)
  at AnalysisModule.provideIndexCalculators(AnalysisModule.java:128)
      \_ for 1st parameter indexCalculators
  at AnalysisModule.provideIndexCalculators(AnalysisModule.java:128)
  at ProcessorsModule.provideAnalysisProcessors(ProcessorsModule.java:44)
      \_ for 4th parameter indexCalculators
  at ProcessorsModule.provideAnalysisProcessors(ProcessorsModule.java:44)
  at InjectableAnalysisFactory.<init>(InjectableAnalysisFactory.java:39)
      \_ for 5th parameter processors
  while locating InjectableAnalysisFactory

Learn more:
  https://github.com/google/guice/wiki/ERROR_INJECTING_CONSTRUCTOR

1 error

======================
Full classname legend:
======================
ATDIndex:                  "com.arcan.processors.atdengine.ATDIndex"
AnalysisModule:            "com.arcan.inject.AnalysisModule"
Element:                   "com.google.inject.internal.Element"
InjectableAnalysisFactory: "com.arcan.analysis.InjectableAnalysisFactory"
Named:                     "com.google.inject.name.Named"
ProcessorsModule:          "com.arcan.inject.ProcessorsModule"
========================
End of classname legend:
========================

com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) [Guice/ErrorInjectingConstructor]: UnsatisfiedLinkError: 'long com.microsoft.ml.lightgbm.lightgbmlibJNI.new_voidpp()'
  at ATDIndex.<init>(ATDIndex.java:26)
  while locating ATDIndex
  while locating ATDIndex annotated with @Element(setName=@Named("indexCalculatorsSet"),uniqueId=31, type=MULTIBINDER, keyType=)
  at AnalysisModule.provideIndexCalculators(AnalysisModule.java:128)
      \_ for 1st parameter indexCalculators
  at AnalysisModule.provideIndexCalculators(AnalysisModule.java:128)
  at ProcessorsModule.provideAnalysisProcessors(ProcessorsModule.java:44)
      \_ for 4th parameter indexCalculators
  at ProcessorsModule.provideAnalysisProcessors(ProcessorsModule.java:44)
  at InjectableAnalysisFactory.<init>(InjectableAnalysisFactory.java:39)
      \_ for 5th parameter processors
  while locating InjectableAnalysisFactory

Learn more:
  https://github.com/google/guice/wiki/ERROR_INJECTING_CONSTRUCTOR

1 error

======================
Full classname legend:
======================
ATDIndex:                  "com.arcan.processors.atdengine.ATDIndex"
AnalysisModule:            "com.arcan.inject.AnalysisModule"
Element:                   "com.google.inject.internal.Element"
InjectableAnalysisFactory: "com.arcan.analysis.InjectableAnalysisFactory"
Named:                     "com.google.inject.name.Named"
ProcessorsModule:          "com.arcan.inject.ProcessorsModule"
========================
End of classname legend:
========================

    at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:251) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1104) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1139) ~[guice-5.1.0.jar!/:?]
    at com.arcan.analysis.Arcan.analyse(Arcan.java:49) ~[Arcan2-core-2.6.0-RELEASE.jar!/:2.6.0-RELEASE]
    at com.arcan.analysis.Arcan$$FastClassBySpringCGLIB$$ba41da69.invoke(<generated>) ~[Arcan2-core-2.6.0-RELEASE.jar!/:2.6.0-RELEASE]
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.14.jar!/:5.3.14]
       ....

Then

Caused by: java.lang.UnsatisfiedLinkError: 'long com.microsoft.ml.lightgbm.lightgbmlibJNI.new_voidpp()'
    at com.microsoft.ml.lightgbm.lightgbmlibJNI.new_voidpp(Native Method) ~[lightgbm4j-3.3.1-3.jar!/:?]
    at com.microsoft.ml.lightgbm.lightgbmlib.new_voidpp(lightgbmlib.java:622) ~[lightgbm4j-3.3.1-3.jar!/:?]
    at io.github.metarank.lightgbm4j.LGBMBooster.loadModelFromString(LGBMBooster.java:135) ~[lightgbm4j-3.3.1-3.jar!/:?]
    at com.arcan.processors.atdengine.LGBMWrapper.<init>(LGBMWrapper.java:40) ~[Arcan2-core-2.6.0-RELEASE.jar!/:2.6.0-RELEASE]
    at com.arcan.processors.atdengine.LGBMWrapper.fromResources(LGBMWrapper.java:58) ~[Arcan2-core-2.6.0-RELEASE.jar!/:2.6.0-RELEASE]
    at com.arcan.processors.atdengine.SmellSeverity.<init>(SmellSeverity.java:23) ~[Arcan2-core-2.6.0-RELEASE.jar!/:2.6.0-RELEASE]
    at com.arcan.processors.atdengine.ATDIndex.<init>(ATDIndex.java:26) ~[Arcan2-core-2.6.0-RELEASE.jar!/:2.6.0-RELEASE]
    at com.arcan.processors.atdengine.ATDIndex$$FastClassByGuice$$44756523.GUICE$TRAMPOLINE(<generated>) ~[?:2.6.0-RELEASE]
    at com.arcan.processors.atdengine.ATDIndex$$FastClassByGuice$$44756523.apply(<generated>) ~[?:2.6.0-RELEASE]
    at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:82) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.RealMultibinder$RealMultibinderProvider.doProvision(RealMultibinder.java:253) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.RealMultibinder$ExtensionRealMultibinderProvider.doProvision(RealMultibinder.java:307) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.RealMultibinder$ExtensionRealMultibinderProvider.doProvision(RealMultibinder.java:289) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.InternalProviderInstanceBindingImpl$Factory.get(InternalProviderInstanceBindingImpl.java:113) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.ProviderMethod.doProvision(ProviderMethod.java:171) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.provision(InternalProviderInstanceBindingImpl.java:185) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.get(InternalProviderInstanceBindingImpl.java:162) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.ProviderMethod.doProvision(ProviderMethod.java:171) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.provision(InternalProviderInstanceBindingImpl.java:185) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.get(InternalProviderInstanceBindingImpl.java:162) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300) ~[guice-5.1.0.jar!/:?]
    at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1101) ~[guice-5.1.0.jar!/:?]
    ... 79 more
17:26:24 [http-nio-8080-exec-5] INFO  g.s.AbstractGraphQLHttpServlet - Bad POST request: parsing failed
java.lang.RuntimeException: com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"]->java.lang.reflect.Parameter[0]->java.lang.reflect.Parameter["declaringExecutable"]->java.lang.reflect.Constructor["parameters"])
    at graphql.servlet.GraphQLObjectMapper.serializeResultAsJson(GraphQLObjectMapper.java:104) ~[graphql-java-servlet-6.1.2.jar!/:?]
mkjsix commented 2 years ago

I fixed the problem by following the instructions here

I installed the libomp library with brew install libomp

It seems Arcan uses some native library binding that doesn't work by default on MacOS, maybe you want to update the setup instructions or check some of the included Maven dependencies for alternatives.

darius-sas commented 2 years ago

Perfect! I was just about to redirect you to that page :)