Page MenuHomePhabricator

enlightenment master compiled with wayland_only under E_WL_FORCE doesn't seem to place client windows when compiled with 32 bits
Closed, ResolvedPublic

Description

I have two almost identical systems except for one that is 64 bit, and one that is 32 bit. They are both the same version of Ubuntu underneath, the same packages installed, and the same revisions of everything I compiled manually (they were built with a script).

It seems that the 64 bit version enlightenment works fine, and clients and internal windows appear.

However on the 32 bit version, when I try to open terminology, or the settings panel or about box, the windows don't appear, however it appears that they do get listed on the task bar... ...I noticed the CPU usage is also higher at about 60% compared to about 9% on the 64 bit version.

I get no interesting things on the logs in the 32 bit version that isn't in the 64 bit version when I bring up a client. they both output lines that say @ match screens and @ matches existing zone.

Other than that, I don't know what other debug info I can provide.

EDIT: Forgot to mention efl, enlightenment, and elementary were all compiled this morning 2015/03/09

n3rdopolis updated the task description. (Show Details)
n3rdopolis raised the priority of this task from to Incoming Queue.
n3rdopolis added a project: enlightenment-git.
n3rdopolis added a subscriber: n3rdopolis.
n3rdopolis updated the task description. (Show Details)Mar 9 2015, 6:58 PM

I suspect this has to do with using uint64_t for the window id .. but not having 32-bit here, I cannot confirm

zmike added a subscriber: zmike.Mar 11 2015, 2:27 PM

I can't think of a direct reason why this could be happening. It may be helpful if you can provide a log from running with the following patch:

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 60132b6..2250141 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -1419,6 +1419,7 @@ _e_comp_wl_compositor_cb_surface_create(struct wl_client *client, struct wl_reso
 
    wl_client_get_credentials(client, &pid, NULL, NULL);
    win = e_comp_wl_id_get(id, pid);
+   fprintf(stderr, "WINID FOR SURFACE(%"PRIu32"): %"PRIu64"\n", id, win);
    /* try to create new pixmap */
    if (!(ep = e_pixmap_new(E_PIXMAP_TYPE_WL, win)))
      {

@ match screens 0x97b8a00[0] = 0 0 1024x768 -- 0
@ matches existing zone 0x97bedb0

move resize 0 0 1024x768 -> 0 0 1024x768

WINID FOR SURFACE(24): 103079217748

devilhorns added a comment.EditedMar 11 2015, 5:14 PM

This does Not look like our "typical" window id's......

Win ID foR surface, Yes ...

zmike added a comment.Mar 11 2015, 5:18 PM
In T2194#9, @n3rdopolis wrote:

@ match screens 0x97b8a00[0] = 0 0 1024x768 -- 0
@ matches existing zone 0x97bedb0

move resize 0 0 1024x768 -> 0 0 1024x768

WINID FOR SURFACE(24): 103079217748

I need more logs. Open a bunch of windows.

ESTART: 1.53903 [0.00004] - SLEEP
ERR<2990>:eldbus lib/eldbus/eldbus_proxy.c:780 _props_get_all() Error getting all properties of org.freedesktop.UDisks2 /org/freedesktop/UDisks2/block_devices/sda1, error message: org.enlightenment.DBus.Canceled Canceled by user.
ERR<2990>:eldbus lib/eldbus/eldbus_proxy.c:780 _props_get_all() Error getting all properties of org.freedesktop.UDisks2 /org/freedesktop/UDisks2/block_devices/loop0, error message: org.enlightenment.DBus.Canceled Canceled by user.
ERR<2990>:eldbus lib/eldbus/eldbus_proxy.c:780 _props_get_all() Error getting all properties of org.freedesktop.UDisks2 /org/freedesktop/UDisks2/drives/Hitachi_HTS541060G9SA00_MPBCP0XGKHJ39M, error message: org.enlightenment.DBus.Canceled Canceled by user.
Failure: Module initialization failed
ERR<>lib/eina/eina_file_common.c:496 safety check failed: file == NULL
ERR<>lib/eina/eina_file.c:922 safety check failed: file == NULL
ERR<>lib/eina/eina_file.c:1044 safety check failed: file == NULL
ERR<>lib/eina/eina_file_common.c:469 safety check failed: file == NULL
ERR<3057>: lib/ecore_wayland/ecore_wl_input.c:223 ecore_wl_input_cursor_size_set() safety check failed: input->display->wl.shm == NULL
ERR<3057>: lib/ecore_wayland/ecore_wl_input.c:238 ecore_wl_input_cursor_theme_name_set() safety check failed: input->display->wl.shm == NULL
WINID FOR SURFACE(12): 51539610609
WINID FOR SURFACE(15): 64424512497
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ match screens 0x9a481a0[0] = 0 0 1280x800 -- 0
@ matches existing zone 0x9a4d1e8

move resize 0 0 1280x800 -> 0 0 1280x800

WINID FOR SURFACE(17): 73014446902
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ match screens 0x9a481a0[0] = 0 0 1280x800 -- 0
@ matches existing zone 0x9a4d1e8

move resize 0 0 1280x800 -> 0 0 1280x800

WINID FOR SURFACE(30): 128849021750
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ match screens 0x9a481a0[0] = 0 0 1280x800 -- 0
@ matches existing zone 0x9a4d1e8

move resize 0 0 1280x800 -> 0 0 1280x800

WINID FOR SURFACE(39): 167503727414
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ match screens 0x9a481a0[0] = 0 0 1280x800 -- 0
@ matches existing zone 0x9a4d1e8

move resize 0 0 1280x800 -> 0 0 1280x800

WINID FOR SURFACE(48): 206158433078
ERR<3115>: lib/ecore_wayland/ecore_wl_input.c:223 ecore_wl_input_cursor_size_set() safety check failed: input->display->wl.shm == NULL
ERR<3115>: lib/ecore_wayland/ecore_wl_input.c:238 ecore_wl_input_cursor_theme_name_set() safety check failed: input->display->wl.shm == NULL
WINID FOR SURFACE(12): 51539610667
WINID FOR SURFACE(15): 64424512555
ERR<3140>: lib/ecore_wayland/ecore_wl_input.c:223 ecore_wl_input_cursor_size_set() safety check failed: input->display->wl.shm == NULL
ERR<3140>: lib/ecore_wayland/ecore_wl_input.c:238 ecore_wl_input_cursor_theme_name_set() safety check failed: input->display->wl.shm == NULL
WINID FOR SURFACE(12): 51539610692
WINID FOR SURFACE(15): 64424512580
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
ERR<eo>lib/eo/eo.c:485 Obj (0xa152bc0) is an invalid ref.
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ match screens 0x9a481a0[0] = 0 0 1280x800 -- 0
@ matches existing zone 0x9a4d1e8

move resize 0 0 1280x800 -> 0 0 1280x800

WINID FOR SURFACE(50): 214748367670
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
ERR<eo>lib/eo/eo.c:485 Obj (0xa157250) is an invalid ref.
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ match screens 0x9a481a0[0] = 0 0 1280x800 -- 0
@ matches existing zone 0x9a4d1e8

move resize 0 0 1280x800 -> 0 0 1280x800

WINID FOR SURFACE(23): 98784250678
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
ERR<eo>lib/eo/eo.c:485 Obj (0xa2a4130) is an invalid ref.
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ match screens 0x9a481a0[0] = 0 0 1280x800 -- 0
@ matches existing zone 0x9a4d1e8

move resize 0 0 1280x800 -> 0 0 1280x800

WINID FOR SURFACE(63): 270582942518
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
ERR<eo>lib/eo/eo.c:485 Obj (0xa4160b8) is an invalid ref.
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ match screens 0x9a481a0[0] = 0 0 1280x800 -- 0
@ matches existing zone 0x9a4d1e8

move resize 0 0 1280x800 -> 0 0 1280x800

EEEK! trying to place 0x0 window!!!!
WINID FOR SURFACE(72): 309237648182
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ match screens 0x9a481a0[0] = 0 0 1280x800 -- 0
@ matches existing zone 0x9a4d1e8

move resize 0 0 1280x800 -> 0 0 1280x800

WINID FOR SURFACE(81): 347892353846
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
ERR<eo>lib/eo/eo.c:485 Obj (0xa351638) is an invalid ref.
ERR<>lib/eina/eina_hash.c:1101 safety check failed: hash == NULL
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ match screens 0x9a481a0[0] = 0 0 1280x800 -- 0
@ matches existing zone 0x9a4d1e8

move resize 0 0 1280x800 -> 0 0 1280x800

EEEK! trying to place 0x0 window!!!!
WINID FOR SURFACE(90): 386547059510
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ match screens 0x9a481a0[0] = 0 0 1280x800 -- 0
@ matches existing zone 0x9a4d1e8

move resize 0 0 1280x800 -> 0 0 1280x800

WINID FOR SURFACE(99): 425201765174

I hope these are enough logs...

zmike added a comment.Mar 11 2015, 6:24 PM

I hope these are enough logs...

It is. There's definitely something wrong here, but I won't be able to figure out what it is without a test system. I'll try to provision a vm for it sometime, but until then I guess we just won't allow 32bit wayland support.

In T2194#14, @zmike wrote:

I hope these are enough logs...

It is. There's definitely something wrong here, but I won't be able to figure out what it is without a test system. I'll try to provision a vm for it sometime, but until then I guess we just won't allow 32bit wayland support.

If you want, I actually uploaded both 32 and 64 bit live ISOs of this system which contain a slightly older revision of Enlightenment over this weekend, along with other Wayland stuff, and all the headers already on it, so you don't have to spend that much time setting up a VM?

I'll post the link, only if you think it would be useful?

zmike added a comment.Mar 11 2015, 6:39 PM
In T2194#14, @zmike wrote:

I hope these are enough logs...

It is. There's definitely something wrong here, but I won't be able to figure out what it is without a test system. I'll try to provision a vm for it sometime, but until then I guess we just won't allow 32bit wayland support.

If you want, I actually uploaded both 32 and 64 bit live ISOs of this system which contain a slightly older revision of Enlightenment over this weekend, along with other Wayland stuff, and all the headers already on it, so you don't have to spend that much time setting up a VM?

I'll post the link, only if you think it would be useful?

The 32bit might be useful, but I'm not planning on looking at this until next week at the earliest so I'll post back at some point if I know it will be useful.

This comment was removed by devilhorns.
abyomi0 changed the visibility from "All Users" to "Public (No Login Required)".Apr 5 2015, 1:37 PM

Doing a semi-manual form of a poor man's git-bisect, (Start at a commit from about ~March 9th 2015, and attempting a build and run, then jumping 50 commits behind in Enlightenment, I found that the break for 32 bits happened sometime between dc75c4dd7c1085d3fa23d939965639f8130093a0 and 3405362b1d3160b2714cf17561a8d48e5405f7e8 . On that last commit, the about windows appears Those commits are 50 commits apart. I will now try 25 commits behind dc75c4dd7c1085d3fa23d939965639f8130093a0 instead of 50

ApB added a comment.Apr 19 2015, 10:14 AM

It stopped working for me when @zmike moved e from e_win to elm_win (or whatever the names are) if i remember correctly.

OK. Something weird happened. I reverted to 3405362b1d3160b2714cf17561a8d48e5405f7e8 and it started working as I said in my previous comment...
but then it seems it must have written something to the configuration, because I tried several commits in that 50 commit range I mentioned (going 25 more commits in the past, then 12 more, then starting at that previous commit, and only going 12 in the past)... ...and then they all worked. Including dc75c4dd7c1085d3fa23d939965639f8130093a0 which didn't work before. I then tried a commit from March 11th two days after I posted this, and after deleting libdir/enlightenment manually to make sure there were no straggling modules left... even THAT worked

In my testing I was not modifying ~/.e with my script.
It seems to be some way it's configuring itself after some commit, as when I deleted the configuration directory keeping the March 11th version, it stopped displaying windows again.

I have the .e/ configuration attached