On Tue, 10 Apr 2018 13:31:12 +0200
Marcel Hollerbach <m...@bu5hm4n.de> wrote:

> (Resending this to the list, as i hit the wrong button in my mail
> client :( )
> 
> (I did not read the whole backlog)
> 
> Little tips

Thanks!

> i) read the documentation of ECORE_EXE_EVENT_DEL. It is sent for
> EVERY child that exists,

It seems sometimes other things can interrupt such. Granted there is
some other problem taking place, or series of problems. I can provide
travis builds where the event is never fired. But that is in a
situation where something is going very wrong to cause such. It should
not happen normally.

The odd thing is even when it hangs, it seems the correct process is
ended. Just log output stops, as does other function execution.
All ps xa output shows that entrance_client was terminated.

>  isnt it possible that somehow the wrong pid
> sneaked into the kill call and thus you are getting the event for the
> xserver ?

I added log statements to see this, I can show in travis builds and
code. You can see the pid from callack here, this is fired from
ECORE_EXE_EVENT_DEL
https://github.com/Obsidian-StudiosInc/entrance/blob/master/src/daemon/entrance.c#L311

I also added pid logging just after ecore_exe_pipe_run
https://github.com/Obsidian-StudiosInc/entrance/blob/master/src/daemon/entrance.c#L297

> ii) is entrance_client really existing ? looks like the xserver died 
> before the child died, i would not wonder if that causes some
> confusion that leaves some x call stuck on a lock or something.

I think there is a problem with initialization. I am not seeing the
necessary communication between client and server. It never makes it
this far, and that first part is likely pretty crucial.

INF<13012>:entrance ../src/daemon/entrance_server.c:18 _entrance_server_add() 
server client connected
INF<13012>:entrance ../src/daemon/entrance_server.c:19 _entrance_server_add() 
Sending users
INF<13012>:entrance ../src/daemon/entrance_server.c:24 _entrance_server_add() 
Sending actions
INF<13012>:entrance ../src/daemon/entrance_server.c:30 _entrance_server_add() 
Sending xsessions
....

That likely means the client and server are not communicating. So the
cilent maybe ending, but its not properly interacting with the server
process. Which remains, and X process gets orphaned.


Keep something in mind, this is all specific to the Travis env. I do
not experience any of these issues in actual usage on real systems.
Though it could be related to some other issues I do experience.
Also not sure if systemd is causing things to behave differently.


-- 
William L. Thomson Jr.

Attachment: pgpLby4QK6_LD.pgp
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to