You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Brian Geffon (Commented) (JIRA)" <ji...@apache.org> on 2011/12/01 03:33:39 UTC

[jira] [Commented] (TS-1035) EventProcessor::spawn_thread doesn't check that there is enough event threads and segfaults

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

Brian Geffon commented on TS-1035:
----------------------------------

I've submitted a new patch LargeNumberOfPorts.patch which contains the changes I had to make to have ATS support a large number of ports (the currently limit is 48 and I've raised it to 1536). The number chosen for several variables are fairly arbitrary. The primary issue I ran into was that LocalManager could not build a large enough attribute list to pass the full -A file descriptor list (I set this at 100kb), but as Igor mentioned it might be wise to use getconf(). Secondly, I had to modify Main.cc to allow the -A file descriptor list to be large enough (it was previously set at 1kb) again I upped this to 100kb.
                
> EventProcessor::spawn_thread doesn't check that there is enough event threads and segfaults
> -------------------------------------------------------------------------------------------
>
>                 Key: TS-1035
>                 URL: https://issues.apache.org/jira/browse/TS-1035
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 3.0.1
>            Reporter: Brian Geffon
>         Attachments: LargeNumberOfPorts.patch, UnixEventProcessor.patch
>
>
> The easiest way to see this bug is to use several hundred ports with accept threads turned on. The bug exists because in I_EventProcessor.h there is a hard coded limit of 512 event threads and there is no check in spawn_thread that you haven't exceeded that limit so it will result in a segfault if you're creating too many threads. From what I can tell the best solution is an assertion that you haven't exceeded MAX_EVENT_THREADS.
> Patch is included.

--
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