Re: GGI leak

1999-12-13 Thread Rubén

On 1999/Dec/12, Marcus Sundberg wrote:

 I was deleting a lot of leaks in GGL, and I think I've found a
   leak into GGI, here is the stack info:
 
 What tool did you use for that btw?

memprof. Very usefull, seems to read symbol tables and let you
launch xemacs, fte or what you like at the line where the leak was detected,
see the memory usage of your program dinamically, and the memory usage of
each function of your program. It also generates files with the info, and of
course, it comes with Debian (potato) :) (Yes, surely there are more tools,
but this one [+ gdb + efence] is enough for me now).
-- 
  _
 /_) \/ / /  email: mailto:[EMAIL PROTECTED]
/ \  / (_/   www  : http://programacion.mundivia.es/ryu
[ GGL developer ]  [ IRCore developer ]  [ GPUL member ]



GGI leak

1999-12-12 Thread Rubén

I was deleting a lot of leaks in GGL, and I think I've found a leak
into GGI, here is the stack info:

Leaked 0x806ecf0 (2048 bytes)
_default_zero(): /tmp/degas/lib/ggi2-1.99.2.0b2.1/ggi/visual.c:46
alloc_fb(): /tmp/degas/lib/ggi2-1.99.2.0b2.1/display/memory/mode.c:91
_GGIdomode(): /tmp/degas/lib/ggi2-1.99.2.0b2.1/display/memory/mode.c:145
_GGIdomode(): /tmp/degas/lib/ggi2-1.99.2.0b2.1/display/memory/mode.c:169
_ggiCheck4Defaults(): /tmp/degas/lib/ggi2-1.99.2.0b2.1/ggi/mode.c:68
ggl_visual_set_mode(): /home/ryu/devel/GPUL/ggl/src/graphics/gglvisual.c:105
ggl_timeout_start(): /home/ryu/devel/GPUL/ggl/src/ggltimeout.c:152
ggl_timeout_start(): /home/ryu/devel/GPUL/ggl/src/ggltimeout.c:152
ggl_timeout_start(): /home/ryu/devel/GPUL/ggl/src/ggltimeout.c:152
ggl_timeout_start(): /home/ryu/devel/GPUL/ggl/src/ggltimeout.c:152
(???)
_start(): (null):0

I thought that maybe this leak were produced because of GGL code,
but I couldn't find more leaks on it.

The code at line 105 of ggl_visual_set_mode() is:
error= ggiSetMode(visual-visual,gmode);

And visual-visual is a successfully opened visual with the type
shown below:

struct _GglVisual{
  GglBase base; /* Base class */
  int id;   /* Class Identifier */
  ggi_visual_t visual;  /* GGI Visual*/
[...]

The code at line 152 of ggl_timeout_start does nothing but return a
number (no mallocs). The reason why the stack looks like this is that I
catch alarm signal and use linux interval timers [setitimer()].

The example that I've tested creates 24 visuals (1 with target X and
23 with target memory) and never loses pointers to any of them.

I wish this is enough information :)
-- 
  _
 /_) \/ / /  email: mailto:[EMAIL PROTECTED]
/ \  / (_/   www  : http://programacion.mundivia.es/ryu
[ GGL developer ]  [ IRCore developer ]  [ GPUL member ]