[gephex-devel] Memory leak in stringtokenizer module?

H. Dombrowski herb at hildegard6.de
Fri Oct 14 11:58:38 CEST 2005


Hi list!

I've encountered a really serious problem obviously regarding the 
stringtokenizer module.

I've attached two graphs where the first one runs fine (testleak2) while 
the second one (testleak3) increases virtual memory usage of the engine 
by about 10MB per second...

gephex is compiled from the arch repository. I've tried to recompile 
without optimization level -O3 and the other stuff like 
-fomit-frame-pointers but that didn't do it.

How can I find out about that memory leak (I've tried valgrind and other 
tools and using ulimit, but the last is especially complicated because 
of all the wrapper scripts)?


Thanks,


herb


-------------- next part --------------
<graph>
<id>IDSTARTtestleak2ENDID</id>
<name>testleak2</name>
<data>
</data>
<nodes>
<node> <id>1</id> <type>mod_frboutmodule</type>
<data>
<dataitem> <key>0</key> <buf>504 74</buf> </dataitem>
</data>
</node>
<node> <id>2</id> <type>mod_frbinmodule</type>
<data>
<dataitem> <key>0</key> <buf>276 74</buf> </dataitem>
</data>
</node>
<node> <id>3</id> <type>mod_effectvholomodule</type>
<data>
<dataitem> <key>0</key> <buf>354 111</buf> </dataitem>
</data>
</node>
<node> <id>4</id> <type>mod_xfademodule</type>
<data>
<dataitem> <key>0</key> <buf>414 61</buf> </dataitem>
</data>
</node>
<node> <id>5</id> <type>mod_signalmodule</type>
<data>
<dataitem> <key>0</key> <buf>340 9</buf> </dataitem>
</data>
</node>
</nodes>
<connections>
<connect>
<from> <node_id>4</node_id> <plug_id>r</plug_id> </from>
<to> <node_id>1</node_id> <plug_id>in</plug_id> </to>
</connect>
<connect>
<from> <node_id>2</node_id> <plug_id>result</plug_id> </from>
<to> <node_id>3</node_id> <plug_id>b</plug_id> </to>
</connect>
<connect>
<from> <node_id>5</node_id> <plug_id>Signal</plug_id> </from>
<to> <node_id>4</node_id> <plug_id>x</plug_id> </to>
</connect>
<connect>
<from> <node_id>2</node_id> <plug_id>result</plug_id> </from>
<to> <node_id>4</node_id> <plug_id>1</plug_id> </to>
</connect>
<connect>
<from> <node_id>3</node_id> <plug_id>r</plug_id> </from>
<to> <node_id>4</node_id> <plug_id>2</plug_id> </to>
</connect>
</connections>
<snapshots>
<snapshot> <id>IDSTARTtestleak2ENDID</id> <name>default</name>
<values>
<value><plug> <node_id>1</node_id> <plug_id>in</plug_id> </plug>
<buf>~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>options</plug_id> </plug>
<buf>2~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>xsize</plug_id> </plug>
<buf>640~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>ysize</plug_id> </plug>
<buf>480~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>brightness</plug_id> </plug>
<buf>0.5~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>contrast</plug_id> </plug>
<buf>1~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>gamma</plug_id> </plug>
<buf>1~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>monitor</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>driver</plug_id> </plug>
<buf>default~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>server</plug_id> </plug>
<buf>default~00</buf></value>
<value><plug> <node_id>2</node_id> <plug_id>fileName</plug_id> </plug>
<buf>/stills/lightspark.jpg~00</buf></value>
<value><plug> <node_id>2</node_id> <plug_id>flush</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>2</node_id> <plug_id>frame</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>2</node_id> <plug_id>x_size</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>2</node_id> <plug_id>y_size</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>2</node_id> <plug_id>cache</plug_id> </plug>
<buf>no~00</buf></value>
<value><plug> <node_id>3</node_id> <plug_id>b</plug_id> </plug>
<buf>~00</buf></value>
<value><plug> <node_id>3</node_id> <plug_id>bg</plug_id> </plug>
<buf>~00</buf></value>
<value><plug> <node_id>4</node_id> <plug_id>x</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>4</node_id> <plug_id>1</plug_id> </plug>
<buf>~00</buf></value>
<value><plug> <node_id>4</node_id> <plug_id>2</plug_id> </plug>
<buf>~00</buf></value>
<value><plug> <node_id>4</node_id> <plug_id>routine</plug_id> </plug>
<buf>mmx~00</buf></value>
<value><plug> <node_id>5</node_id> <plug_id>Amplitude</plug_id> </plug>
<buf>1~00</buf></value>
<value><plug> <node_id>5</node_id> <plug_id>Frequenz</plug_id> </plug>
<buf>1~00</buf></value>
<value><plug> <node_id>5</node_id> <plug_id>Phase</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>5</node_id> <plug_id>Position</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>5</node_id> <plug_id>signal</plug_id> </plug>
<buf>sinus~00</buf></value>
<value><plug> <node_id>5</node_id> <plug_id>mode</plug_id> </plug>
<buf>real~00</buf></value>
</values>
</snapshot>
</snapshots>
</graph>
-------------- next part --------------
<graph>
<id>IDSTARTtestleak3ENDID</id>
<name>testleak3</name>
<data>
</data>
<nodes>
<node> <id>1</id> <type>mod_frboutmodule</type>
<data>
<dataitem> <key>0</key> <buf>504 74</buf> </dataitem>
</data>
</node>
<node> <id>2</id> <type>mod_frbinmodule</type>
<data>
<dataitem> <key>0</key> <buf>276 74</buf> </dataitem>
</data>
</node>
<node> <id>3</id> <type>mod_effectvholomodule</type>
<data>
<dataitem> <key>0</key> <buf>354 111</buf> </dataitem>
</data>
</node>
<node> <id>4</id> <type>mod_xfademodule</type>
<data>
<dataitem> <key>0</key> <buf>414 61</buf> </dataitem>
</data>
</node>
<node> <id>5</id> <type>mod_signalmodule</type>
<data>
<dataitem> <key>0</key> <buf>340 9</buf> </dataitem>
</data>
</node>
<node> <id>6</id> <type>mod_stringtokenizermodule</type>
<data>
<dataitem> <key>0</key> <buf>216 75</buf> </dataitem>
</data>
</node>
<node> <id>7</id> <type>mod_signalmodule</type>
<data>
<dataitem> <key>0</key> <buf>182 159</buf> </dataitem>
</data>
</node>
</nodes>
<connections>
<connect>
<from> <node_id>4</node_id> <plug_id>r</plug_id> </from>
<to> <node_id>1</node_id> <plug_id>in</plug_id> </to>
</connect>
<connect>
<from> <node_id>6</node_id> <plug_id>token</plug_id> </from>
<to> <node_id>2</node_id> <plug_id>fileName</plug_id> </to>
</connect>
<connect>
<from> <node_id>2</node_id> <plug_id>result</plug_id> </from>
<to> <node_id>3</node_id> <plug_id>b</plug_id> </to>
</connect>
<connect>
<from> <node_id>5</node_id> <plug_id>Signal</plug_id> </from>
<to> <node_id>4</node_id> <plug_id>x</plug_id> </to>
</connect>
<connect>
<from> <node_id>2</node_id> <plug_id>result</plug_id> </from>
<to> <node_id>4</node_id> <plug_id>1</plug_id> </to>
</connect>
<connect>
<from> <node_id>3</node_id> <plug_id>r</plug_id> </from>
<to> <node_id>4</node_id> <plug_id>2</plug_id> </to>
</connect>
<connect>
<from> <node_id>7</node_id> <plug_id>Signal</plug_id> </from>
<to> <node_id>6</node_id> <plug_id>entry</plug_id> </to>
</connect>
<connect>
<from> <node_id>6</node_id> <plug_id>len</plug_id> </from>
<to> <node_id>7</node_id> <plug_id>Amplitude</plug_id> </to>
</connect>
</connections>
<snapshots>
<snapshot> <id>IDSTARTtestleak2ENDID</id> <name>default</name>
<values>
<value><plug> <node_id>1</node_id> <plug_id>in</plug_id> </plug>
<buf>~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>options</plug_id> </plug>
<buf>2~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>xsize</plug_id> </plug>
<buf>640~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>ysize</plug_id> </plug>
<buf>480~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>brightness</plug_id> </plug>
<buf>0.5~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>contrast</plug_id> </plug>
<buf>1~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>gamma</plug_id> </plug>
<buf>1~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>monitor</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>driver</plug_id> </plug>
<buf>default~00</buf></value>
<value><plug> <node_id>1</node_id> <plug_id>server</plug_id> </plug>
<buf>default~00</buf></value>
<value><plug> <node_id>2</node_id> <plug_id>fileName</plug_id> </plug>
<buf>/stills/lightspark.jpg~00</buf></value>
<value><plug> <node_id>2</node_id> <plug_id>flush</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>2</node_id> <plug_id>frame</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>2</node_id> <plug_id>x_size</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>2</node_id> <plug_id>y_size</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>2</node_id> <plug_id>cache</plug_id> </plug>
<buf>no~00</buf></value>
<value><plug> <node_id>3</node_id> <plug_id>b</plug_id> </plug>
<buf>~00</buf></value>
<value><plug> <node_id>3</node_id> <plug_id>bg</plug_id> </plug>
<buf>~00</buf></value>
<value><plug> <node_id>4</node_id> <plug_id>x</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>4</node_id> <plug_id>1</plug_id> </plug>
<buf>~00</buf></value>
<value><plug> <node_id>4</node_id> <plug_id>2</plug_id> </plug>
<buf>~00</buf></value>
<value><plug> <node_id>4</node_id> <plug_id>routine</plug_id> </plug>
<buf>mmx~00</buf></value>
<value><plug> <node_id>5</node_id> <plug_id>Amplitude</plug_id> </plug>
<buf>1~00</buf></value>
<value><plug> <node_id>5</node_id> <plug_id>Frequenz</plug_id> </plug>
<buf>1~00</buf></value>
<value><plug> <node_id>5</node_id> <plug_id>Phase</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>5</node_id> <plug_id>Position</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>5</node_id> <plug_id>signal</plug_id> </plug>
<buf>sinus~00</buf></value>
<value><plug> <node_id>5</node_id> <plug_id>mode</plug_id> </plug>
<buf>real~00</buf></value>
<value><plug> <node_id>6</node_id> <plug_id>string</plug_id> </plug>
<buf>/stills/abstract_fan.jpg,/stills/anime_mirblend.jpg,/stills/blurredthing.jpg,/stills/bw_hand.jpg,/stills/comicpeople.jpg,/stills/demonchild.jpg~00</buf></value>
<value><plug> <node_id>6</node_id> <plug_id>entry</plug_id> </plug>
<buf>1~00</buf></value>
<value><plug> <node_id>7</node_id> <plug_id>Amplitude</plug_id> </plug>
<buf>1~00</buf></value>
<value><plug> <node_id>7</node_id> <plug_id>Frequenz</plug_id> </plug>
<buf>1~00</buf></value>
<value><plug> <node_id>7</node_id> <plug_id>Phase</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>7</node_id> <plug_id>Position</plug_id> </plug>
<buf>0~00</buf></value>
<value><plug> <node_id>7</node_id> <plug_id>signal</plug_id> </plug>
<buf>sinus~00</buf></value>
<value><plug> <node_id>7</node_id> <plug_id>mode</plug_id> </plug>
<buf>real~00</buf></value>
</values>
</snapshot>
</snapshots>
</graph>


More information about the gephex-devel mailing list