| Summary | This article explains an issue with Server threads getting stuck in IT_ATLI2_IP::TCPConnectionImpl::get_send_buffer() |
|---|---|
| Environment |
Orbix 6.3 |
| Question/Problem Description |
Why does a stack trace show a number of threads in "IT_ATLI2_IP::TCPConnectionImpl::get_send_buffer()" ? |
| Clarifying Information |
|
| Error Message |
void IT_Condition::wait(IT_Locker<IT_Mutex>&,IT_ExceptionHandler&)IT_Buffer::Buffer*IT_ATLI2_IP::TCPConnectionImpl::get_send_buffer(unsigned long,const TimeBase::UtcT&)IT_Buffer::Buffer*IT_ATLI2_IOP::ConnectionHandlerImpl::get_message_buffer(bool,const TimeBase::UtcT&) |
| Defect/Enhancement Number | |
| Cause |
When a large amount of data is sent from server to the client then a very slow client reading the server response causes the server thread to get stuck and generates a pstack as shown below. |
| Resolution |
Orbix thread pools are unlimited by default and if all threads are stuck waiting for the client to read in their response then a new thread will be created. The initial number of threads is defined by thread_pool:initial_threads and the maximum number of threads are controlled by thread_pool:high_water_mark. Please refer to the article below for more information on ""How to configure thread pool setting in Orbix 6.3" |
| Workaround | |
| Notes |
Related Documentation:
For further details on multi-threading in Orbix please consult the Orbix "Configuration Reference" and the Orbix "CORBA Programmer's Guide" available below by selecting the "CORBA Middleware" product family: http://supportline.microfocus.com/productdoc.aspx
Related KB Article(s):
http://community.microfocus.com/microfocus/corba/orbix/w/knowledge_base/22974.how-to-configure-thread-pool-settings-in-orbix-6-3.aspx
|
| Attachment |
#Orbix
#KnowledgeDocs