<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/4.8.5">
</HEAD>
<BODY>
Hi Miha,<BR>
<BR>
Given your error, clearly it is a buffer overflow by exceeding<BR>
boundaries. I've updated nopoll_io_wait_select_add_to code to detect<BR>
these situations and refuse working instead of breaking:<BR>
<BR>
<A HREF="https://github.com/ASPLes/nopoll/commit/ffc78bfe4a27106d88d65ae14c7f403e253568f0">https://github.com/ASPLes/nopoll/commit/ffc78bfe4a27106d88d65ae14c7f403e253568f0</A><BR>
<BR>
Also, if you want to increase that limit, just add the following before<BR>
including nopoll.h header (needs recompilation):<BR>
<BR>
<BLOCKQUOTE>
// define in your code new limit<BR>
#define FD_SETSIZE 4096<BR>
// then include nopoll.h (you need to recompile noPoll)<BR>
#include <nopoll.n><BR>
<BR>
</BLOCKQUOTE>
More at:<BR>
<BR>
http://www.aspl.es/nopoll/html/group__nopoll__decl__module_ga86c5dbf5a99358e288f573d6a1e0873f.html#ga86c5dbf5a99358e288f573d6a1e0873f<BR>
<BR>
Best Regards,<BR>
<BR>
<BLOCKQUOTE>
<BR>
</BLOCKQUOTE>
<BR>
<BR>
El lun, 07-08-2017 a las 12:30 +0200, Miha Nedok escribió:
<BLOCKQUOTE TYPE=CITE>
Francis, thank you for responding.
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
<BR>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
I was searching a bit and found some info regarding FD_SET
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
<A HREF="https://stackoverflow.com/questions/7976388/increasing-limit-of-fd-setsize-and-select">https://stackoverflow.com/questions/7976388/increasing-limit-of-fd-setsize-and-select</A>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
i then decided to log fds given into nopoll_io_wait_select_add_to
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
and it logged 1024 as last before reporting buffer overflow.
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
<BR>
<BR>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
<BR>
<BR>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
<BR>
<BR>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
<BR>
<BR>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
<BR>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
On Sun, Aug 6, 2017 at 6:25 PM, Francis Brosnan Blázquez <<A HREF="mailto:francis.brosnan@aspl.es">francis.brosnan@aspl.es</A>> wrote:
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
<BLOCKQUOTE>
Hello Miha,<BR>
<BR>
Try to check if latest version from <A HREF="http://github.com">github.com</A> fixes your issue:<BR>
<A HREF="https://github.com/ASPLes/nopoll/archive/master.zip">https://github.com/ASPLes/</A><A HREF="https://github.com/ASPLes/nopoll/archive/master.zip">nopoll/archive/master.zip </A> <BR>
<BR>
If bug persists, build your solution with debug enabled (without<BR>
stripping symbols as it seems to happen given the backtrace) to get a<BR>
stack trace with line indications...otherwise, it will say you it is<BR>
breaking/jumping at nopoll_io_wait_select_add_to but not where...<BR>
<BR>
At the same time, reading the function where segfault is happening:<BR>
<BR>
<BLOCKQUOTE>
<BLOCKQUOTE>
<IMG SRC="cid:1502036229.7001.6.camel@aspl.es" ALIGN="bottom" BORDER="0"><BR>
<BR>
</BLOCKQUOTE>
</BLOCKQUOTE>
..and the stack trace your are providing, it very likely the failure is<BR>
happening at:<BR>
<BR>
/* set the value */<BR>
FD_SET (fds, &(select->set));<BR>
<BR>
...and the only way for that to happen is that you are passing a<BR>
"select->" reference that was deallocated or a reference pointing to<BR>
nowhere. Obviously, this is a speculation without having the right<BR>
trace (though I'll bet the error is likely to be there).<BR>
<BR>
Best Regards,<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
El vie, 04-08-2017 a las 15:01 +0200, Miha Nedok escribió: <BR>
<BLOCKQUOTE TYPE=CITE>
With the version 0.4.4.b349<BR>
I am getting:<BR>
<BR>
<BR>
Aug 4 07:24:23 [73177]: *** buffer overflow detected ***: /usr/app/App terminated<BR>
Aug 4 07:24:23 [73177]: ======= Backtrace: =========<BR>
Aug 4 07:24:23 [73177]: /lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f1e282f57e5]<BR>
Aug 4 07:24:23 [73177]: /lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x7f1e2839711c]<BR>
Aug 4 07:24:23 [73177]: /lib/x86_64-linux-gnu/libc.so.6(+0x117120)[0x7f1e28395120]<BR>
Aug 4 07:24:23 [73177]: /lib/x86_64-linux-gnu/libc.so.6(+0x119067)[0x7f1e28397067]<BR>
Aug 4 07:24:23 [73177]: /usr/app/App(nopoll_io_wait_select_add_to+0x27)[0x4612f7]<BR>
Aug 4 07:24:23 [73177]: /usr/app/App(nopoll_loop_register+0x3b)[0x460c2b]<BR>
Aug 4 07:24:23 [73177]: /usr/app/App(nopoll_ctx_foreach_conn+0x7d)[0x457f5d]<BR>
Aug 4 07:24:23 [73177]: /usr/app/App(nopoll_loop_wait+0x74)[0x460f84]<BR>
<BR>
<BR>
And i cannot reproduce this on test server even if i put it on a lot of pressure<BR>
with multiple clients.<BR>
<BR>
<BR>
How can I help to debug this?<BR>
<BR>
<BR>
<BR>
<BR>
<PRE>
_______________________________________________
noPoll mailing list
<A HREF="mailto:noPoll@lists.aspl.es">noPoll@lists.aspl.es</A>
<A HREF="http://lists.aspl.es/cgi-bin/mailman/listinfo/nopoll">http://lists.aspl.es/cgi-bin/</A><A HREF="http://lists.aspl.es/cgi-bin/mailman/listinfo/nopoll">mailman/listinfo/nopoll</A>
</PRE>
</BLOCKQUOTE>
<BR>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
<PRE>
--
Francis Brosnan Blázquez - ASPL
<A HREF="http://www.asplhosting.com/">http://www.asplhosting.com/</A>
<A HREF="http://www.aspl.es/">http://www.aspl.es/</A>
<A HREF="https://twitter.com/aspl_es">https://twitter.com/aspl_es</A>
<A HREF="https://twitter.com/asplhosting">https://twitter.com/</A><A HREF="https://twitter.com/asplhosting">asplhosting</A>
<A HREF="https://twitter.com/francisbrosnanb">https://twitter.com/</A><A HREF="https://twitter.com/francisbrosnanb">francisbrosnanb</A>
<A HREF="https://es.linkedin.com/in/">https://es.linkedin.com/in/</A>francis-brosnan-blázquez-1353a218
91 134 14 22 - 91 134 14 45 - 91 116 07 57
Av. Juan Carlos I 13, 2ºC, Torre Garena
28806 - Alcalá de Henares (España)
AVISO LEGAL
En virtud de lo dispuesto en la Ley Orgánica 15/1999, de 13 de
diciembre, de Protección de Datos de Carácter Personal, le informamos de
que sus datos de carácter personal, recogidos de fuentes accesibles al
público o datos que usted nos ha facilitado previamente, proceden de
bases de datos propiedad de Advanced Software Production Line, S.L.
(ASPL).
ASPL garantiza que los datos serán tratados con la finalidad de mantener
las oportunas relaciones comerciales o promocionales con usted o la
entidad que usted representa. No obstante, usted puede ejercitar sus
derechos de acceso, rectificación, cancelación y oposición dispuestos en
la mencionada Ley Orgánica, notificándolo por escrito a ASPL -
Protección Datos, Av. Juan Carlos I 13, 2ºC, Alcalá de Henares
(Madrid).
</PRE>
</TD>
</TR>
</TABLE>
</BLOCKQUOTE>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
<BR>
<BR>
</BLOCKQUOTE>
<BR>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
--
Francis Brosnan Blázquez - ASPL
91 134 14 22 - 91 134 14 45 - 91 116 07 57
<BR>
<BR>
<A HREF="http://aspl.es">http://aspl.es</A>
<A HREF="http://asplhosting.com">http://asplhosting.com</A>
<A HREF="http://twitter.com/aspl_es">http://twitter.com/aspl_es</A>
<A HREF="http://twitter.com/asplhosting">http://twitter.com/asplhosting</A>
<BR>
<BR>
AVISO LEGAL
<BR>
<BR>
Este mensaje se dirige exclusivamente a su destinatario. Los datos
incluidos en el presente correo son confidenciales y sometidos a secreto
profesional, se prohíbe divulgarlos, en virtud de las leyes vigentes. Si
usted no lo es y lo ha recibido por error o tiene conocimiento del mismo
por cualquier motivo, le rogamos que nos lo comunique por este medio y
proceda a destruirlo o borrarlo.
<BR>
<BR>
En virtud de lo dispuesto en la Ley Orgánica 15/1999, de 13 de
diciembre, de Protección de Datos de Carácter Personal, le informamos de
que sus datos de carácter personal, recogidos de fuentes accesibles al
público o datos que usted nos ha facilitado previamente, proceden de
bases de datos propiedad de Advanced Software Production Line, S.L.
(ASPL). No obstante, usted puede ejercitar sus derechos de acceso,
rectificación, cancelación y oposición dispuestos en la mencionada Ley
Orgánica, notificándolo por escrito a:
ASPL - Protección Datos, C/Antonio Suárez 10 A-102, 28802, Alcalá de
Henares (Madrid).
<BR>
<BR>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>