Bug 2016 - CosEvent_Service crashes if consumer does not return from push
Summary: CosEvent_Service crashes if consumer does not return from push
Status: NEW
Alias: None
Product: TAO
Classification: Unclassified
Component: CosEvent Service (show other bugs)
Version: 1.4
Hardware: x86 Windows 2000
: P3 critical
Assignee: DOC Center Support List (internal)
URL:
Depends on:
Blocks:
 
Reported: 2004-12-23 22:04 CST by Shawn Foo
Modified: 2005-03-20 17:18 CST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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