qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Ross (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DISPATCH-46) dispatch crash when proton gets bad socket
Date Thu, 22 May 2014 21:32:01 GMT

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

Ted Ross commented on DISPATCH-46:
----------------------------------

This is more complicated than it first appears.  It would seem that simply checking for the
null connector out of listen would be sufficient.  This does fix the crash but it also causes
the main loop to run at full-cpu.  First analysis suggests that the listening socket becomes
always readable once the FD limit is reached and thread_process_listeners is then repeatedly
called with nothing to do.


> dispatch crash when proton gets bad socket
> ------------------------------------------
>
>                 Key: DISPATCH-46
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-46
>             Project: Qpid Dispatch
>          Issue Type: Bug
>    Affects Versions: 0.2
>            Reporter: michael goulish
>
> When I attempted to connect a lot of clients to a router, I exceeded my process limit.
 Then this happens:
>   1. proton gets an invalid socket, and returns a 0 from pn_listener_accept
>   2. dispatch function thread_process_listeners takes the null and starts using it.
>   3. Some proton calls return silently after having gotten a null input.
>   4. dispatch passes the null to pn_transport_set_max_frame, which dereferences it.
>   5. router blows core.  testing engineer panics.  hilarity ensues.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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


Mime
View raw message