Bug 322 - a method on a nonexistent Policy object causes a crash
Summary: a method on a nonexistent Policy object causes a crash
Status: CLOSED FIXED
Alias: None
Product: TAO
Classification: Unclassified
Component: ORB (show other bugs)
Version: 1.0.3
Hardware: All All
: P1 normal
Assignee: Carlos O'Ryan
URL:
Depends on: 465
Blocks: 515
  Show dependency tree
 
Reported: 1999-09-10 13:14 CDT by Marina Spivak
Modified: 2000-12-03 22:05 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 Marina Spivak 1999-09-10 13:19:59 CDT
Direct collocation is used in implementation of CORBA Policies.  If a reference
was obtained to a Policy object, later the servant destroyed, and then a method
is invoked on the reference we get a seg fault.   This is a valid use scenario -
 for example, the actions can be happenning concurrently from two threads.
Need to use through POA collocation scheme.
Comment 1 Irfan Pyarali 1999-09-13 18:54:59 CDT
To be precise, the current stubs for the policy classes use direct invocation
on the servants.  The solution would be to change the stubs to use the thru-POA
approach.
Comment 2 Carlos O'Ryan 1999-09-21 10:18:59 CDT
Nanbor has been medling with collocated objects, i think he should lead this
effort.
Comment 3 Nanbor Wang 1999-10-08 19:00:59 CDT
Will work on this later.
Comment 4 Carlos O'Ryan 2000-03-27 12:59:59 CST
The Event Channel(s) need policies working correctly to safely remove non
existent clients.
Comment 5 Carlos O'Ryan 2000-03-27 13:02:59 CST
Irfan: i don't see how the thru-POA strategy would help, these guys are
locality constrained, i undestand that locality constrained objects are not
activated with the POA, at least the comment in the Local_Servant_Base class
states so.
The "Right Thing"[tm] to do is to implement locality constrained objects as
specified in the CCM spec.
Nanbor: do you have any news on that?  Could you have an entry in bugzilla
for that task?  If so we could add a dependency for this bug too.
Comment 6 Nanbor Wang 2000-03-27 13:43:59 CST
I've planned on implementing local interface long ago but couldn't find a
chance to do it.  I'll work on it soon
Comment 7 Carlos O'Ryan 2000-04-26 21:45:59 CDT
I need this stuff for fixing the Event Service.  Now that Nanbor fixed bug #465
this is much easier to do.
Comment 8 Carlos O'Ryan 2000-04-28 12:06:59 CDT
I'm accepting this bug.  It is causing me problems in the event channel (bug
515)
Comment 9 Carlos O'Ryan 2000-04-29 15:01:59 CDT
Re-generate the code for the Messaging and TAO specific policies using the
local interfaces. This is the first step to solve the problem, now we
can concentrate on fixing the memory management and concurrency issues.
See the following ChangeLog entries for details:
Fri Apr 28 20:09:34 2000  Carlos O'Ryan  <coryan@uci.edu>
Fri Apr 28 21:32:34 2000  Carlos O'Ryan  <coryan@uci.edu>
Comment 10 Carlos O'Ryan 2000-05-01 10:29:59 CDT
The last round of changes in the ORB core have fixed the problem.
My tests pass without problems, at least on NT and Linux.
Comment 11 Carlos O'Ryan 2000-05-01 10:37:59 CDT
My bad I was thinking of another bug report (that is already marked 'FIXED').
We still have to deal with potential concurrency problems with this one!
Comment 12 Carlos O'Ryan 2000-05-01 10:38:59 CDT
Re-accepting the bug.
Comment 13 Carlos O'Ryan 2000-05-01 10:38:59 CDT
Clear the resolution.
Comment 14 Carlos O'Ryan 2000-05-12 16:46:23 CDT
The problem should be fixed now, please check the following ChangeLog entry for
more details:

Fri May 12 14:36:21 2000  Carlos O'Ryan  <coryan@uci.edu>
Comment 15 Marina Spivak 2000-12-03 22:05:05 CST
The problem has been solved through reference counting of policy objects and a 
test added.  Closing the bug.