Page MenuHomePhabricator

Working on issues where entrance is hanging after session logout
Needs ReviewPublic

Authored by mauricio.dante.corbini on May 17 2016, 6:32 AM.

Details

Reviewers
michael.bouchaud
Summary

Implementation of child process reaper with server main loop closedown Added another debug flag to tweak paths so xephyr run uses fresh compiles from src directory instead of...

...PACKAGE DIR

Trying to solve session logout issues encountered when running entrance on debian 8

Diff Detail

Repository
rMENTR misc/entrance
Branch
experimental
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 2055
Build 2120: arc lint + arc unit
mauricio.dante.corbini retitled this revision from to Working on issues where entrance is hanging after session logout. Implementation of child process reaper with server main loop closedown Added another debug flag to tweak paths so xephyr run uses fresh compiles from src directory instead of....
mauricio.dante.corbini updated this object.
mauricio.dante.corbini edited the test plan for this revision. (Show Details)
raster retitled this revision from Working on issues where entrance is hanging after session logout. Implementation of child process reaper with server main loop closedown Added another debug flag to tweak paths so xephyr run uses fresh compiles from src directory instead of... to Working on issues where entrance is hanging after session logout.May 18 2016, 1:33 AM
raster updated this object.

The utility script runs with gdb even when not asked to, can that be backed out please?
I'd like to test this properly but currently entrance quits when I've logged out (systemd).

mhmm @ajwillia.ms, do you have systemd setup to kill all processes once your session exits ?

  • cleaned up entrance xephyr command line args

About the patch. The entrance process don't wait the end of the session. Entrance only launch a session and exec entrance_wait,to wait the child process. Entrance is reexec from entrance_wait to close the session.

Start:
entrance
 |____ X
 |____ entrance_client 

Login (waiting start of the wm)
entrance
 |____ X
 |____ entrance_client
 |____ enlightenment

Login (done)
entrance_wait
 |____ X
 |____ enlightenment

Session end
entrance
|___ X

And what say the command 'last' when you launch and close a session now with your patch. I think the session isn't closed. entrance_session_shutdown do nothing exept cleaning thing before exec entrance_wait.

About the patch. The entrance process don't wait the end of the session. Entrance only launch a session and exec entrance_wait,to wait the child process. Entrance is reexec from entrance_wait to close the session.

And what say the command 'last' when you launch and close a session now with your patch. I think the session isn't closed. entrance_session_shutdown do nothing exept cleaning thing before exec entrance_wait.

Well, I did have some trouble figuring out what exactly is going on with the server, the client and the wait process, therefore I am not really confident about the quality of this solution. What I know is that I am running entrance as display manager for about one or two years now with the shutdown having been blocked for several minutes for quite some time, but since I applied this patch I only observed a delay on two single occasions - not sure why. Normally it just shuts down now, and I also can relogin after logout without problems, which before I could not, I had to kill it completely from console to reactivate the X display. I think you got the child process dependencies a bit wrong at some point, but by now I suspect there must be a cleaner solution to all this...

I don't close the task. I just make the review. Don't take it personaly :).
I will install a debian tomorow and test it.

Thx for the report

I don't close the task. I just make the review. Don't take it personaly :).
I will install a debian tomorow and test it.

Pas du probleme, merci...

zmike added a project: Restricted Project.May 2 2018, 3:20 PM