Rub�n <[EMAIL PROTECTED]> writes:
> 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 :)
Thanks, I'll take care of plugging that.
//Marcus
--
-------------------------------+------------------------------------
Marcus Sundberg | http://www.stacken.kth.se/~mackan
Royal Institute of Technology | Phone: +46 707 295404
Stockholm, Sweden | E-Mail: [EMAIL PROTECTED]