[Gluster-devel] epoll.c bug

Thierry EXCOFFIER exco at bat710.univ-lyon1.fr
Fri Nov 2 10:18:05 UTC 2007

Hash: SHA1

Anand Avati wrote:
>  can you please elaborate on the bug you faced? the change suggested below
> is redundant. Such a check is generally needed in a poll/select kind of
> construct, while not so using epoll.
>>   for (i=0; i < ret; i++) {
>>    if ( ectx->evs[i].events )     /**** This test was missing ****/
>>     epoll_notify (ectx->evs[i].events,
>>                   ectx->evs[i].data.ptr);
>>   }

Without the test, 'epoll_notify' was called with a NULL
value for 'ectx->evs[i].data.ptr'. So it made a 'segmentation fault'.

It's very hard for me to give you more information because on
this computer I can't make 'gdb' and 'ltrace' works.
And the system doesn't make 'core dumps' even with 'ulimit -c'.

Attaching 'gdb' on a running 'glusterfsd' process kill it.

As I compiled 'gdb' and 'ltrace' myself, I am not sure about
the source of the problem.

And 'valgrind' doesn't work for ARM processor :-(

So I put many 'printf' in the sources to search the problem.

Sincerely yours.
- --
Thierry.EXCOFFIER@@liris.univ-lyon1.fr//   GO: Oriental Strategy Game
LIRIS/UFR Informatique, bat710       //DYLAN: Programming Language
Universite Claude Bernard LYON 1  __// UNIX: Standard Operating System
43 Bd du 11 novembre 1918       //
69622 VILLEURBANNE, FRANCE     //WWW: http://www710.univ-lyon1.fr/~exco
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the Gluster-devel mailing list