Number: 83
Title: Dot crash with low complexity graph
Submitter: Cocea, Laurentiu
Date: Sat Feb 9 21:22:30 2002
Subsys: Dot
Version: 1.7.16-0
System: x86-Linux-RedHat 6.2 + Updates
Severity: major
Problem:
Minor changes to the file below, as shown in the "Dot input causing the bug " section, result in dot terminating with the following error message:

Error: segment [(125,38),(122,46)] does not intersect box ll=(70,8),ur=(146,46) dot: compound.c:93: boxIntersect: Assertion `0' failed.

The differences between the two files consist in the lines :


    node [style=filled,color=paleturquoise];
    node [shape=ellipse];
    A_CYTO [label="A"];
    node [style=filled,color=paleturquoise];
    node [shape=ellipse];
    C_CYTO [label="C"];

and :


  edge [style=solid,color=red,arrowhead=normal,arrowtail=none];
  A_CYTO -> C_CYTO;

present only in the input causing the bug.

Any helpful suggestion would be graetly appreciated.


// input that is displayed correctly
digraph "map9.dsml" {
  node [fontname=cour,fontsize=10,width=0.1,height=0.1];
  compound = true;
  subgraph cluster_CYTO {
    label = "CYTO";
    color = lightgray;
    fontname = cour;
    fontsize = 12;
    node [style=filled,color=palegoldenrod];
    node [shape=record];
    X_CYTOY_CYTO [label = "{ X | Y }"];
    subgraph cluster_M_CYTON_CYTO {
      label = "";
      color = black;
      node [style=filled,color=lightpink];
      node [shape=ellipse];
      M_CYTON_CYTOM_CYTO [label="M"];
      M_CYTON_CYTON_CYTO [label="N"];
    }
  }
  subgraph cluster_NUCL {
    label = "NUCL";
    color = lightgray;
    fontname = cour;
    fontsize = 12;
    node [style=filled,color=palegoldenrod];
    node [shape=record];
    X_NUCLY_NUCL [label = "{ X | Y }"];
    subgraph cluster_M_NUCLN_NUCL {
      label = "";
      color = black;
      node [style=filled,color=lightpink];
      node [shape=ellipse];
      M_NUCLN_NUCLM_NUCL [label="M"];
      M_NUCLN_NUCLN_NUCL [label="N"];
    }
  }
  edge [style=dashed,color=black,arrowhead=normal,arrowtail=none];
  X_CYTOY_CYTO -> X_NUCLY_NUCL;
  M_CYTON_CYTOM_CYTO -> M_NUCLN_NUCLM_NUCL [ltail=cluster_M_CYTON_CYTO,lhead=cluster_M_NUCLN_NUCL];
}
Input:
// input that causes a bug
digraph "map9.dsml" {
  node [fontname=cour,fontsize=10,width=0.1,height=0.1];
  compound = true;
  subgraph cluster_CYTO {
    label = "CYTO";
    color = lightgray;
    fontname = cour;
    fontsize = 12;
    node [style=filled,color=paleturquoise];
    node [shape=ellipse];
    A_CYTO [label="A"];
    node [style=filled,color=paleturquoise];
    node [shape=ellipse];
    C_CYTO [label="C"];
    node [style=filled,color=palegoldenrod];
    node [shape=record];
    X_CYTOY_CYTO [label = "{ X | Y }"];
    subgraph cluster_M_CYTON_CYTO {
      label = "";
      color = black;
      node [style=filled,color=lightpink];
      node [shape=ellipse];
      M_CYTON_CYTOM_CYTO [label="M"];
      M_CYTON_CYTON_CYTO [label="N"];
    }
  }
  edge [style=solid,color=red,arrowhead=normal,arrowtail=none];
  A_CYTO -> C_CYTO;
  subgraph cluster_NUCL {
    label = "NUCL";
    color = lightgray;
    fontname = cour;
    fontsize = 12;
    node [style=filled,color=palegoldenrod];
    node [shape=record];
    X_NUCLY_NUCL [label = "{ X | Y }"];
    subgraph cluster_M_NUCLN_NUCL {
      label = "";
      color = black;
      node [style=filled,color=lightpink];
      node [shape=ellipse];
      M_NUCLN_NUCLM_NUCL [label="M"];
      M_NUCLN_NUCLN_NUCL [label="N"];
    }
  }
  edge [style=dashed,color=black,arrowhead=normal,arrowtail=none];
  X_CYTOY_CYTO -> X_NUCLY_NUCL;
  M_CYTON_CYTOM_CYTO -> M_NUCLN_NUCLM_NUCL [ltail=cluster_M_CYTON_CYTO,lhead=cluster_M_NUCLN_NUCL];
}
Owner: erg
Status: Fixed