Pivotal Knowledge Base

Follow

GemFire "gfsh connect" fails with StackOverflowError

Environment 

Pivotal GemFire: 9.0.x

Symptom

When executing a "gfsh connect" command from the OS command line (not in interactive mode) to connect to secured servers (i.e., requires user authentication by specifying a user id and a password), it may fail with StackOverflowError like the following:

Error Message: 

Exception in thread "main" java.lang.StackOverflowError
	at java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
	at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:242)
	at java.io.File.exists(File.java:819)
	at sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:1282)
	at sun.misc.URLClassPath$FileLoader.findResource(URLClassPath.java:1249)
	at sun.misc.URLClassPath$1.next(URLClassPath.java:267)
	at sun.misc.URLClassPath$1.hasMoreElements(URLClassPath.java:277)
	at java.net.URLClassLoader$3$1.run(URLClassLoader.java:601)
	at java.net.URLClassLoader$3$1.run(URLClassLoader.java:599)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader$3.next(URLClassLoader.java:598)
	at java.net.URLClassLoader$3.hasMoreElements(URLClassLoader.java:623)
	at sun.misc.CompoundEnumeration.next(CompoundEnumeration.java:45)
	at sun.misc.CompoundEnumeration.hasMoreElements(CompoundEnumeration.java:54)
	at java.util.ServiceLoader$LazyIterator.hasNextService(ServiceLoader.java:354)
	at java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:393)
	at java.util.ServiceLoader$1.hasNext(ServiceLoader.java:474)
	at javax.management.remote.JMXConnectorFactory.getConnectorAsService(JMXConnectorFactory.java:473)
	at javax.management.remote.JMXConnectorFactory.newJMXConnector(JMXConnectorFactory.java:344)
	at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:269)
	at org.apache.geode.management.internal.cli.shell.JmxOperationInvoker.<init>(JmxOperationInvoker.java:149)
	at org.apache.geode.management.internal.cli.commands.ShellCommands.jmxConnect(ShellCommands.java:347)
	at org.apache.geode.management.internal.cli.commands.ShellCommands.jmxConnect(ShellCommands.java:372)
	at org.apache.geode.management.internal.cli.commands.ShellCommands.jmxConnect(ShellCommands.java:372)
               :
        (repeating until stack overflow happens)
               :

Cause

If you specify an invalid user id or password using "--user/--password" parameters or a security property file, you may see the above StackOverflowError even though gfsh should give a wrong user or password message. 

Resolution

Please check that you specify a valid user id and password when using the "gfsh connect" command.

Comments

Powered by Zendesk