On Tuesday 26 August 2003 14:39, Brian Candler wrote:
> On Tue, Aug 26, 2003 at 12:44:17PM -0400, Jesse Guardiani wrote:
> > > Probably with '-g' if it's not there already, and make sure you do
> > > 'make install' rather than 'make install-strip' otherwise the debug
> > > symbols will be removed.
> >
> > So where would I put the -g? In my configure statement? Could you give
> > me an example? I have always used printf debugging in the past. (Yeah,
> > I know. It's about time I learned how to use a proper debugger.)
>
> Hmm, probably
>
>   CFLAGS=-g
>   export CFLAGS
>   ./configure ...etc
>
> (maybe CPPFLAGS not CFLAGS). ./configure --help should tell you.

Yeah. Good enough. I can figure it out from there. Thanks.


>
> > BTW, I got another chance to examine some non-debug-symbol-compiled
> > mem hog processes today.
> >
> > Here is the sqwebmail process list:
> >
> > ------ BEGIN sqwebmail ps output ------
> > [11:[EMAIL PROTECTED]:[~]# ps auxwwwo ppid | grep sqweb
> > vpopmail 30817 24.8 25.2 263504 263064  ??  RN   12:22AM 270:56.82
> > sqwebmail          515 vpopmail 49645 25.2 11.0 115888 115336  ??  RN   
> > 8:58AM  51:45.69 sqwebmail        60227 vpopmail 30707 25.1 16.7 263600
> > 174524  ??  RN   12:21AM 271:12.74 sqwebmail          513 vpopmail 30711 
> > 0.0  0.1  1820 1116  ??  I    12:21AM   0:00.00 sqwebmail        30707
> > vpopmail 30820  0.0  0.1  1820 1116  ??  I    12:22AM   0:00.00 sqwebmail
> >        30817 vpopmail 49648  0.0  0.1  1796 1160  ??  IN    8:58AM  
> > 0:00.00 sqwebmail        49645 ------ END sqwebmail ps output ------
> >
> > The last column is the parent pid. ppid 515, 513, and 60227 are apache
> > web server processes.
> >
> > Looks like sqwebmail process 49645 was spawned by the web server. It then
> > spawned another sqwebmail process 49648, which appears to be relatively
> > idle.
>
> I didn't think there were many places where sqwebmail forks, although
> grepping the source there are actually quite a few. The main ones would be:
> - to send a mail

Hmmm... I'll have to take a look at that code. Should just set up the environment
and execute sendit.sh though, right?


> - to run gzip (enabled by default)

enabled in my installation.


> - to run the bannerprog or gpg (not enabled by default).

not enabled in my installation.


>
> However those would typically exec soon after the fork.
> It looks like authlib forks if you are running --without-authdaemon.

I am running --without-authdaemon. I'll have to take a look at that code too.


> It's
> difficult to see where the problem might be.
>
> > As you can see, I accidentally killed the process by typing CTRL+C in
> > gdb. How else can I terminate a 'next' or 'step'?
>
> I don't know. I do little in gdb beyond 'bt' and 'print' :-)
>
> > So, I take it that compiling sqwebmail with debugging symbols will
> > reveal a bit more info? Tell me what I need to do. I'm anxious to
> > get to the bottom of this.
>
> Well, it will tell you the names of the functions you are in, allow you to
> inspect variables etc. But if you're just in an infinite loop of free()
> calling itself then it's hard to see what the problem might be.

Is there any way to get the name of the function that called free(), or the
line number?

-- 
Jesse Guardiani, Systems Administrator
WingNET Internet Services,
P.O. Box 2605 // Cleveland, TN 37320-2605
423-559-LINK (v)  423-559-5145 (f)
http://www.wingnet.net



Reply via email to