[PATCH] tevent-glib-glue

Ralph Böhme slow at samba.org
Wed Mar 27 16:33:46 UTC 2019



> Am 27.03.2019 um 16:54 schrieb Noel Power <nopower at suse.com>:
> 
> On 27/03/2019 15:31, Ralph Böhme wrote:
>> 
>>> Am 27.03.2019 um 12:32 schrieb Noel Power <nopower at suse.com>:
>>> 
>>> Hi Ralph
>>> On 27/03/2019 11:13, Ralph Böhme wrote:
>>>> Hi Noel,
>>>> 
>>> [...]
>>>> hm, I've seen similar hangs on my local system in make test. But since when I went to debugging it other tests (smb2.acls) hangs as well in the same place, I attributed this to a problem with my system.
>>> make test TESTS='samba3.tevent_glib_glue ' runs perfectly here (although
>>> I never got to the bottom of why it wasn't running previously) Also I
>>> ran with WSP a good many times yesterday with no issues
>>>> For now just kill it, I'll try to run the tests manually on sn-devel and see how it goes.
>>> done, hopefully something simple
>> of course not! :)))
>> 
>> The unix-fd hangs is hanging, because the glib callback for one of the fds is never calle.
>> 
>> I've debugged this a bit on sn-devel and it seems g_main_context_check() doesn't return sources_ready=true, even though revents is correctly set in the gpollfd.
>> 
>> I'm suspecting a bug in glib2 related to the glib customisation functions. I've build the samba glib2 version on my system that is on sn-devel and will continue to drill into it.
> 
> 
> I wonder is it a glib version issue 2.54.3 here (and 2.40 I *think* on
> sn-devel (sorry not very ubuntu enabled),

Yes. I've now build that glib version on my system

▸ git describe 
2.40.2-2-ge98baaa54

and build Samba against it. Voilà, instant hang:

▸ source3/tevent_glib_glue_test
/mainloop/timeouts: OK
/mainloop/glib_ev_source: OK
/mainloop/tevent_ev_source: OK
/mainloop/unix-fd:
...hangs...


> also interestingly glib itself
> doesn't seem to take much notice of the return of g_main_context_check,
> see g_main_context_iteration -> g_main_context_iterate (where it calls
> dispatch regardless of whether context_check says sources are ready for
> dispatch)

yeah, I was also thinking in the direction of calling dispatch regardless of sources_ready.

-slow


More information about the samba-technical mailing list