On Mon, 8 Jan 2024 23:20:16 -0800 Ross Vandegrift <[email protected]> said:
> On Mon, Jan 08, 2024 at 11:08:55PM +0000, Carsten Haitzler wrote:
> > try run the above eina test suite and pipe to something that makes it
> > timeout... and strace it - or gdb attach to it and find out where it's
> > sitting? it should complete in < 1 sec so launch and immediately try and
> > strace and/or gdb attach and find out where it's at - if it is still around.
> >
> > is somehow a forked child not coming back that it expects to... ?
>
> Yea, it's something like this. I found out it hangs for exactly 60s, which
> lead me to timeout.c. I also learned strace -f triggers the issue.
> CK_FORK=no fixes the hang as well.
>
> I added debug printfs to efl_check.h and timeout.c - when eina_suite tries to
> kill timeout, it kills the wrong pid:
>
> $ ./build/src/tests/eina/eina_suite fp
> Running suite(s): eina_init_module
> 100%: Checks: 0, Failures: 0, Errors: 0
> -------------------- efl_check forked timeout: 296393 <-----
> -------------------- efl_check forked timeout: 0
> Running suite(s): Eina
> -------------------- timeout.c my pid: 296396 <-----
> Max delta(multiplication): 0.007627 (0.061668%)
> Max delta(division): 0.000173 (0.740211%)
> 100%: Checks: 4, Failures: 0, Errors: 0
> -------------------- efl_check killing timeout child: 296393
> -------------------- efl_check cleared timeout_pid: 0
>
> So eina_suite.c gets the wrong pid from fork(). In a simple standalone
> program, fork() behaves as expected.
>
> I'm going to compare the arch & debian check packages for any suspicious
> differences. And maybe walk through more carefully with gdb. But I'm out of
> time tonight.
>
> Ross
some more testing. i ran:
./src/tests/eina/eina_suite | wc -l
and... guess what... eina_suite has gone but wc is still there waiting. this is
far deeper... is there some cgroup, selinux or something thing getting in the
way? is it a kernel bug? a glibc bug? i just have to say.. i the efl test
process is gone - and wc is still waiting the problem is somewhere in the
plumbing between these IMHO... at least that's what my brain is thinking right
now. pstree:
│ │ │ │
├─terminology─┬─zsh───wc
│ │ │ │ │
└─3*[{terminology}]
:(
--
------------- Codito, ergo sum - "I code, therefore I am" --------------
Carsten Haitzler - [email protected]
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel