Re: Issues with Perdition 2.1 in FreeBSD
Egoitz Aurrekoetxea <[email protected]> Fri, 6 Mar 2015 13:54:36 +0100
| Newsgroups | gmane.mail.perdition.user |
|---|---|
| Message-ID | <[email protected]> |
--===============1621219430== Content-Type: multipart/alternative; boundary="Apple-Mail=_4AB47D41-B092-4783-BF03-55068F5582A7" --Apple-Mail=_4AB47D41-B092-4783-BF03-55068F5582A7 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 In case it helps, previous machines were running FreeBSD 9 RELENG=E2=80=A6= with Vanesa libraries all of them version 0.0.7 and Perdition 1.17.1 Egoitz Aurrekoetxea Departamento de sistemas 944 209 470 Parque Tecnol=C3=B3gico. Edificio 103 48170 Zamudio (Bizkaia) [email protected] <mailto:[email protected]> www.sarenet.es <http://www.sarenet.es/> Antes de imprimir este correo electr=C3=B3nico piense si es necesario = hacerlo. > El 6/3/2015, a las 13:46, Egoitz Aurrekoetxea <[email protected]> = escribi=C3=B3: >=20 > Good morning, >=20 > Thanks a lot for your help. >=20 > If I=E2=80=99m taking a look to errno.h :=20 >=20 > cat /usr/include/errno.h | grep EAGA > /* 11 was EAGAIN */ > #define EAGAIN 35 /* Resource temporarily = unavailable */ > #define EWOULDBLOCK EAGAIN /* Operation would block = */ >=20 > So, both are the same perhaps in FreeBSD?? >=20 > The parent process exists in the order shown below, let me see you the = corresponding output with the patch below (the literals in the dying = moment) :=20 >=20 > Mar 5 08:30:18 perdition.imap4s[99711]: = __vanessa_socket_server_accept: Falla accept con el error > Mar 5 08:30:18 perdition.imap4s[99711]: = __vanessa_socket_server_accept: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > Mar 5 08:30:18 perdition.imap4s[99711]: = __vanessa_socket_server_accept: 53 > Mar 5 08:30:18 perdition.imap4s[99711]: = __vanessa_socket_server_accept: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > Mar 5 08:30:18 perdition.imap4s[99711]: = __vanessa_socket_server_accept: Falla accept con el error > Mar 5 08:30:18 perdition.imap4s[99711]: = __vanessa_socket_server_accept: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > Mar 5 08:30:18 perdition.imap4s[99711]: = __vanessa_socket_server_accept: 35 > Mar 5 08:30:18 perdition.imap4s[99711]: = __vanessa_socket_server_accept: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > Mar 5 08:30:18 perdition.imap4s[99711]: = __vanessa_socket_server_acceptv: EGOITZ STATUS -----> 0 > Mar 5 08:30:18 perdition.imap4s[99711]: main: = vanessa_socket_server_accept > Mar 5 08:30:18 perdition.imap4s[99711]: Fatal error accepting child = connection. Exiting. >=20 > And no=E2=80=A6 I have no idea=E2=80=A6 Should say instead one = clarification; we have updated this machines to FreeBSD 10.1-RELEASE-p6 = and Perdition 2.1 (with Vanessa=E2=80=99s versions shown in previous = email) last week > just, when the problems began. Have been taking a look at FreeBSD = source code and SVN but am not being able to see any kind of = modification in accept() syscall=E2=80=A6 >=20 > Thank you so much, > Best regards, >=20 >=20 > Egoitz Aurrekoetxea > Departamento de sistemas > 944 209 470 > Parque Tecnol=C3=B3gico. Edificio 103 > 48170 Zamudio (Bizkaia) > [email protected] <mailto:[email protected]> > www.sarenet.es <http://www.sarenet.es/> > Antes de imprimir este correo electr=C3=B3nico piense si es necesario = hacerlo. >=20 >> El 6/3/2015, a las 12:45, Simon Horman <[email protected] = <mailto:[email protected]>> escribi=C3=B3: >>=20 >> Hi Egoitz, >>=20 >> I'd like to try and clarify the situation. >>=20 >> 1. Is the following correct? >>=20 >> EAGAIN =3D 53 >> EWOULDBLOCK =3D 35 >>=20 >> 2. If so is the problem that the listening process exits if >> errno is EWOULDBLOCK? >>=20 >> If so do you have any idea why EWOULDBLOCK is being returned? >>=20 >> On Fri, Mar 06, 2015 at 10:34:00AM +0100, Egoitz Aurrekoetxea wrote: >>> I had forgotten, the versions of Vanessa are :=20 >>>=20 >>> libvanessa_adt-0.0.9 >>> libvanessa_logger-0.0.10 >>> libvanessa_socket-0.0.12 >>>=20 >>> Perhaps I should check for this patch if errno is not EAGAIN and is = EWOULDBLOCK for allowing Perdition parent process to fail if errno is = EWOULDBLOCK??=20 >>>=20 >>> At this stage I=E2=80=99m still trying to see if this patch solves = the issue=E2=80=A6. >>>=20 >>> Best regards, >>>=20 >>>=20 >>> Egoitz Aurrekoetxea >>> Departamento de sistemas >>> 944 209 470 >>> Parque Tecnol=C3=B3gico. Edificio 103 >>> 48170 Zamudio (Bizkaia) >>> [email protected] <mailto:[email protected]> = <mailto:[email protected] <mailto:[email protected]>> >>> www.sarenet.es <http://www.sarenet.es/> <http://www.sarenet.es/ = <http://www.sarenet.es/>> >>> Antes de imprimir este correo electr=C3=B3nico piense si es = necesario hacerlo. >>>=20 >>>> El 5/3/2015, a las 16:59, Egoitz Aurrekoetxea <[email protected] = <mailto:[email protected]>> escribi=C3=B3: >>>>=20 >>>> God afternoon, >>>>=20 >>>> I=E2=80=99m running some issues in a FreeBSD 10.1 RELENG machine = with Perdition 2.1. Once or twice a day the parent process of POP3 or = IMAP4 service dies. After doing some=20 >>>> investigations have seen the problem comes when at = vanessa_socket_server.c file at __vanessa_socket_server_accept() when it = does the accept(). It seems accept() is failing=20 >>>> with 53 (which continues) and later with 35 (talking about errno of = course) with which exits with -1. So later is returning to = __vanessa_socket_server_acceptv() and this one returns to=20 >>>> vanessa_socket_server_acceptv due to :=20 >>>>=20 >>>> if (child < 0) >>>> return status; >>>>=20 >>>> At this function (the last one) does exist :=20 >>>>=20 >>>> child =3D __vanessa_socket_server_acceptv(&g, = ufds[i].fd, >>>> listen_socketv,=20 >>>> maximum_connections,=20 >>>> return_from, return_to, = flag); >>>> VANESSA_LOGGER_DEBUG("EGOITZ 1E"); >>>> if (child < 0) { >>>> VANESSA_LOGGER_DEBUG( >>>> = "__vanessa_socket_server_acceptv"); >>>> goto err; >>>>=20 >>>>=20 >>>> Perhaps this file be (please ignore the debugging literals) could = be like this ? >>>>=20 >>>> --- vanessa_socket_server.c 2010-06-22 09:21:37.000000000 = +0200 >>>> +++ vanessa_socket_server.c 2015-03-05 16:50:25.000000000 = +0100 >>>> @@ -388,10 +388,20 @@ >>>> addrlen =3D sizeof(from); >>>> *g =3D accept(listen_socket, (struct sockaddr *) &from, = &addrlen); >>>> if (*g < 0) { >>>> + char codigo[20]; >>>> + sprintf(codigo, "%d", errno); >>>> + VANESSA_LOGGER_DEBUG("Falla accept con el = error"); >>>> + = VANESSA_LOGGER_DEBUG("=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D"); >>>> + VANESSA_LOGGER_DEBUG(codigo); >>>> + = VANESSA_LOGGER_DEBUG("=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D"); =09 >>>> + if (errno =3D=3D EAGAIN)=20 >>>> + { >>>> + VANESSA_LOGGER_DEBUG("TENEMOS UN = EAGAIN"); >>>> + } >>>> if(errno =3D=3D EINTR || errno =3D=3D = ECONNABORTED) { >>>> continue; /* Ignore EINTR and = ECONNABORTED */ >>>> } >>>> - if (errno =3D=3D EAGAIN || errno =3D=3D = EWOULDBLOCK) >>>> + if (errno =3D=3D EWOULDBLOCK || errno =3D=3D = EAGAIN) >>>> return -1; /* Don't log EAGAIN or = EWOULDBLOCK */ >>>> VANESSA_LOGGER_DEBUG_ERRNO("accept"); >>>> return(-1); >>>> @@ -551,7 +561,10 @@ >>>> flag); >>>> if (child < 0) { >>>> if (errno =3D=3D EAGAIN || errno =3D=3D EWOULDBLOCK) >>>> + { >>>> status =3D 0; >>>> + VANESSA_LOGGER_DEBUG("EGOITZ STATUS -----> 0"); >>>> + } >>>> else { >>>> = VANESSA_LOGGER_DEBUG("__vanessa_socket_server_accept"); >>>> status =3D -1; >>>> @@ -561,6 +574,7 @@ >>>> if (!(opt & O_NONBLOCK) && child && >>>> fcntl(listen_socket, F_SETFL, opt) < 0) { >>>> VANESSA_LOGGER_DEBUG_ERRNO("fcntl: F_SETFL 2"); >>>> + VANESSA_LOGGER_DEBUG("ERROR 0000001 AAAAA"); >>>> status =3D -1; >>>> } >>>>=20 >>>> @@ -570,6 +584,7 @@ >>>> if (!(opt & O_NONBLOCK) && (flag & VANESSA_SOCKET_NO_FORK || = !child) && >>>> fcntl(*g, F_SETFL, opt) < 0) { >>>> VANESSA_LOGGER_DEBUG_ERRNO("fcntl: F_SETFL 3"); >>>> + VANESSA_LOGGER_DEBUG("ERROR 0000002 BBBB"); >>>> status =3D -1; >>>> } >>>> =09 >>>> @@ -632,6 +647,10 @@ >>>> = "__vanessa_socket_server_acceptv"); >>>> goto err; >>>> } >>>> + if (!child && g < 0) >>>> + { >>>> + break; >>>> + }=09 >>>> if (flag & VANESSA_SOCKET_NO_FORK || !child) { >>>> status =3D g; >>>> goto out; >>>>=20 >>>> Mainly talking about :=20 >>>>=20 >>>> + if (!child && g < 0) >>>> + { >>>> + break; >>>> + }=09 >>>>=20 >>>> That way polling again socket fds instead of exiting and stop = servicing the affected protocol in each case (POP3 or IMAP4)?? >>>>=20 >>>> Have done this last modification without having the luck of having = an abnormal termination again, in order to check if this works=E2=80=A6 >>>>=20 >>>> Has anyone have noticed about something similar?. >>>>=20 >>>> Thank you so much, >>>> Regards,=20 >>>>=20 >>>>=20 >>>> Egoitz Aurrekoetxea >>>> Departamento de sistemas >>>> 944 209 470 >>>> Parque Tecnol=C3=B3gico. Edificio 103 >>>> 48170 Zamudio (Bizkaia) >>>> [email protected] <mailto:[email protected]> = <mailto:[email protected] <mailto:[email protected]>> >>>> www.sarenet.es <http://www.sarenet.es/> <http://www.sarenet.es/ = <http://www.sarenet.es/>> >>>> Antes de imprimir este correo electr=C3=B3nico piense si es = necesario hacerlo. >>>>=20 >>>> ______________________________________________ >>>> Perdition-users mailing list >>>> [email protected] <mailto:[email protected]> >>>> http://lists.vergenet.net/listinfo/perdition-users >>>=20 >>=20 >>> ______________________________________________ >>> Perdition-users mailing list >>> [email protected] <mailto:[email protected]> >>> http://lists.vergenet.net/listinfo/perdition-users >=20 --Apple-Mail=_4AB47D41-B092-4783-BF03-55068F5582A7 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html = charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" = class=3D"">In case it helps, previous machines were running FreeBSD 9 = RELENG=E2=80=A6 with Vanesa libraries all of them version 0.0.7 and = Perdition 1.17.1<div class=3D""><div class=3D""> <style class=3D""> body { font-family:Helvetica, Arial, sans-serif; font-size:12px; color:#333; } .moz-signature { color:#333!important; } .firmasarenet { font-family:Helvetica, Arial, sans-serif; text-align:left; color:#333333; } .titulosarenet { font-family:Helvetica, Arial, sans-serif; font-weight:bold; font-size:12px; color:#333333; } .textosarenet { font-family:Helvetica, Arial, sans-serif; font-weight:bold; font-size:12px; color:#333333; } .dptosarenet { } .imgsarenet { margin:0px 0px 10px 0px } .imgsarenet img { } .lnksarenet { color:#007AC4!important; font-size:12px; line-height:1.2; text-decoration:underline; } .firmasarenet a { color:#007ac4!important } .imprimirsarenet { font-family:Helvetica, Arial, sans-serif; font-weight:normal; font-size:10px; line-height:1.2; color:#006600 } </style> <br class=3D""> <br class=3D""> <div style=3D"clear:both; text-align:left;" class=3D"firmasarenet"> <div style=3D"margin:0 0 10px 0" class=3D"imgsarenet"><img = src=3D"http://www.sarenet.es/estaticos/LogoSarenetEmails.png?13022013" = alt=3D"sarenet" class=3D""></div> <div style=3D"font-family:Helvetica, Arial, sans-serif; = font-weight:bold; font-size:14px; color:#333333" = class=3D"titulosarenet"><strong class=3D"">Egoitz = Aurrekoetxea</strong></div> <div style=3D"font-family:Helvetica, Arial, sans-serif; = font-weight:normal; font-size:12px; color:#333333" = class=3D"dptosarenet">Departamento de sistemas</div> <div style=3D"font-family:Helvetica, Arial, sans-serif; = font-weight:normal; font-size:12px; color:#333333" = class=3D"textosarenet">944 209 470<br class=3D"">Parque Tecnol=C3=B3gico. = Edificio 103<br class=3D"">48170 Zamudio (Bizkaia)</div> <div style=3D"font-family:Helvetica, Arial, sans-serif; = font-weight:normal; font-size:12px; color:#007AC4; line-height:1.2" = class=3D"lnksarenet"><a id=3D"mailto" style=3D" font-size:12px; = color:#007AC4; text-decoration:underline;" = href=3D"mailto:[email protected]" class=3D""><label id=3D"label_email" = class=3D"">[email protected]</label></a></div> <div style=3D"font-family:Helvetica, Arial, sans-serif; = font-weight:normal; font-size:12px; color:#007AC4; line-height:1.2" = class=3D"lnksarenet"><a href=3D"http://www.sarenet.es" style=3D" = font-size:12px; color:#007AC4; text-decoration:underline;" = class=3D"">www.sarenet.es</a></div> <br class=3D""> <div style=3D"font-family:Helvetica, Arial, sans-serif; = font-weight:normal; font-size:10px; color:#A0C361" = class=3D"imprimirsarenet">Antes de imprimir este correo electr=C3=B3nico = piense si es necesario hacerlo.</div> </div> </div> <br class=3D""><div><blockquote type=3D"cite" class=3D""><div = class=3D"">El 6/3/2015, a las 13:46, Egoitz Aurrekoetxea <<a = href=3D"mailto:[email protected]" class=3D"">[email protected]</a>> = escribi=C3=B3:</div><br class=3D"Apple-interchange-newline"><div = class=3D""><meta http-equiv=3D"Content-Type" content=3D"text/html = charset=3Dutf-8" class=3D""><div style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" = class=3D"">Good morning,<div class=3D""><br class=3D""></div><div = class=3D"">Thanks a lot for your help.</div><div class=3D""><br = class=3D""></div><div class=3D"">If I=E2=80=99m taking a look to errno.h = : </div><div class=3D""><div class=3D""><br class=3D""></div><div = class=3D""><div style=3D"margin: 0px; font-size: 10px; font-family: = Monaco; color: rgb(245, 245, 245); background-color: rgb(0, 0, 0);" = class=3D"">cat /usr/include/errno.h | grep EAGA</div><div style=3D"margin:= 0px; font-size: 10px; font-family: Monaco; color: rgb(245, 245, 245); = background-color: rgb(0, 0, 0);" class=3D""><span class=3D"Apple-tab-span"= style=3D"white-space:pre"> = </span>/* 11 was EAGAIN */</div><div style=3D"margin: 0px; font-size: = 10px; font-family: Monaco; color: rgb(245, 245, 245); background-color: = rgb(0, 0, 0);" class=3D"">#define<span class=3D"Apple-tab-span" = style=3D"white-space:pre"> </span>EAGAIN<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span>35<span class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span>/* Resource temporarily unavailable */</div><div style=3D"margin: = 0px; font-size: 10px; font-family: Monaco; color: rgb(245, 245, 245); = background-color: rgb(0, 0, 0);" class=3D"">#define<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span>EWOULDBLOCK<span class=3D"Apple-tab-span" = style=3D"white-space:pre"> </span>EAGAIN<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span>/* Operation would block */</div></div><div class=3D""><br = class=3D""></div><div class=3D"">So, both are the same perhaps in = FreeBSD??</div><div class=3D""><br class=3D""></div><div class=3D"">The = parent process exists in the order shown below, let me see you the = corresponding output with the patch below (the literals in the dying = moment) : </div><div class=3D""><br class=3D""></div><div = class=3D""><div class=3D"">Mar 5 08:30:18 perdition.imap4s[99711]: = __vanessa_socket_server_accept: Falla accept con el error</div><div = class=3D"">Mar 5 08:30:18 perdition.imap4s[99711]: = __vanessa_socket_server_accept: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</div><div class=3D"">Mar 5 = 08:30:18 perdition.imap4s[99711]: __vanessa_socket_server_accept: = 53</div><div class=3D"">Mar 5 08:30:18 perdition.imap4s[99711]: = __vanessa_socket_server_accept: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</div><div class=3D"">Mar 5 = 08:30:18 perdition.imap4s[99711]: __vanessa_socket_server_accept: Falla = accept con el error</div><div class=3D"">Mar 5 08:30:18 = perdition.imap4s[99711]: __vanessa_socket_server_accept: = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= </div><div class=3D"">Mar 5 08:30:18 perdition.imap4s[99711]: = __vanessa_socket_server_accept: 35</div><div class=3D"">Mar 5 = 08:30:18 perdition.imap4s[99711]: __vanessa_socket_server_accept: = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= </div><div class=3D"">Mar 5 08:30:18 perdition.imap4s[99711]: = __vanessa_socket_server_acceptv: EGOITZ STATUS -----> 0</div><div = class=3D"">Mar 5 08:30:18 perdition.imap4s[99711]: main: = vanessa_socket_server_accept</div><div class=3D"">Mar 5 08:30:18 = perdition.imap4s[99711]: Fatal error accepting child connection. = Exiting.</div></div><div class=3D""><br = class=3D"webkit-block-placeholder"></div><div = apple-content-edited=3D"true" class=3D""> <style class=3D""> body { font-family:Helvetica, Arial, sans-serif; font-size:12px; color:#333; } .moz-signature { color:#333!important; } .firmasarenet { font-family:Helvetica, Arial, sans-serif; text-align:left; color:#333333; } .titulosarenet { font-family:Helvetica, Arial, sans-serif; font-weight:bold; font-size:12px; color:#333333; } .textosarenet { font-family:Helvetica, Arial, sans-serif; font-weight:bold; font-size:12px; color:#333333; } .dptosarenet { } .imgsarenet { margin:0px 0px 10px 0px } .imgsarenet img { } .lnksarenet { color:#007AC4!important; font-size:12px; line-height:1.2; text-decoration:underline; } .firmasarenet a { color:#007ac4!important } .imprimirsarenet { font-family:Helvetica, Arial, sans-serif; font-weight:normal; font-size:10px; line-height:1.2; color:#006600 } </style> And no=E2=80=A6 I have no idea=E2=80=A6 Should say instead one = clarification; we have updated this machines to FreeBSD 10.1-RELEASE-p6 = and Perdition 2.1 (with Vanessa=E2=80=99s versions shown in previous = email) last week</div><div apple-content-edited=3D"true" class=3D"">just, = when the problems began. Have been taking a look at FreeBSD source code = and SVN but am not being able to see any kind of modification in = accept() syscall=E2=80=A6</div><div apple-content-edited=3D"true" = class=3D""><br class=3D""></div><div apple-content-edited=3D"true" = class=3D"">Thank you so much,</div><div apple-content-edited=3D"true" = class=3D"">Best regards,<br class=3D""> <br class=3D""> <div style=3D"clear:both; text-align:left;" class=3D"firmasarenet"> <div style=3D"margin:0 0 10px 0" class=3D"imgsarenet"><img = src=3D"http://www.sarenet.es/estaticos/LogoSarenetEmails.png?13022013" = alt=3D"sarenet" class=3D""></div> <div style=3D"font-family:Helvetica, Arial, sans-serif; = font-weight:bold; font-size:14px; color:#333333" = class=3D"titulosarenet"><strong class=3D"">Egoitz = Aurrekoetxea</strong></div> <div style=3D"font-family:Helvetica, Arial, sans-serif; = font-weight:normal; font-size:12px; color:#333333" = class=3D"dptosarenet">Departamento de sistemas</div> <div style=3D"font-family:Helvetica, Arial, sans-serif; = font-weight:normal; font-size:12px; color:#333333" = class=3D"textosarenet">944 209 470<br class=3D"">Parque Tecnol=C3=B3gico. = Edificio 103<br class=3D"">48170 Zamudio (Bizkaia)</div> <div style=3D"font-family:Helvetica, Arial, sans-serif; = font-weight:normal; font-size:12px; color:#007AC4; line-height:1.2" = class=3D"lnksarenet"><a id=3D"mailto" style=3D" font-size:12px; = color:#007AC4; text-decoration:underline;" = href=3D"mailto:[email protected]" class=3D""><label id=3D"label_email" = class=3D"">[email protected]</label></a></div> <div style=3D"font-family:Helvetica, Arial, sans-serif; = font-weight:normal; font-size:12px; color:#007AC4; line-height:1.2" = class=3D"lnksarenet"><a href=3D"http://www.sarenet.es/" style=3D" = font-size:12px; color:#007AC4; text-decoration:underline;" = class=3D"">www.sarenet.es</a></div> <br class=3D""> <div style=3D"font-family:Helvetica, Arial, sans-serif; = font-weight:normal; font-size:10px; color:#A0C361" = class=3D"imprimirsarenet">Antes de imprimir este correo electr=C3=B3nico = piense si es necesario hacerlo.</div> </div> </div> <br class=3D""><div class=3D""><blockquote type=3D"cite" class=3D""><div = class=3D"">El 6/3/2015, a las 12:45, Simon Horman <<a = href=3D"mailto:[email protected]" class=3D"">[email protected]</a>> = escribi=C3=B3:</div><br class=3D"Apple-interchange-newline"><div = class=3D""><span style=3D"font-family: Helvetica; font-size: 12px; = font-style: normal; font-variant: normal; font-weight: normal; = letter-spacing: normal; line-height: normal; orphans: auto; text-align: = start; text-indent: 0px; text-transform: none; white-space: normal; = widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: = none; display: inline !important;" class=3D"">Hi Egoitz,</span><br = style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant: normal; font-weight: normal; letter-spacing: normal; = line-height: normal; orphans: auto; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: auto; word-spacing: = 0px; -webkit-text-stroke-width: 0px;" class=3D""><br style=3D"font-family:= Helvetica; font-size: 12px; font-style: normal; font-variant: normal; = font-weight: normal; letter-spacing: normal; line-height: normal; = orphans: auto; text-align: start; text-indent: 0px; text-transform: = none; white-space: normal; widows: auto; word-spacing: 0px; = -webkit-text-stroke-width: 0px;" class=3D""><span style=3D"font-family: = Helvetica; font-size: 12px; font-style: normal; font-variant: normal; = font-weight: normal; letter-spacing: normal; line-height: normal; = orphans: auto; text-align: start; text-indent: 0px; text-transform: = none; white-space: normal; widows: auto; word-spacing: 0px; = -webkit-text-stroke-width: 0px; float: none; display: inline = !important;" class=3D"">I'd like to try and clarify the = situation.</span><br style=3D"font-family: Helvetica; font-size: 12px; = font-style: normal; font-variant: normal; font-weight: normal; = letter-spacing: normal; line-height: normal; orphans: auto; text-align: = start; text-indent: 0px; text-transform: none; white-space: normal; = widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" = class=3D""><br style=3D"font-family: Helvetica; font-size: 12px; = font-style: normal; font-variant: normal; font-weight: normal; = letter-spacing: normal; line-height: normal; orphans: auto; text-align: = start; text-indent: 0px; text-transform: none; white-space: normal; = widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" = class=3D""><span style=3D"font-family: Helvetica; font-size: 12px; = font-style: normal; font-variant: normal; font-weight: normal; = letter-spacing: normal; line-height: normal; orphans: auto; text-align: = start; text-indent: 0px; text-transform: none; white-space: normal; = widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: = none; display: inline !important;" class=3D"">1. Is the following = correct?</span><br style=3D"font-family: Helvetica; font-size: 12px; = font-style: normal; font-variant: normal; font-weight: normal; = letter-spacing: normal; line-height: normal; orphans: auto; text-align: = start; text-indent: 0px; text-transform: none; white-space: normal; = widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" = class=3D""><br style=3D"font-family: Helvetica; font-size: 12px; = font-style: normal; font-variant: normal; font-weight: normal; = letter-spacing: normal; line-height: normal; orphans: auto; text-align: = start; text-indent: 0px; text-transform: none; white-space: normal; = widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" = class=3D""><span style=3D"font-family: Helvetica; font-size: 12px; = font-style: normal; font-variant: normal; font-weight: normal; = letter-spacing: normal; line-height: normal; orphans: auto; text-align: = start; text-indent: 0px; text-transform: none; white-space: normal; = widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: = none; display: inline !important;" class=3D""> EAGAIN =3D = 53</span><br style=3D"font-family: Helvetica; font-size: 12px; = font-style: normal; font-variant: normal; font-weight: normal; = letter-spacing: normal; line-height: normal; orphans: auto; text-align: = start; text-indent: 0px; text-transform: none; white-space: normal; = widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" = class=3D""><span style=3D"font-family: Helvetica; font-size: 12px; = font-style: normal; font-variant: normal; font-weight: normal; = letter-spacing: normal; line-height: normal; orphans: auto; text-align: = start; text-indent: 0px; text-transform: none; white-space: normal; = widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: = none; display: inline !important;" class=3D""> EWOULDBLOCK =3D = 35</span><br style=3D"font-family: Helvetica; font-size: 12px; = font-style: normal; font-variant: normal; font-weight: normal; = letter-spacing: normal; line-height: normal; orphans: auto; text-align: = start; text-indent: 0px; text-transform: none; white-space: normal; = widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" = class=3D""><br style=3D"font-family: Helvetica; font-size: 12px; = font-style: normal; font-variant: normal; font-weight: normal; = letter-spacing: normal; line-height: normal; orphans: auto; text-align: = start; text-indent: 0px; text-transform: none; white-space: normal; = widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" = class=3D""><span style=3D"font-family: Helvetica; font-size: 12px; = font-style: normal; font-variant: normal; font-weight: normal; = letter-spacing: normal; line-height: normal; orphans: auto; text-align: = start; text-indent: 0px; text-transform: none; white-space: normal; = widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: = none; display: inline !important;" class=3D"">2. If so is the problem = that the listening process exits if</span><br style=3D"font-family: = Helvetica; font-size: 12px; font-style: normal; font-variant: normal; = font-weight: normal; letter-spacing: normal; line-height: normal; = orphans: auto; text-align: start; text-indent: 0px; text-transform: = none; white-space: normal; widows: auto; word-spacing: 0px; = -webkit-text-stroke-width: 0px;" class=3D""><span style=3D"font-family: = Helvetica; font-size: 12px; font-style: normal; font-variant: normal; = font-weight: normal; letter-spacing: normal; line-height: normal; = orphans: auto; text-align: start; text-indent: 0px; text-transform: = none; white-space: normal; widows: auto; word-spacing: 0px; = -webkit-text-stroke-width: 0px; float: none; display: inline = !important;" class=3D""> errno is EWOULDBLOCK?</span><br = style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant: normal; font-weight: normal; letter-spacing: normal; = line-height: normal; orphans: auto; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: auto; word-spacing: = 0px; -webkit-text-stroke-width: 0px;" class=3D""><br style=3D"font-family:= Helvetica; font-size: 12px; font-style: normal; font-variant: normal; = font-weight: normal; letter-spacing: normal; line-height: normal; = orphans: auto; text-align: start; text-indent: 0px; text-transform: = none; white-space: normal; widows: auto; word-spacing: 0px; = -webkit-text-stroke-width: 0px;" class=3D""><span style=3D"font-family: = Helvetica; font-size: 12px; font-style: normal; font-variant: normal; = font-weight: normal; letter-spacing: normal; line-height: normal; = orphans: auto; text-align: start; text-indent: 0px; text-transform: = none; white-space: normal; widows: auto; word-spacing: 0px; = -webkit-text-stroke-width: 0px; float: none; display: inline = !important;" class=3D""> If so do you have any idea why = EWOULDBLOCK is being returned?</span><br style=3D"font-family: = Helvetica; font-size: 12px; font-style: normal; font-variant: normal; = font-weight: normal; letter-spacing: normal; line-height: normal; = orphans: auto; text-align: start; text-indent: 0px; text-transform: = none; white-space: normal; widows: auto; word-spacing: 0px; = -webkit-text-stroke-width: 0px;" class=3D""><br style=3D"font-family: = Helvetica; font-size: 12px; font-style: normal; font-variant: normal; = font-weight: normal; letter-spacing: normal; line-height: normal; = orphans: auto; text-align: start; text-indent: 0px; text-transform: = none; white-space: normal; widows: auto; word-spacing: 0px; = -webkit-text-stroke-width: 0px;" class=3D""><span style=3D"font-family: = Helvetica; font-size: 12px; font-style: normal; font-variant: normal; = font-weight: normal; letter-spacing: normal; line-height: normal; = orphans: auto; text-align: start; text-indent: 0px; text-transform: = none; white-space: normal; widows: auto; word-spacing: 0px; = -webkit-text-stroke-width: 0px; float: none; display: inline = !important;" class=3D"">On Fri, Mar 06, 2015 at 10:34:00AM +0100, Egoitz = Aurrekoetxea wrote:</span><br style=3D"font-family: Helvetica; = font-size: 12px; font-style: normal; font-variant: normal; font-weight: = normal; letter-spacing: normal; line-height: normal; orphans: auto; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: = 0px;" class=3D""><blockquote type=3D"cite" style=3D"font-family: = Helvetica; font-size: 12px; font-style: normal; font-variant: normal; = font-weight: normal; letter-spacing: normal; line-height: normal; = orphans: auto; text-align: start; text-indent: 0px; text-transform: = none; white-space: normal; widows: auto; word-spacing: 0px; = -webkit-text-stroke-width: 0px;" class=3D"">I had forgotten, the = versions of Vanessa are :<span = class=3D"Apple-converted-space"> </span><br class=3D""><br = class=3D"">libvanessa_adt-0.0.9<br class=3D"">libvanessa_logger-0.0.10<br = class=3D"">libvanessa_socket-0.0.12<br class=3D""><br class=3D"">Perhaps = I should check for this patch if errno is not EAGAIN and is EWOULDBLOCK = for allowing Perdition parent process to fail if errno is = EWOULDBLOCK??<span class=3D"Apple-converted-space"> </span><br = class=3D""><br class=3D"">At this stage I=E2=80=99m still trying to see = if this patch solves the issue=E2=80=A6.<br class=3D""><br class=3D"">Best= regards,<br class=3D""><br class=3D""><br class=3D"">Egoitz = Aurrekoetxea<br class=3D"">Departamento de sistemas<br class=3D"">944 = 209 470<br class=3D"">Parque Tecnol=C3=B3gico. Edificio 103<br = class=3D"">48170 Zamudio (Bizkaia)<br class=3D""><a = href=3D"mailto:[email protected]" class=3D"">[email protected]</a><span = class=3D"Apple-converted-space"> </span><<a = href=3D"mailto:[email protected]" = class=3D"">mailto:[email protected]</a>><br class=3D""><a = href=3D"http://www.sarenet.es/" class=3D"">www.sarenet.es</a><span = class=3D"Apple-converted-space"> </span><<a = href=3D"http://www.sarenet.es/" = class=3D"">http://www.sarenet.es/</a>><br class=3D"">Antes de = imprimir este correo electr=C3=B3nico piense si es necesario hacerlo.<br = class=3D""><br class=3D""><blockquote type=3D"cite" class=3D"">El = 5/3/2015, a las 16:59, Egoitz Aurrekoetxea <<a = href=3D"mailto:[email protected]" class=3D"">[email protected]</a>> = escribi=C3=B3:<br class=3D""><br class=3D"">God afternoon,<br = class=3D""><br class=3D"">I=E2=80=99m running some issues in a FreeBSD = 10.1 RELENG machine with Perdition 2.1. Once or twice a day the parent = process of POP3 or IMAP4 service dies. After doing some<span = class=3D"Apple-converted-space"> </span><br class=3D"">investigations= have seen the problem comes when at vanessa_socket_server.c file at = __vanessa_socket_server_accept() when it does the accept(). It seems = accept() is failing<span class=3D"Apple-converted-space"> </span><br = class=3D"">with 53 (which continues) and later with 35 (talking about = errno of course) with which exits with -1. So later is returning to = __vanessa_socket_server_acceptv() and this one returns to<span = class=3D"Apple-converted-space"> </span><br = class=3D"">vanessa_socket_server_acceptv due to :<span = class=3D"Apple-converted-space"> </span><br class=3D""><br = class=3D"">if (child < 0)<br class=3D""><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>return status;<br class=3D""><br = class=3D"">At this function (the last one) does exist :<span = class=3D"Apple-converted-space"> </span><br class=3D""><br = class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>child =3D __vanessa_socket_server_acceptv(&g, ufds[i].fd,<br = class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>listen_socketv,<span = class=3D"Apple-converted-space"> </span><br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>maximum_connections,<span = class=3D"Apple-converted-space"> </span><br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>return_from, return_to, flag);<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>VANESSA_LOGGER_DEBUG("EGOITZ 1E");<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>if (child = < 0) {<br class=3D""><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>VANESSA_LOGGER_DEBUG(<br = class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>"__vanessa_socket_server_acceptv");<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>goto = err;<br class=3D""><br class=3D""><br class=3D"">Perhaps this file be = (please ignore the debugging literals) could be like this ?<br = class=3D""><br class=3D"">--- vanessa_socket_server.c<span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>2010-06-22 09:21:37.000000000 +0200<br class=3D"">+++ = vanessa_socket_server.c<span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>2015-03-05 16:50:25.000000000 = +0100<br class=3D"">@@ -388,10 +388,20 @@<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>addrlen =3D= sizeof(from);<br class=3D""><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>*g =3D accept(listen_socket, = (struct sockaddr *) &from, &addrlen);<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>if (*g = < 0) {<br class=3D"">+<span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>char codigo[20];<br = class=3D"">+<span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>sprintf(codigo, "%d", errno);<br class=3D"">+<span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>VANESSA_LOGGER_DEBUG("Falla accept con el error");<br = class=3D"">+<span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>VANESSA_LOGGER_DEBUG("=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D");<br class=3D"">+<span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>VANESSA_LOGGER_DEBUG(codigo);<br class=3D"">+<span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>VANESSA_LOGGER_DEBUG("=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D");<span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><br class=3D"">+<span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>if (errno = =3D=3D EAGAIN)<span class=3D"Apple-converted-space"> </span><br = class=3D"">+<span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>{<br class=3D"">+<span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>VANESSA_LOGGER_DEBUG("TENEMOS UN = EAGAIN");<br class=3D"">+<span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>}<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>if(errno = =3D=3D EINTR || errno =3D=3D ECONNABORTED) {<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>continue; = /* Ignore EINTR and ECONNABORTED */<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>}<br = class=3D"">-<span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>if (errno =3D=3D EAGAIN || errno =3D=3D EWOULDBLOCK)<br = class=3D"">+<span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>if (errno =3D=3D EWOULDBLOCK || errno =3D=3D EAGAIN)<br = class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>return -1; /* Don't log EAGAIN or EWOULDBLOCK */<br = class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>VANESSA_LOGGER_DEBUG_ERRNO("accept");<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>return(-1);<br class=3D"">@@ -551,7 +561,10 @@<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>flag);<br = class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>if (child < 0) {<br class=3D""><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>if (errno =3D=3D EAGAIN || errno = =3D=3D EWOULDBLOCK)<br class=3D"">+<span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>{<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>status =3D = 0;<br class=3D"">+<span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span><span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span><span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span>VANESSA_LOGGER_DEBUG("EGOITZ STATUS -----> 0");<br = class=3D"">+<span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>}<br class=3D""><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>else {<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>VANESSA_LOGGER_DEBUG("__vanessa_socket_server_accept");<br = class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>status =3D -1;<br class=3D"">@@ -561,6 +574,7 @@<br = class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>if (!(opt & O_NONBLOCK) && child &&<br = class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span = class=3D"Apple-converted-space"> </span> fcntl(liste= n_socket, F_SETFL, opt) < 0) {<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>VANESSA_LOGGER_DEBUG_ERRNO("fcntl: F_SETFL 2");<br = class=3D"">+<span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>VANESSA_LOGGER_DEBUG("ERROR 0000001 AAAAA");<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>status =3D = -1;<br class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span>}<br class=3D""><br class=3D"">@@ -570,6 +584,7 @@<br = class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>if (!(opt & O_NONBLOCK) && (flag & = VANESSA_SOCKET_NO_FORK || !child) &&<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-converted-space"> </span> fcntl(*g, = F_SETFL, opt) < 0) {<br class=3D""><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> = </span>VANESSA_LOGGER_DEBUG_ERRNO("fcntl: F_SETFL 3");<br = class=3D"">+<span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>VANESSA_LOGGER_DEBUG("ERROR 0000002 BBBB");<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>status =3D = -1;<br class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span>}<br class=3D""><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><br class=3D"">@@ -632,6 +647,10 = @@<br class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span><span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span><span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span><span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span><span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span>"__vanessa_socket_server_acceptv");<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>goto = err;<br class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span><span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span><span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span>}<br class=3D"">+<span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>if (!child && g < = 0)<br class=3D"">+<span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span><span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span><span class=3D"Apple-tab-span" style=3D"white-space: = pre;"> </span>{<br class=3D"">+<span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>break;<br class=3D"">+<span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>}<span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><br = class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>if (flag & VANESSA_SOCKET_NO_FORK || !child) {<br = class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>status =3D g;<br class=3D""><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>goto out;<br class=3D""><br = class=3D"">Mainly talking about :<span = class=3D"Apple-converted-space"> </span><br class=3D""><br = class=3D"">+<span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>if (!child && g < 0)<br class=3D"">+<span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>{<br = class=3D"">+<span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>break;<br class=3D"">+<span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>}<span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span><br class=3D""><br class=3D"">That = way polling again socket fds instead of exiting and stop servicing the = affected protocol in each case (POP3 or IMAP4)??<br class=3D""><br = class=3D"">Have done this last modification without having the luck of = having an abnormal termination again, in order to check if this = works=E2=80=A6<br class=3D""><br class=3D"">Has anyone have noticed = about something similar?.<br class=3D""><br class=3D"">Thank you so = much,<br class=3D"">Regards,<span = class=3D"Apple-converted-space"> </span><br class=3D""><br = class=3D""><br class=3D"">Egoitz Aurrekoetxea<br class=3D"">Departamento = de sistemas<br class=3D"">944 209 470<br class=3D"">Parque Tecnol=C3=B3gic= o. Edificio 103<br class=3D"">48170 Zamudio (Bizkaia)<br class=3D""><a = href=3D"mailto:[email protected]" class=3D"">[email protected]</a><span = class=3D"Apple-converted-space"> </span><<a = href=3D"mailto:[email protected]" = class=3D"">mailto:[email protected]</a>><br class=3D""><a = href=3D"http://www.sarenet.es/" class=3D"">www.sarenet.es</a><span = class=3D"Apple-converted-space"> </span><<a = href=3D"http://www.sarenet.es/" = class=3D"">http://www.sarenet.es/</a>><br class=3D"">Antes de = imprimir este correo electr=C3=B3nico piense si es necesario hacerlo.<br = class=3D""><br = class=3D"">______________________________________________<br = class=3D"">Perdition-users mailing list<br class=3D""><a = href=3D"mailto:[email protected]" = class=3D"">[email protected]</a><br class=3D""><a = href=3D"http://lists.vergenet.net/listinfo/perdition-users" = class=3D"">http://lists.vergenet.net/listinfo/perdition-users</a><br = class=3D""></blockquote><br class=3D""></blockquote><br = style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant: normal; font-weight: normal; letter-spacing: normal; = line-height: normal; orphans: auto; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: auto; word-spacing: = 0px; -webkit-text-stroke-width: 0px;" class=3D""><blockquote type=3D"cite"= style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant: normal; font-weight: normal; letter-spacing: normal; = line-height: normal; orphans: auto; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: auto; word-spacing: = 0px; -webkit-text-stroke-width: 0px;" = class=3D"">______________________________________________<br = class=3D"">Perdition-users mailing list<br class=3D""><a = href=3D"mailto:[email protected]" = class=3D"">[email protected]</a><br class=3D""><a = href=3D"http://lists.vergenet.net/listinfo/perdition-users" = class=3D"">http://lists.vergenet.net/listinfo/perdition-users</a></blockqu= ote></div></blockquote></div><br = class=3D""></div></div></div></blockquote></div><br = class=3D""></div></body></html>= --Apple-Mail=_4AB47D41-B092-4783-BF03-55068F5582A7-- --===============1621219430== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ______________________________________________ Perdition-users mailing list [email protected] http://lists.vergenet.net/listinfo/perdition-users --===============1621219430==--