You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rob Godfrey (JIRA)" <ji...@apache.org> on 2015/06/18 15:57:06 UTC

[jira] [Resolved] (QPID-6535) java.lang.OutOfMemoryError: unable to create new native thread

     [ https://issues.apache.org/jira/browse/QPID-6535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Godfrey resolved QPID-6535.
-------------------------------
       Resolution: Fixed
    Fix Version/s: 6.0 [Java]

QPID-6249 will ensure that the number of threads is bound to a fixed size, and also handles the destruction of objects associated with a TCP connection more cleanly.

> java.lang.OutOfMemoryError: unable to create new native thread
> --------------------------------------------------------------
>
>                 Key: QPID-6535
>                 URL: https://issues.apache.org/jira/browse/QPID-6535
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.32
>            Reporter: Mark Soderquist
>             Fix For: 6.0 [Java]
>
>         Attachments: threaddump-qpid-stage-1431091571116.zip
>
>
> Getting an OutOfMemoryError after running for several days. Attached is a thread dump showing hundreds of orphaned IoSender threads. At any given time there are fewer than 50 clients but many of them are not "well behaved". Here is the stack trace for the error but I don't really believe the LDAP calls are really the problem:
> 2015-05-08 03:01:19,000 ERROR [IoReceiver - /10.96.250.6:59923] (server.Main) - Uncaught exception, continuing.
> java.lang.OutOfMemoryError: unable to create new native thread
>         at java.lang.Thread.start0(Native Method)
>         at java.lang.Thread.start(Thread.java:714)
>         at com.sun.jndi.ldap.Connection.<init>(Connection.java:234)
>         at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:136)
>         at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1608)
>         at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2698)
>         at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:316)
>         at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:193)
>         at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:211)
>         at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154)
>         at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84)
>         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
>         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
>         at javax.naming.InitialContext.init(InitialContext.java:242)
>         at javax.naming.InitialContext.<init>(InitialContext.java:216)
>         at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:101)
>         at org.apache.qpid.server.security.auth.manager.SimpleLDAPAuthenticationManagerImpl.createInitialDirContext(SimpleLDAPAuthenticationManagerImpl.java:347)
>         at org.apache.qpid.server.security.auth.manager.SimpleLDAPAuthenticationManagerImpl.doLDAPNameAuthentication(SimpleLDAPAuthenticationManagerImpl.java:298)
>         at org.apache.qpid.server.security.auth.manager.SimpleLDAPAuthenticationManagerImpl.access$300(SimpleLDAPAuthenticationManagerImpl.java:72)
>         at org.apache.qpid.server.security.auth.manager.SimpleLDAPAuthenticationManagerImpl$SimpleLDAPPlainCallbackHandler.handle(SimpleLDAPAuthenticationManagerImpl.java:470)
>         at org.apache.qpid.server.security.auth.sasl.plain.PlainSaslServer.evaluateResponse(PlainSaslServer.java:83)
>         at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.receiveSaslInit(ConnectionEndpoint.java:908)
>         at org.apache.qpid.amqp_1_0.type.security.SaslInit.invoke(SaslInit.java:112)
>         at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.receive(ConnectionEndpoint.java:812)
>         at org.apache.qpid.amqp_1_0.framing.SASLFrameHandler.parse(SASLFrameHandler.java:240)
>         at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL$4.run(ProtocolEngine_1_0_0_SASL.java:384)
>         at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL$4.run(ProtocolEngine_1_0_0_SASL.java:380)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:356)
>         at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.received(ProtocolEngine_1_0_0_SASL.java:379)
>         at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.received(ProtocolEngine_1_0_0_SASL.java:66)
>         at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:153)
>         at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:51)
>         at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:161)
>         at java.lang.Thread.run(Thread.java:745)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org