Uploaded image for project: ' AGL Development'
  1. AGL Development
  2. SPEC-3623

agl-compositor produces segfault if XDG_RUNTIME_DIR is not defined

XMLWordPrintable

      When running agl-compositor without setting XDG_RUNTIME_DIR an error arises and the application tries to exit cleanly. However, in this process a segfault is risen and the tty is left in a state that agl-compositor is not able to use it due to

      /dev/tty is already in graphics mode, is another display server running?

      After debugging this issue I now understand a few things

      • The segfault is triggered after destroy_black_view
      • This notification is configured in ivi_shell_init_black_fs
      • If I move ivi_shell_init_black_fs just before wl_display_run the segfault is not triggered, which is logical as the problem is caught prior to this point

      After a bit more of debugging and comparing with a clean exit there are a few interesting things to mention

      • It looks like the problem is caused by the fact that the view created in create_black_surface_view is never added to compositor->view_list
      • when view_list_add is called and the view is added there is no segfault
      • if I export the function weston_compositor_build_view_list and call it after ivi_shell_init_black_fs there is no segfault
      • seems to be related to the fact that in weston_compositor_remove_output there is an iteration over compositor->view_list which triggers weston_view_assign_output

      I'm willing to fix this issue but I'm not sure how the best approach would be so any comments will be appreciated.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            mvlad Marius Vlad
            wlozano Walter Lozano
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: