Tcl Source Code

Ticket Change Details
Login
Overview

Artifact ID: 514ad186ad4a5ae52b00b75129eeb0e7142319e4
Ticket: 8f245009b0bde00454c3cecfef1d230596f78b51
Another case that hangs regexp optimizer pullback() phase
User & Date: tgl 2013-10-29 19:50:21
Changes

  1. icomment:
    In looking at this, I'm wondering whether there isn't an additional bug in the patch for CVE-2007-4772.  That added code to pull() and push() that deletes any circular constraint arcs ("circular" meaning that from == to).  It's obviously correct to remove such arcs, since traversing one can do nothing useful.  However, the types of arcs that are removed are just '^', '$', BEHIND, AHEAD.  Should not circular LACON arcs be removed as well?  The reason I note this is that the trouble we're looking at comes from the case where we try to swap two COMPATIBLE arcs, and combine() will say COMPATIBLE for cases involving a LACON and another constraint arc.  So it seems like loops involving LACON arcs are just as dangerous, and unnecessary, as loops involving only other constraint types.
    
  2. login: "tgl"
  3. mimetype: "text/plain"
  4. username: "tgl"