Graphviz Issue Tracker
Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000596graphvizDotpublic2002-03-03 12:532011-04-28 04:02
ReporterJoe MacGillivray 
Assigned Togviz 
PrioritynormalSeverityminorReproducibilityalways
StatusacknowledgedResolutionopen 
PlatformOSx86-Linux-Mandrake 7.2OS Version
Summary0000596: Memory leak
Description



The modified dot.c main() below has a memory leak
(run with -Tplain option)
Steps To Reproduce

static graph_t *G;

int main(int argc, char** argv)
{

char *graph = "digraph G {\nA;\nB;\nA -> B;\n}";

    dotneato_initialize(argc,argv);

    while ( 1 )
    {
        G = agmemread(graph);
        dot_layout(G);
        dotneato_write(G);
        dot_cleanup(G);
        agclose(G);
    }
    dotneato_terminate();
}
Additional Information

The modified dot.c main() was written to check for memory leaks.
I'd like to extract the layout behaviour from dot an run as a deamon
that accepts a graph description and returns layout info.

[ellson]
I can reproduce a 2-byte-per-iteration leak with 1.8.1 on Linux.

The leak is dependent on the form of the graph string in some
unclear way. "digraph G {A->B}" does not leak, but "digraph G
{A;B;A->B}" does.

Running under dmalloc shows the 2-byte leak, but it can't identify the
function (meaning the function wasn't in code built with dmalloc.h)
and the return address is invalid.
<CD>
1015214958: 563: not freed: '0x80e5748|s3' (1 bytes) from 'ra=0x401b21f0'
1015214958: 563: not freed: '0x80e5a08|s1' (1 bytes) from 'ra=0x401b21f0'
</CD>

TagsNo tags attached.
AUXILLARY-FILES
DATE-FIXED
FIX-COMMENT
FORMER-ID99
INPUT-FILE
OUTPUT-FILE
STATUS-COMMENT*
VERSION     1.7.15
Attached Files

- Relationships

-  Notes
There are no notes attached to this issue.

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


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