You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Ryan Smith (Commented) (JIRA)" <ji...@apache.org> on 2011/10/06 22:21:31 UTC

[jira] [Commented] (AMQ-3290) Wire format negotiation timeout: peer did not send his wire format

    [ https://issues.apache.org/jira/browse/AMQ-3290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13122244#comment-13122244 ] 

Ryan Smith commented on AMQ-3290:
---------------------------------

"java.lang.OutOfMemoryError: unable to create new native thread" does not occur from a lack of heap. It occurs from not enough memory left when you take all of the server's RAM and subtract the heap. The system is probably 32-bit as well. I have never seen the error on 64-bit. The error indicates you have too many threads and no more can be created. This error will kill the thread that pulls new sockets off the queue and will prevent any new connections from working. You will eventually get a true heap memory error if client continue to connect as the unbounded socket queue will pile up. Either the process needs to be restarted or you may be able to restart the broker using a TransportAcceptListener that is notified by onAcceptError.
                
> Wire format negotiation timeout: peer did not send his wire format
> ------------------------------------------------------------------
>
>                 Key: AMQ-3290
>                 URL: https://issues.apache.org/jira/browse/AMQ-3290
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.3.2
>         Environment: MS Windows 7 Home Premium x64 Intel Core i5 M 460 RAM 6GB
>            Reporter: Maxim Novikov
>            Priority: Critical
>              Labels: connection, did, failed, format, negotiation, not, peer, send, timeout, wire
>         Attachments: hs_err_pid24632.log
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> I have two client application written on Java. Each of them has consumers to ActiveMQ (maven dependancy 'activemq-core' version 5.3.2).
> Also there are three applications written on C# (two windows services and one ASP.NET application) which use Apache.NMS 1.5 to connect to ActiveMQ server.
> During some time everything's fine (e.g. today this period has been about 4 hours). But since some moment .NET started throw the following exception:
> Wire format negotiation timeout: peer did not send his wire format.
> Apache.NMS.ActiveMQ.IOException: Wire format negotiation timeout: peer did not send his wire format.
>    at Apache.NMS.ActiveMQ.Connection.SyncRequest(Command command) in c:\dev\NMS.ActiveMQ\src\main\csharp\Connection.cs:line 628
>    at Apache.NMS.ActiveMQ.Connection.CheckConnected() in c:\dev\NMS.ActiveMQ\src\main\csharp\Connection.cs:line 712
>    at Apache.NMS.ActiveMQ.Connection.CreateAtiveMQSession(AcknowledgementMode ackMode) in c:\dev\NMS.ActiveMQ\src\main\csharp\Connection.cs:line 467
>    at Apache.NMS.ActiveMQ.Connection.CreateSession() in c:\dev\NMS.ActiveMQ\src\main\csharp\Connection.cs:line 454
> Actually Java consumers also don't work though there are no errors in their part. But I can see via ActiveMQ web console that no one Query has consumers (for each Query column 'Number Of Consumers' value equals 0).
> So actually nothing works (not Java, not C#) since some moment. I can see the error in .NET but can't see in Java.
> Also this problem appears after restarting operation system. Not always but it happens occasionally.
> PS For Java application I use org.apache.activemq.ActiveMQConnectionFactory and Mule ESB jms:activemq-connector. And this part doesn't show error when it happens.
> For C# applications I use Apache.NMS.ActiveMQ.ConnectionFactory and every time when I think we can face to problem I'm trying to get new connection with the following code lines:
> if ((connection == null) || !connection.IsStarted)
> {
> 	connection = factory.CreateConnection();
> 	ISession session = connection.CreateSession();
> 	IDestination dest = session.GetDestination(Queue);
> 	producer = session.CreateProducer(dest);
> }
> but unfortunately it doesn't help.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira