[Users] [Bug 4104] SMTP doesn't work over VPN

Michal Suchánek msuchanek at suse.de
Wed Nov 28 18:10:36 CET 2018


On Wed, 28 Nov 2018 17:51:08 +0100
Michael Rasmussen <mir at miras.org> wrote:

> On Wed, 28 Nov 2018 17:17:53 +0100
> Michal Suchánek <msuchanek at suse.de> wrote:
> 
> > On Wed, 28 Nov 2018 14:57:35 +0100
> > "Paul Rolland (ポール・ロラン)" <rol at witbe.net> wrote:
> >   
> > > Hello,
> > > 
> > > On Wed, 28 Nov 2018 14:27:07 +0100
> > > Michal Suchánek <msuchanek at suse.de> wrote:
> > >     
> > > > No. It is reported in the terminal as 
> > > > 
> > > > fork: Cannot allocate memory
> > > > 
> > > > but it is not reported in the networking log window at all.
> > > > Without logging the terminal messages or tracing claws you have
> > > > no idea what happened.      
> > > 
> > > Could it be conn_data->lookup_data not being freed ?
> > > 
> > > Not sure though, I'm not familiar with common/socket.c...
> > >     
> > 
> > It looks like this code:
> > 
> > #ifndef G_OS_WIN32
> >         if ((lookup_data->child_pid = fork()) < 0) {
> >                 perror("fork");
> >                 func(NULL, data);
> >                 g_free (lookup_data->hostname);
> >                 g_free (lookup_data);
> >                 return NULL;
> >         }
> > 
> > It produces the observed message and never propagates a meaningful
> > error. There you go.
> >   
> RETURN VALUE
> On success, the PID of the child process is returned in the parent, and
> 0 is returned in the child. On failure, -1 is returned in the parent,
> no child process is created, and errno is set appropriately.
> 
> .....
> ENOMEM
> fork() failed to allocate the necessary kernel structures because
> memory is tight.
> 
> CONFORMING TO SVr4, 4.3BSD, POSIX.1-2001.
> 
> So it does not necessarily mean that claws is leaking memory. It could
> also be because other processes running on your system has taken all
> available memory.
> 
> Try use top to see what is using memory.
> 

According to top it is claws using memory. It's the top offender. Also
when I run claws it takes about 700M virtual/60M resident. When I open a
small folder this does not change much. When I open inbox this grows to
like 2G VSS/ 1G RSS, and when I open small folder again it does not get
down. Opening inbox does not seem any faster the second time. So to me
it looks like claws is hoarding large amounts of memory for no good
reason (other than freeing it properly sounds like work). Worse, fork()
has to replicate the page tables for the process and it may run out of
memory for said tables which depend solely on VSS size.

Thanks

Michal
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.claws-mail.org/pipermail/users/attachments/20181128/7fb58c9c/attachment.sig>


More information about the Users mailing list