I got my new smartos image and alos samba 4.1.10 built, it works, no more
'net ads join' crashes.

Your help is absolutely appreciated.

Thanks,

 -Youzhong



On Fri, Aug 1, 2014 at 9:42 AM, Youzhong Yang <youzh...@gmail.com> wrote:

> Thanks very much for the quick fix.
>
> I'll build a new image and also samba, then report back after testing.
>
> -Youzhong
>
>
> On Fri, Aug 1, 2014 at 4:56 AM, Bryan Cantrill <bryancantr...@gmail.com>
> wrote:
>
>>
>> Perfect -- thank you!  As it turns out, this was -- as you surmised -- a
>> bug in our epoll implementation.  I have pushed the fix:
>>
>>
>> https://github.com/joyent/illumos-joyent/commit/471f1f3ef02e25a84d7c36c857ed260ae2b7ac99
>>
>> Thanks for taking the time for the clean test case -- and apologies for
>> the bug!
>>
>>          - Bryan
>>
>>
>> On Thu, Jul 31, 2014 at 7:28 AM, Youzhong Yang <youzh...@gmail.com>
>> wrote:
>>
>>> Thanks Bryan.
>>>
>>> I take back what I said. epoll_* does not ignore epoll_event.data passed
>>> in.
>>>
>>> I managed to reproduce the issue with a program rewritten from yours:
>>>
>>> # gcc myepoll.c
>>> # ./a.out
>>> EPOLL_CTL_ADD: fd = 4, ptr = fffffd7fffdffba0
>>> writing to pipe fd 5
>>> written 6 bytes to fd 5
>>> Got an event on fd 4, events = 1, ptr = fffffd7fffdffba0
>>> got 6 bytes from fd 5
>>> EPOLL_CTL_DEL: fd = 4, ptr = fffffd7fffdffba0
>>> EPOLL_CTL_ADD: fd = 4, ptr = fffffd7fffdffb80
>>> writing to pipe fd 5
>>> written 6 bytes to fd 5
>>> Got an event on fd 4, events = 1, ptr = fffffd7fffdffba0
>>> got 6 bytes from fd 5
>>>
>>> As it indicates, the issue here is that after EPOLL_CTL_DEL, and then
>>> EPOLL_CTL_ADD of the same file descriptor with a new data.ptr, epoll_wait
>>> still returns an old pointer.
>>>
>>> C code is attached for your reference.
>>>
>>> Thanks very much,
>>>
>>> -Youzhong
>>>
>>>
>>> On Wed, Jul 30, 2014 at 5:38 PM, Bryan Cantrill <bryancantr...@gmail.com
>>> > wrote:
>>>
>>>>
>>>> Seems like a bug, but not sure I entirely understand:  there may be
>>>> some edge conditions where data specified in the "data" field of the
>>>> epoll_event structure via epoll_ctl() is not properly returned, but it's
>>>> not true that SmartOS simply ignores it.  Take, for example, the following
>>>> program:
>>>>
>>>>   https://us-east.manta.joyent.com/bcantrill/public/epoll_add.c
>>>>
>>>> (It's essentially the most basic possible use of epoll(5).)  Compiling
>>>> that program and running it yields (for me, anyway) the same result on
>>>> SmartOS as it does on Linux:
>>>>
>>>>   $ ./epoll_add
>>>>   writing to pipe
>>>>   adding event...
>>>>   parent: got an event on fd 4
>>>>
>>>> I certainly don't doubt that there's a bug here -- I just don't think
>>>> it's quite as broad as you're implying; could you point me to the core file
>>>> for Samba and/or instructions as to how to reproduce the issue?
>>>>
>>>>         - Bryan
>>>>
>>>>
>>>>
>>>> On Wed, Jul 30, 2014 at 2:08 PM, Youzhong Yang via smartos-discuss <
>>>> smartos-discuss@lists.smartos.org> wrote:
>>>>
>>>>> Hi All,
>>>>>
>>>>> The man page of epoll_ctl says:
>>>>>
>>>>>      The data field specifies the datum  to  be  associated  with  the
>>>>>      event  and  will be returned via epoll_wait(3C). The events field
>>>>>      denotes both the desired events (when specified via  epoll_ctl())
>>>>>      and   the   events   that   have   occurred  (when  returned  via
>>>>>      epoll_wait(3C)).
>>>>>
>>>>> This does not seem to be the case and is not compatible with Linux's
>>>>> implementation. Recently I tried to compile Samba 4.1.10 on smartos and
>>>>> 'net ads join' just crashes. Samba uses epoll_event.data.ptr to keep track
>>>>> of its tevent_fd data but epoll_ctl() on smartos simply ignores it and 
>>>>> does
>>>>> not keep a copy of the 'data' structure and returns it when epoll_wait is
>>>>> called.
>>>>>
>>>>> Can I assume this is an implementation specific bug?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> -Youzhong
>>>>>  *smartos-discuss* | Archives
>>>>> <https://www.listbox.com/member/archive/184463/=now>
>>>>> <https://www.listbox.com/member/archive/rss/184463/21493597-819305a5>
>>>>> | Modify
>>>>> <https://www.listbox.com/member/?&;>
>>>>> Your Subscription <http://www.listbox.com>
>>>>>
>>>>
>>>>
>>>
>>
>



-------------------------------------------
smartos-discuss
Archives: https://www.listbox.com/member/archive/184463/=now
RSS Feed: https://www.listbox.com/member/archive/rss/184463/25769125-55cfbc00
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=25769125&id_secret=25769125-7688e9fb
Powered by Listbox: http://www.listbox.com

Reply via email to