Alan M. Carroll created TS-4630:
-----------------------------------
Summary: Semantics of IPHashTable iterators can be non-obvious
Key: TS-4630
URL: https://issues.apache.org/jira/browse/TS-4630
Project: Traffic Server
Issue Type: Bug
Components: Core
Reporter: Alan M. Carroll
The root of the problem in TS-4629 is that elements in the container can
self-destruct which de facto removes them from the container and thereby
invalidate an iterator unexpectedly. This stems from the combination of
intrusive links (so that some container state is in the object) and
self-destructing objects (which destroys that state unexpectedly).
In TS-4629, simply mapping a method call to the objects in the container is
unsafe even though no explicit container methods are called. Safe use requires
knowing that a particular method can cause self-destruction.
Some additional thought needs to be put in to this to attempt to prevent
situations like TS-4629 from occurring repeatedly in hard to track down
situations.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)