Graphviz Issue Tracker
Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001478graphvizGraph Librariespublic2008-11-13 16:572011-04-28 04:03
Reporteruser442 
Assigned Tonorth 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOS*-*-OS Version
Summary0001478: Crash due to cgraph
Description



I have the following scenario:
<CD>
 read in G (no attributes of any kind)
 open subgraph g
 insert some nodes and edges
 write g
 close g
 open subgraph h
 insert some nodes and edges
 write h
 crash
</CD>



During the first call to agwrite, we have the call sequence:



<CD>
 agwrite(g)
 write_hdr(g,...)
 agattr(g, AGEDGE, TAILPORT_ID, NIL(char *));
 agdictof(g,AGEDGE)
 agdatadict(g)
 init_all_attrs(g) /* since the root graph had no attributes */
 for all nodes n in G agnodeattr_init(g,n)
 agmakeattrs(g,n);
</CD>



Here, since n has no Agattr_t* record, it gets created and uses g's dictionaries.
This is true for all nodes, not just ones in g.



When agclose(g) is called, its dictionaries are closed, so each node not in g
now has a bad dictionary pointer in Agattr_t.
Additional Information

[erg] This bug arose in ccomps. There are now workarounds in that
code which can be removed when this bug is fixed.

[erg] Close bug because I can't replicate it present (1 May 2009).
TagsNo tags attached.
AUXILLARY-FILES
DATE-FIXED
FIX-COMMENT
FORMER-ID1515
INPUT-FILEhttp://www.graphviz.org/bugs/b1515.c [^]
OUTPUT-FILE
STATUS-COMMENTFixed
VERSION     2.21
Attached Files

- Relationships

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2011-04-28 04:03 user1 New Issue
2011-04-28 04:03 user1 Assigned To => Stephen North


MantisBT 1.2.5[^]
Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker