Skip to content
This repository has been archived by the owner on Jul 1, 2024. It is now read-only.

Failing to run entrance locally #33

Closed
rafspiny opened this issue Nov 5, 2018 · 11 comments
Closed

Failing to run entrance locally #33

rafspiny opened this issue Nov 5, 2018 · 11 comments

Comments

@rafspiny
Copy link

rafspiny commented Nov 5, 2018

Description

Unable to run entrance locally.

Steps to reproduce

  1. Run ./utils/local_build.sh

> 16:45 $ ./utils/local_build.sh
> The Meson build system
> Version: 0.46.1
> Source dir: /data/projects/entrance
> Build dir: /data/projects/entrance/build
> Build type: native build
> Project name: entrance
> Native C compiler: cc (gcc 6.4.0 "gcc (Gentoo 6.4.0-r1 p1.3) 6.4.0")
> Build machine cpu family: x86_64
> Build machine cpu: x86_64
> Library crypt found: YES
> Found pkg-config: /usr/bin/pkg-config (0.29.2)
> Native dependency elementary found: YES 1.21.99.59806
> Native dependency ecore-x found: YES 1.21.99.59806
> Native dependency edje found: YES 1.21.99.59806
> Native dependency xcb found: YES 1.13
> Library pam found: YES
> Has header "alloca.h": YES
> Configuring config.h using configuration
> Configuring entrance.conf using configuration
> Configuring entrance using configuration
> Program /data/projects/entrance/meson-chmod.sh found: YES (/data/projects/entrance/meson-chmod.sh)
> Build targets in project: 6
> Found ninja-1.8.2 at /usr/bin/ninja
> scan-build: Using '/usr/lib64/llvm/6/bin/clang-6.0' for static analysis
> ninja: Entering directory `build'
> [6/20] Compiling C object 'src/bin/src@bin@@entrance_client@exe/entrance_login.c.o'.
> ../src/bin/entrance_login.c: In function ‘_login_auth_cb’:
> ../src/bin/entrance_login.c:216:40: warning: unused parameter ‘user’ [-Wunused-parameter]
>  _login_auth_cb(void *data, const char *user, Eina_Bool granted)
>                                         ^~~~
> [20/20] Generating default.edj with a custom command.
> scan-build: Removing directory '/tmp/scan-build-2018-11-05-164529-6980-1' because it contains no reports.
> scan-build: No bugs found.

  1. Run ./utils/entrance_xephyr.sh

INF<7356>:entrance ../src/daemon/entrance_config.c:87 _users_get() entrance: Updating configuration

The only thing I see is a blank screen.
entrance_xephyr

  1. I though I should have started an entrance client, so I ran

DISPLAY=:1.0 ./build/test/entrance/entrance_client -d=:1.0 -p=43 -t=default

../src/bin/entrance_client.c:87 root gid not allowed, defaulting to nobody
../src/bin/entrance_client.c:94 root uid not allowed, defaulting to nobody
../src/bin/entrance_client.c:107 login init
../src/bin/entrance_client.c:109 gui init
../src/bin/entrance_gui.c:79 Gui init: default
../src/bin/entrance_client.c:111 connect init
../src/bin/entrance_connect.c:243 client connected to server
../src/bin/entrance_connect.c:39 disconnected

Basically, it seems like I got immediately disconnected.

How entrance is started

I am using the scripts in the utils folder

System information

  • OS: Gentoo Linux
  • Pam enabled
  • Consolekit disabled
  • Systemd
  • EFL Version: 999, from git

Probably, it is just my lack of knowledge about X and entrance. Nevertheless, a small wiki page to explain how this is supposed to be used, would help.

@wltjr
Copy link
Member

wltjr commented Nov 5, 2018

This is a known issue #30 that broke between beta and actual releases. Anything since 1.21.1 including git has this issue. I have spent time investigating without any luck. I need to rebuild EFL reverting commits between beta and release 1.21.1.

Sadly upstream does not care about entrance at all. They want to make E such that it can be a desktop, wm and a login manager. I am not aware of any efforts to make it such. Most presently start E from the command line.

I have spent several hours looking into this. It is very odd. Everything starts without, the cursor moves with the mouse, yet the display never renders. Like an event did not take place, or a focus issue. There were not that many commits between beta and release of 1.21.1, but one of them did break entrance. Or I need to do something else to get the UI to start/render, I am presently lacking. Its really chasing a needle in a hay stack.

@wltjr
Copy link
Member

wltjr commented Nov 5, 2018

If you switch to EFL 1.20.7, or anything before 1.21.1 release it works fine. I will fix it ASAP. It halted my progress with wayland integration via dbus using elogind or logind.

@rafspiny
Copy link
Author

rafspiny commented Nov 7, 2018

Thanks! I did not realised it was the same as #30. I will try EFL 1.20.7 tonight btw.

@wltjr
Copy link
Member

wltjr commented Nov 7, 2018

No worries, I did a really bad job of describing the issue in #30. I mostly did it as a reminder to fix entrance. I assumed at the time it was a trivial problem to resolve. Now I know otherwise, and have no clue how long it will take to fix. It should be something minor, but I must find the needle in the hay stack. That upstream is moving to more Wayland and less X stuff. That does not help either.

I want to move Entrance to Wayland, but it still needs to support both, for running Entrance UI itself under X or Wayland, in addition to launching X or Wayland sessions. I was working on the session part. Now I may have to see about running entrance UI under Wayland to fix the issue. I feel like it is something X related, though maybe not. Since X starts, cursor moves with mouse, just the EFL/Elementary stuff never starts it seems. Though no errors during startup. Seems like maybe a focus issue or something waiting, for an event. The UI does not seem to know it needs to start or something.

@rafspiny
Copy link
Author

rafspiny commented Nov 8, 2018

Thanks for the explanation. I tried EFL 1.20.7 and it is working like you said.
If I may help you with testing, just let me know.

@wltjr
Copy link
Member

wltjr commented Nov 8, 2018

There were not that many commits, only 2 pages of history, between efl-1.21.0-beta2 and the released efl-1.21.1. Something in that set of commits is what broke entrance on EFL 1.21.1. I need to review each, and/or revert them one by one to find the cause.

I feel like its some API or change in EFL, like with focus or something. That causes things to not fully start. But could be something else, something with the change in default EFL themes, or other.

@rafspiny
Copy link
Author

Yesterday I narrowed it down to this list:
From 1c029b8fd96599bbb14965fa436efa265da5dd96 to 65c6b158f928d25bdd9f3dfe2e90e335016982fa

I will finish the search for the commit tonight

@wltjr
Copy link
Member

wltjr commented Nov 27, 2018

Excellent! Thank you very much for your time in looking into this issue. Hopefully you can find the commit that broke entrance. If not, I should have time for this in a couple weeks, once I wrap up some other stuff. My plan was just to create some reverse patches to undo the commits, till I found one that restored Entrance functionality. Then I would look further into that change to see if it is an API change or breakage. Either way again I appreciate your time and effort!

@rafspiny
Copy link
Author

Sure, no problem. With git bisect I found out breaking commit.
Possibly, setting the prop.override can do the trick for the moment.

@wltjr wltjr closed this as completed in 0e9596e Nov 27, 2018
@wltjr
Copy link
Member

wltjr commented Nov 27, 2018

@rafspiny You rock man! Thanks for locating that commit and the suggestion for a fix. I was able to resolve this for myself locally. This should resolve the issue for you and others. I can finally upgrade EFL on my laptop. I have had entrance running via auto-login on my desktop to get around the GUI issues. Now I no longer have to do that, though likely will leave auto-login in place on my desktop.

I can also get back to furthering entrance, like dbus integration for Wayland. I rather avoid having to do any system calls to like loginctrl to start the session for Wayland, seat, etc. I want to do that via dbus. I was making progress with initial dbus integration till this issue came up and prevented all progress.

Once again a HUGE thanks!!!

@wltjr
Copy link
Member

wltjr commented Dec 1, 2018

This did fix running entrance via xephyr, but there is another issue under EFL 1.21.1 for regular usage. I opened issue #34. I have dealt with the similar symptoms quite a lot. I thought I had all those resolved. It is likely something I can fix. If you log in via auto-login and then log out, it launches the client UI without issue. It is just on first start for regular log in. That is odd, but maybe something else changed in order of initializing things under 1.21.1 or side effect of the override property. But at least I can work on it locally again 👍

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants