Bug 2016

Summary: CosEvent_Service crashes if consumer does not return from push
Product: TAO Reporter: Shawn Foo <shawn.foo>
Component: CosEvent ServiceAssignee: DOC Center Support List (internal) <tao-support>
Status: NEW ---    
Severity: critical    
Priority: P3    
Version: 1.4   
Hardware: x86   
OS: Windows 2000   

Description Shawn Foo 2004-12-23 22:04:20 CST
The CosEvent_Service crashes if an event consumer does not return from it's 
push method (e.g. if it 'hangs' while trying to perform some task or if the 
CosEvent_Service service times out before the task is complete). There is no 
problem if the consumer actually crashes/exits completely.. 

My CEC_Factory is configured with the following:
static CEC_Factory "-CECDispatching mt -CECDispatchingThreads 3 -
CECConsumerControl reactive -CECConsumerControlPeriod 1000 -
CECConsumerControlTimeout 1000"

Reproduce:
The easiest way to reproduce it would be to put an infinite loop in a push 
method. I discovered it when writing a console app under windows. In windows 
2000, if the mouse is clicked on the console (to cut some text) then the 
console app is paused. This has the same effect (since the app can't return 
from the push method).

The CosEvent_Service gets a StackOverflow and then throws an exception.
Comment 1 Shawn Foo 2004-12-23 22:13:42 CST
Sometimes, it gets an access violation in ace\OS_NS_stdio.cpp line 160.
It looks like it's trying to print the following log message to stderr:
"TAO (%P|%t) - Leader_Follower[%d]::wait_for_event, handle_events failed"

but it crashes instead!
Comment 2 pradeep 2005-03-20 17:18:48 CST
Assigning to tao-support