Project: springxd
Issue XD-1452: http module leaks threads
Attempts to create/use/undeploy a stream involving the http module will result in an OOME stating that VM could not create native thread. Other modules should be checked as well. {noformat} java.lang.Thread.run(Thread.java:724) Caused by: org.springframework.context.ApplicationContextException: Failed to start bean 'org.springframework.integration.x.http.NettyHttpInboundChannelAdapter#0'; nested exception is java.lang.OutOfMemoryError: unable to create new native thread org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:176) org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:51) org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:346) org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:149) org.springframework.context.support.DefaultLifecycleProcessor.start(DefaultLifecycleProcessor.java:91) org.springframework.context.support.AbstractApplicationContext.start(AbstractApplicationContext.java:1180) org.springframework.xd.module.core.SimpleModule.start(SimpleModule.java:273) org.springframework.xd.dirt.module.ModuleDeployer.deploy(ModuleDeployer.java:251) org.springframework.xd.dirt.module.ModuleDeployer.deployAndStore(ModuleDeployer.java:239) org.springframework.xd.dirt.module.ModuleDeployer.handleDeploy(ModuleDeployer.java:179) org.springframework.xd.dirt.module.ModuleDeployer.handleMessageInternal(ModuleDeployer.java:150) org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78)	... 80 more Caused by: java.lang.OutOfMemoryError: unable to create new native thread java.lang.Thread.$$YJP$$start0(Native Method) java.lang.Thread.start0(Thread.java) java.lang.Thread.start(Thread.java:693) java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:949) java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1371) org.jboss.netty.util.internal.DeadLockProofWorker.start(DeadLockProofWorker.java:38) org.jboss.netty.channel.socket.nio.AbstractNioSelector.openSelector(AbstractNioSelector.java:343) org.jboss.netty.channel.socket.nio.AbstractNioSelector.(AbstractNioSelector.java:95) org.jboss.netty.channel.socket.nio.AbstractNioWorker.(AbstractNioWorker.java:53) org.jboss.netty.channel.socket.nio.NioWorker.(NioWorker.java:45) org.jboss.netty.channel.socket.nio.NioWorkerPool.createWorker(NioWorkerPool.java:45) org.jboss.netty.channel.socket.nio.NioWorkerPool.createWorker(NioWorkerPool.java:28) org.jboss.netty.channel.socket.nio.AbstractNioWorkerPool.newWorker(AbstractNioWorkerPool.java:99) org.jboss.netty.channel.socket.nio.AbstractNioWorkerPool.init(AbstractNioWorkerPool.java:69) org.jboss.netty.channel.socket.nio.NioWorkerPool.(NioWorkerPool.java:39) org.jboss.netty.channel.socket.nio.NioWorkerPool.(NioWorkerPool.java:33) org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory.(NioServerSocketChannelFactory.java:149) org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory.(NioServerSocketChannelFactory.java:131) org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory.(NioServerSocketChannelFactory.java:115) org.springframework.integration.x.http.NettyHttpInboundChannelAdapter.doStart(NettyHttpInboundChannelAdapter.java:114) org.springframework.integration.endpoint.AbstractEndpoint.start(AbstractEndpoint.java:84) org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:173)	... 91 more {noformat}
Story points: 5