Hi, On Mon, Jun 03, 2019 at 06:59:17PM +0200, Pablo Neira Ayuso wrote: > On Fri, May 31, 2019 at 12:56:25PM -0400, Eric Garver wrote: [...] > > I'm seeing a NULL pointer dereferenced here. It occurs when we delete a rule > > and add a new rule using the "index" keyword in the same transaction/batch. Yes, cache population for rule delete command was completely broken. I missed that cmd->rule is NULL in that case, sorry for the mess. > I think we need two new things here: > > #1 We need a new initial step, before evalution, to calculate the cache > completeness level. This means, we interate over the batch to see what > kind of completeness is needed. Then, cache is fetched only once, at > the beginning of the batch processing. Ensure that cache is > consistent from that step. > > #2 Update the cache incrementally: Add new objects from the evaluation > phase. If RESTART is hit, then release the cache, and restart the > evaluation. Probably we don't need to restart the evaluation, just > a function to refresh the batch, ie. check if several objects are > there. I don't understand this but please wait a day or two before jumping in. I'm currently working on fixing the problem above and some more I found along the way. Cheers, Phil