[bugs:#792] Calls to asynchronous methods not thread-safe when several CORBA system exceptions are thrown at the same time
Status: open
Created: Thu Apr 14, 2016 05:02 PM UTC by Bourtembourg Reynald
Last Updated: Thu Apr 14, 2016 05:02 PM UTC
Owner: Bourtembourg Reynald
Hi,
A thread-safety issue has been identified on the asynchronous calls API.
In a multithreaded environment, if several threads are doing asynchronous calls in parallel and some CORBA system exceptions need to be rethrown at the same time, they share the same static variable for a short period of time for the description of the system exception. And this is not protected by a lock.
The problem is due to the fact that Tango::Except::print_CORBA_SystemException is returning a pointer to a static variable.
This could lead to a segmentation fault.
A reentrant version of Tango::Except::print_CORBA_SystemException() could be implemented to fix the problem.
A fix has been tested sucessfully and will be commited in the coming days.
Cheers,
Reynald
Sent from sourceforge.net because Tango-cs...@lists.sf.net is subscribed to https://sourceforge.net/p/tango-cs/bugs/
To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/tango-cs/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.
Fixed in Tango 9.2.2 patch available here:
http://www.tango-controls.org/downloads/patches
[bugs:#792] Calls to asynchronous methods not thread-safe when several CORBA system exceptions are thrown at the same time
Status: open
Created: Thu Apr 14, 2016 05:02 PM UTC by Bourtembourg Reynald
Last Updated: Thu Apr 28, 2016 06:08 AM UTC
Owner: Bourtembourg Reynald