On 12/10/2014 08:10 PM, Kim Woelders wrote:
Pierre Neyron wrote:
Hi Kim, all,

First of all, thank you very much for your work on e16.
As you said in e16 v1.0.14 announce, we are still some people using e16
and being very satisfied with it.
I'm very glad to see that it is not abandoned.

I'm actually using e16 as the window manager in session managed by mate
(gnome2) or xfce4 (I'm replacing marco/metacity or xfwm4 by e16).

Recently, I upgraded from e16 v1.0.0 (latest e16 package available in
Debian) to v1.0.15, on my system running Debian Jessie (testing).
While v1.0.0 works well, I see hangings with v1.0.15 after some time of
use when quickly changing areas, using key bindings.
Screen completely freezes (for instance gkrellm monitors do not update)
and controls block for several seconds before coming back to normal.
Eventually, e16 finally crashes after several freezes.

I've been trying to track down the e16 version which introduced that
problem, but tests are difficult to reproduce/automate.
(I've been trying to script the area moves with eesh, as well as with
xdotool, but only manual tests reveal the problem).
In the end, my tests seems to show the issue appeared after v1.0.11.001.
Also running e16 alone (without the mate or xfce4 session) does not seem
to show the issue.

Do you think this could be fixed ?
I'd be happy to provide more information if asked.

I'm running a mate-session with e16 as WM too.

I have been trying to mess around with changing areas in all sorts of
ways with a few different settings and I see no trouble at all. No
valgrind complaints either.

So I'll need a bit of help to figure this out :)

Please send output from "eesh show".

Is there anything suspicious in .xsession-errors?

Are you sure that it is e16 that freezes/crashes and not the X server?
If e16 crashes it should normally come up with the ugly grey screen of
death.

If it is e16 that crashes it would be useful with a gdb or valgrind log.

/Kimx
Hi Kim, thanks for your answer.

I've done more testing: e16 is not actually crashing but just freezing, sometime for a long time which made me thing of a 'crash". It often take only around 3-4 seconds to unfreeze, but after several freezes, it tends to freeze longer, and in the end forever (or at least long enough to make me need to restart it from a console terminal).

To give more details of what I see, when the freeze happens all displays are frozen (gkrellm graphs, etc). I can only move the mouse pointer. But as soon as I click in a window, the pointer becomes a cross (X) and cannot leave the current window boundaries until e16 unfreezes. (I actually get the same behavior if I send a STOP signal to the e16 process).

I tried to play with gdb and valgrind, but I did not succeed reproduce the freezing behavior nor trace anything unfortunately.

I did isolate a bit the problem however:
- e16 alone does freeze also (without mate-session or anything else), but It happens when many application windows are open. (It's a lot quicker to happen in my e16-mate environment) - I normally use gdm to manage my X session, but I changed to use startx and .xsession: I still have the issue but no message in .xsession-errors. - I played a bit with e16 debug events. eesh debug events 136 (desks) shows for instance:

[13661]    0.000000: _DeskCurrentGotoAreaStart: 0,1
[13661]    0.145875: _DeskCurrentGotoAreaEnd done
[13661]    0.178717: _DeskCurrentGotoAreaStart: 0,0
[13661]    0.329707: _DeskCurrentGotoAreaEnd done
[13661]    0.536161: _DeskCurrentGotoAreaStart: 0,1
[13661]    5.480245: _DeskCurrentGotoAreaEnd done
[13661]    5.484286: _DeskCurrentGotoAreaStart: 0,2
[13661]    5.629357: _DeskCurrentGotoAreaEnd done

See the ~5 seconds delay between the start and end of the area goto function.

Another example with tracing IPC calls also (eesh debug events 136:141):

[13661]   10.332956: _DeskCurrentGotoAreaEnd done
[13661]   10.473740: IpcExec: area move 1 0
[13661]   10.473754: _DeskCurrentGotoAreaStart: 2,1
[13661]   15.483341: _DeskCurrentGotoAreaEnd done
[13661]   15.485560: IpcExec: area move 0 -1
[13661]   15.485574: _DeskCurrentGotoAreaStart: 2,0
[13661]   15.490310: IpcExec: area move 0 -1
[13661]   15.490337: IpcExec: area move -1 0
[13661]   15.490346: IpcExec: area move -1 0
[13661]   15.490351: IpcExec: area move 1 0
[13661]   15.490354: IpcExec: area move -1 0
[13661]   15.490358: IpcExec: area move -1 0
[13661]   15.630548: _DeskCurrentGotoAreaEnd done
[13661]   16.271215: IpcExec: area move -1 0
[13661]   16.271240: _DeskCurrentGotoAreaStart: 1,0
[13661]   16.419571: _DeskCurrentGotoAreaEnd done
[13661]   16.668180: IpcExec: area move -1 0
[13661]   16.668202: _DeskCurrentGotoAreaStart: 0,0
[13661]   16.815029: _DeskCurrentGotoAreaEnd done

See the 6 grouped IpcExec events during a freeze. Timing seems screwed however, because the area change did take something 4 sec to happen here also.

I did not find other relevant events to trace (some are to verbose for my understanding).

- I tried to script the actions that leads to a freeze, doing a loop of `eesh area lgoto ...' or even using xdotool to simulate the keystroke bound to the eesh command, but freeze did not happened. - I finally isolated the source code commit which seems to introduce the freezes: it is dated from Dec 9th 2012 and is titled "Introduce new animation engine.". Everything works ok before that commit.

Please find the output of `eesh show' in attachment.

Please let me know anything more helpful I could try.

Best regards
Pierre





  backgrounds.hiquality = 1
  backgrounds.user = 1
  backgrounds.no_scan = 0
  backgrounds.timeout = 240
  compmgr.enable = 1
  compmgr.mode = 1
  compmgr.shadows.mode = 0
  compmgr.shadows.offset_x = 3
  compmgr.shadows.offset_y = 5
  compmgr.shadows.blur.radius = 5
  compmgr.shadows.blur.opacity = 75
  compmgr.shadows.sharp.opacity = 30
  compmgr.shadows.color = 0
  compmgr.use_name_pixmap = 0
  compmgr.use_cow = 1
  compmgr.fading.enable = 1
  compmgr.fading.time = 200
  compmgr.override_redirect.mode = 1
  compmgr.override_redirect.opacity = 90
  desktops.num = 1
  desktops.dragdir = 2
  desktops.dragbar_width = 16
  desktops.dragbar_length = 0
  desktops.dragbar_ordering = 1
  desktops.desks_wraparound = 0
  desktops.slidein = 1
  desktops.slidespeed = 6000
  desktops.areas_nx = 3
  desktops.areas_ny = 3
  desktops.areas_wraparound = 0
  desktops.edge_flip_mode = 0
  desktops.edge_flip_resistance = 25
  effects.ripples.enabled = 0
  effects.waves.enabled = 0
  focus.mode = 1
  focus.clickraises = 1
  focus.transientsfollowleader = 1
  focus.switchfortransientmap = 1
  focus.all_new_windows_get_focus = 0
  focus.new_windows_get_focus_if_group_focused = 1
  focus.new_transients_get_focus = 0
  focus.new_transients_get_focus_if_group_focused = 1
  focus.raise_on_next = 1
  focus.warp_on_next = 0
  focus.warp_always = 0
  focus.autoraise.enable = 0
  focus.autoraise.delay = 500
  groups.dflt.iconify = 1
  groups.dflt.kill = 0
  groups.dflt.move = 1
  groups.dflt.raise = 0
  groups.dflt.set_border = 1
  groups.dflt.stick = 1
  groups.dflt.shade = 1
  groups.swapmove = 1
  iconboxes.anim_time = 250
  locale.internal = 
  locale.exported = 
  menus.animate = 0
  menus.onscreen = 1
  menus.warp = 1
  menus.show_icons = 1
  menus.icon_size = 16
  menus.key.left = 0xff51
  menus.key.right = 0xff53
  menus.key.up = 0xff52
  menus.key.down = 0xff54
  menus.key.escape = 0xff1b
  menus.key.ret = 0xff0d
  misc.animation.step = 10
  misc.buttons.move_resistance = 10
  misc.dialogs.headers = 0
  misc.dialogs.button_image = 0
  misc.dock.enable = 1
  misc.dock.sticky = 1
  misc.dock.dirmode = 3
  misc.dock.startx = 0
  misc.dock.starty = 0
  misc.hints.set_xroot_info_on_root_window = 0
  misc.log.difftime = 0
  misc.log.dest = 0
  misc.magwin.zoom_res = 4
  misc.movres.mode_move = 0
  misc.movres.mode_resize = 2
  misc.movres.mode_info = 1
  misc.movres.mode_maximize_default = 1
  misc.movres.color = 0xff0000
  misc.movres.avoid_server_grab = 1
  misc.movres.update_while_moving = 0
  misc.movres.enable_sync_request = 0
  misc.movres.dragbar_nocover = 0
  misc.movres.enable_smart_max_hv = 0
  misc.movres.maximize_animate = 0
  misc.movres.maximize_speed = 6000
  misc.opacity.menus = 85
  misc.opacity.movres = 60
  misc.opacity.tooltips = 80
  misc.opacity.focused = 100
  misc.opacity.unfocused = 100
  misc.place.manual = 0
  misc.place.manual_mouse_pointer = 0
  misc.place.center_if_desk_full = 0
  misc.place.ignore_struts = 0
  misc.place.ignore_struts_fullscreen = 0
  misc.place.ignore_struts_maximize = 0
  misc.place.raise_fullscreen = 0
  misc.place.slidein = 0
  misc.place.cleanupslide = 1
  misc.place.slidemode = 0
  misc.place.slidespeedmap = 6000
  misc.place.slidespeedcleanup = 8000
  misc.session.enable_script = 0
  misc.session.script = $EROOT/scripts/session.sh
  misc.session.enable_logout_dialog = 1
  misc.session.enable_reboot_halt = 0
  misc.session.cmd_reboot = reboot
  misc.session.cmd_halt = poweroff
  misc.shading.animate = 1
  misc.shading.speed = 8000
  misc.snap.enable = 1
  misc.snap.edge_snap_dist = 8
  misc.snap.screen_snap_dist = 32
  misc.startup.firsttime = 0
  misc.startup.animate = 1
  misc.testing.argb_internal_objects = 0
  misc.testing.argb_internal_clients = 0
  misc.testing.argb_clients = 0
  misc.testing.argb_clients_inherit_attr = 0
  misc.testing.image_cache_size = -1
  misc.testing.mask_alpha_threshold = 8
  misc.testing.enable_startup_id = 1
  misc.testing.use_render_for_scaling = 0
  misc.testing.bindings_reload = 1
  misc.testing.no_sync_mask = 0
  misc.autosave = 1
  misc.memory_paranoia = 1
  misc.save_under = 0
  pagers.enable = 1
  pagers.zoom = 1
  pagers.title = 1
  pagers.hiq = 1
  pagers.mode = 2
  pagers.scanspeed = 10
  pagers.sel_button = 2
  pagers.win_button = 1
  pagers.menu_button = 3
  theme.name = winter
  theme.extra_path = 
  theme.use_theme_font_cfg = 0
  theme.use_alt_font_cfg = 0
  theme.font_cfg = 
  tooltips.enable = 1
  tooltips.showroottooltip = 1
  tooltips.delay = 1500
  warplist.enable = 1
  warplist.showsticky = 1
  warplist.showshaded = 1
  warplist.showiconified = 1
  warplist.showalldesks = 0
  warplist.warpfocused = 1
  warplist.raise_on_select = 1
  warplist.warp_on_select = 0
  warplist.show_shape = 0
  warplist.icon_mode = 3
------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
enlightenment-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to