[ https://issues.apache.org/jira/browse/GEODE-2488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15898224#comment-15898224 ]
ASF subversion and git services commented on GEODE-2488: -------------------------------------------------------- Commit eb59268bc5308c5de7339e0dbca8d107d879ac76 in geode's branch refs/heads/develop from [~khowe] [ https://git-wip-us.apache.org/repos/asf?p=geode.git;h=eb59268 ] GEODE-2488: Remove test from flaky category Removed FlakyTest category. Made note of this JIRA in the @Ignore annoations. This annotation can be removed when the underlying problem (accumulating large repsonse data on remote casuing OOME) is fixed. > Netstat command fails with OutOfMemoryError > ------------------------------------------- > > Key: GEODE-2488 > URL: https://issues.apache.org/jira/browse/GEODE-2488 > Project: Geode > Issue Type: Bug > Components: gfsh, management > Reporter: Kirk Lund > Assignee: Kenneth Howe > Labels: MiscellaneousCommands, NetstatCommand, netstat > > Note: this can occur outside of dunit tests as well. Just using the gfsh > netstat command on locator or server with too little heap space will hit > this. See the 1st comment about not streaming the netstat output -- the > entire output is held in memory in a string and two byte arrays before > sending the result back from NetstatFunction. > The JUnit controller JVM for NetstatDUnitTest fails with something like the > follow stack. The cause appears to be one of the DUnit VMs running out of > memory (see the OOME stack down further in this description. > {noformat} > org.junit.ComparisonFailure: [{"errorCode":505,"message":["Could not process > command due to GemFire error. Error occurred while executing netstat on > [server-1]"]}] expected:<[OK]> but was:<[ERROR]> > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at > org.apache.geode.test.dunit.rules.GfshShellConnectionRule.executeAndVerifyCommand(GfshShellConnectionRule.java:163) > at > org.apache.geode.management.internal.cli.NetstatDUnitTest.testConnectToJmxManagerOne(NetstatDUnitTest.java:81) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) > at > org.apache.geode.test.junit.rules.DescribedExternalResource$1.evaluate(DescribedExternalResource.java:37) > at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48) > at org.junit.rules.RunRules.evaluate(RunRules.java:20) > at org.junit.runners.ParentRunner.run(ParentRunner.java:363) > at > org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:114) > at > org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:57) > at > org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:66) > at > org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51) > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) > at > org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) > at > org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) > at com.sun.proxy.$Proxy2.processTestClass(Unknown Source) > at > org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:109) > at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) > at > org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:377) > at > org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54) > at > org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > {noformat} > The JVM that runs out of memory ends up logging multiple OutOfMemoryError > stacks: > {noformat} > [vm1] 25.584: [GC (System.gc()) [PSYoungGen: 7724K->591K(161792K)] > 242411K->235286K(511488K), 0.0047912 secs] [Times: user=0.02 sys=0.00, > real=0.01 secs] > [vm1] 25.589: [Full GC (System.gc()) [PSYoungGen: 591K->0K(161792K)] > [ParOldGen: 234695K->9294K(349696K)] 235286K->9294K(511488K), [Metaspace: > 34478K->34478K(1081344K)], 0.0891637 secs] [Times: user=0.72 sys=0.01, > real=0.09 secs] > [vm1] [error 2017/02/14 09:36:13.738 UTC <Cache Server Acceptor > 0.0.0.0/0.0.0.0:36823 local port: 36823> tid=0x46] Cache server: Unexpected > IOException from accept > [vm1] [fatal 2017/02/14 09:36:13.739 UTC <unused p2p reader> tid=0x4f] > Uncaught exception in thread Thread[unused p2p reader,10,P2P Reader Threads] > [vm1] java.lang.OutOfMemoryError: Java heap space > [vm1] at java.util.Arrays.copyOfRange(Arrays.java:3664) > [vm1] at java.lang.String.<init>(String.java:207) > [vm1] at java.lang.StringBuilder.toString(StringBuilder.java:407) > [vm1] at > org.apache.geode.management.internal.cli.functions.NetstatFunction.executeCommand(NetstatFunction.java:193) > [vm1] at > org.apache.geode.management.internal.cli.functions.NetstatFunction.execute(NetstatFunction.java:70) > [vm1] at > org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:191) > [vm1] at > org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376) > [vm1] at > org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:442) > [vm1] at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > [vm1] at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [vm1] at > org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:621) > [vm1] at > org.apache.geode.distributed.internal.DistributionManager$9$1.run(DistributionManager.java:1067) > [vm1] at java.lang.Thread.run(Thread.java:745) > [vm1] [fatal 2017/02/14 09:36:13.738 UTC <Function Execution Processor1> > tid=0x48] Uncaught exception in thread Thread[Function Execution > Processor1,10,DistributionManager Threads] > [vm1] java.lang.OutOfMemoryError: Java heap space > [vm1] at java.util.Arrays.copyOfRange(Arrays.java:3664) > [vm1] at java.lang.String.<init>(String.java:207) > [vm1] at java.lang.StringBuilder.toString(StringBuilder.java:407) > [vm1] at > org.apache.geode.management.internal.cli.functions.NetstatFunction.executeCommand(NetstatFunction.java:193) > [vm1] at > org.apache.geode.management.internal.cli.functions.NetstatFunction.execute(NetstatFunction.java:70) > [vm1] at > org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:191) > [vm1] at > org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376) > [vm1] at > org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:442) > [vm1] at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > [vm1] at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [vm1] at > org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:621) > [vm1] at > org.apache.geode.distributed.internal.DistributionManager$9$1.run(DistributionManager.java:1067) > [vm1] at java.lang.Thread.run(Thread.java:745) > [vm1] [fatal 2017/02/14 09:36:13.740 UTC <Cache Server Acceptor > 0.0.0.0/0.0.0.0:36823 local port: 36823> tid=0x46] Uncaught exception in > thread Thread[Cache Server Acceptor 0.0.0.0/0.0.0.0:36823 local port: > 36823,5,Acceptor 0.0.0.0/0.0.0.0:36823] > [vm1] java.lang.OutOfMemoryError: Java heap space > [vm1] at java.util.Arrays.copyOfRange(Arrays.java:3664) > [vm1] at java.lang.String.<init>(String.java:207) > [vm1] at java.lang.StringBuilder.toString(StringBuilder.java:407) > [vm1] at > org.apache.geode.management.internal.cli.functions.NetstatFunction.executeCommand(NetstatFunction.java:193) > [vm1] at > org.apache.geode.management.internal.cli.functions.NetstatFunction.execute(NetstatFunction.java:70) > [vm1] at > org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:191) > [vm1] at > org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376) > [vm1] at > org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:442) > [vm1] at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > [vm1] at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [vm1] at > org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:621) > [vm1] at > org.apache.geode.distributed.internal.DistributionManager$9$1.run(DistributionManager.java:1067) > [vm1] at java.lang.Thread.run(Thread.java:745) > [vm1] [fatal 2017/02/14 09:36:13.744 UTC <unused p2p reader> tid=0x47] > Uncaught exception in thread Thread[unused p2p reader,10,P2P Reader Threads] > [vm1] java.lang.OutOfMemoryError: Java heap space > [vm1] at java.util.Arrays.copyOfRange(Arrays.java:3664) > [vm1] at java.lang.String.<init>(String.java:207) > [vm1] at java.lang.StringBuilder.toString(StringBuilder.java:407) > [vm1] at > org.apache.geode.management.internal.cli.functions.NetstatFunction.executeCommand(NetstatFunction.java:193) > [vm1] at > org.apache.geode.management.internal.cli.functions.NetstatFunction.execute(NetstatFunction.java:70) > [vm1] at > org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:191) > [vm1] at > org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376) > [vm1] at > org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:442) > [vm1] at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > [vm1] at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [vm1] at > org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:621) > [vm1] at > org.apache.geode.distributed.internal.DistributionManager$9$1.run(DistributionManager.java:1067) > [vm1] at java.lang.Thread.run(Thread.java:745) > [vm1] [fatal 2017/02/14 09:36:13.748 UTC <unused p2p reader> tid=0x54] > Uncaught exception in thread Thread[unused p2p reader,10,P2P Reader Threads] > [vm1] java.lang.OutOfMemoryError: Java heap space > [vm1] at java.util.Arrays.copyOfRange(Arrays.java:3664) > [vm1] at java.lang.String.<init>(String.java:207) > [vm1] at java.lang.StringBuilder.toString(StringBuilder.java:407) > [vm1] at > org.apache.geode.management.internal.cli.functions.NetstatFunction.executeCommand(NetstatFunction.java:193) > [vm1] at > org.apache.geode.management.internal.cli.functions.NetstatFunction.execute(NetstatFunction.java:70) > [vm1] at > org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:191) > [vm1] at > org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376) > [vm1] at > org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:442) > [vm1] at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > [vm1] at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [vm1] at > org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:621) > [vm1] at > org.apache.geode.distributed.internal.DistributionManager$9$1.run(DistributionManager.java:1067) > [vm1] at java.lang.Thread.run(Thread.java:745) > [vm1] [fatal 2017/02/14 09:36:14.602 UTC <ClientHealthMonitor Thread> > tid=0x45] Uncaught exception in thread Thread[ClientHealthMonitor > Thread,5,ClientHealthMonitor Thread Group] > [vm1] java.lang.OutOfMemoryError: Java heap space > [vm1] at java.util.Arrays.copyOfRange(Arrays.java:3664) > [vm1] at java.lang.String.<init>(String.java:207) > [vm1] at java.lang.StringBuilder.toString(StringBuilder.java:407) > [vm1] at > org.apache.geode.management.internal.cli.functions.NetstatFunction.executeCommand(NetstatFunction.java:193) > [vm1] at > org.apache.geode.management.internal.cli.functions.NetstatFunction.execute(NetstatFunction.java:70) > [vm1] at > org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:191) > [vm1] at > org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376) > [vm1] at > org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:442) > [vm1] at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > [vm1] at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [vm1] at > org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:621) > [vm1] at > org.apache.geode.distributed.internal.DistributionManager$9$1.run(DistributionManager.java:1067) > [vm1] at java.lang.Thread.run(Thread.java:745) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.15#6346)