Some more investigation, understanding and adding 2 other possible fixes for 
the problem.
The problem occurs at Ubuntu 18.10 only at gdm3 with wayland using dual monitor.
It is not occuring with wayland at single monitor.
It totally doesnot occur if gdm3 is not using wayland.
At ubuntu 18.04 the same problem exists with wayland, but is not occurring so 
often.

At ubuntu 18.10 with wayland and dual monitor the user session immediately 
aborts, if 16 or more favorites are allocated at the dock.
For some reason wayland seems to use one extra fence register at dual monitor.
It is noticed at dual monitor, that gdm3 with wayland uses 2 calls to 
clutter_stage_cogl_redraw_view for 2 logical screens for every call to 
clutter_stage_cogl_redraw; gdm3 without wayland does only one call to 
clutter_stage_cogl_redraw_view for 1 logical screen.

The crash occurs at intel_batchbuffer_flush. Always the last batch at such a 
flush is coming from function emit_copy_blit and intelClearWithBlit at 
src/mesa/drivers/dri/i915/intel_blit.c. At the call to 
dri_bufmgr_check_aperture_space they indicate to use zero fence registers, but 
in fact they use one. This violates the limit of 14, causing a crash at dual 
monitor.
So the call to dri_bufmgr_check_aperture_space must be postponed, until the 
needed fence register is added in the middle of the batch-generation and then 
the batch-actions must be undone, a flush is called and batch is regenerated 
again.
For this function intel_batchbuffer_emit_reset is added.
This also is done for function intel_miptree_set_alpha_to_one, although I never 
saw a call of this function.
See fix error3_patch2.txt.

Another (dirty) solution is to decrement the availablity and just continue.
This gives somewhere a failure, but I could not see a failing layout.
See fix error3_patch3.txt.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to mesa in Ubuntu.
https://bugs.launchpad.net/bugs/1797882

Title:
  At dual monitor intel_do_flush_locked failed: Resource deadlock
  avoided

Status in Mesa:
  Confirmed
Status in gnome-shell package in Ubuntu:
  New
Status in mesa package in Ubuntu:
  New

Bug description:
  Using ubuntu wayland with dual monitors, configured above each other.
  Dock is configured at both displays, not hiding.
  Icons for "terminal" and "libreofffice Writer" are present at the dock.

  Start terminal on primary screen by mouseclick on dock.
  Start libreoffice Writer on primary screen by mouseclick on dock.
  Terminate libreoffice Witer by mouseclick on X.
  Repeat the starting and stopping of Writer.

  Login-screen will appear. Syslog shows:
  Oct 15 00:09:51 Gert2 org.gnome.Shell.desktop[5892]: intel_do_flush_locked 
failed: Resource deadlock avoided
  Oct 15 00:09:51 Gert2 gnome-terminal-[6439]: Error reading events from 
display: Connection reset by peer
  Oct 15 00:09:51 Gert2 systemd[5755]: gnome-terminal-server.service: Main 
process exited, code=exited, status=1/FAILURE

  This problem doesnot occur in a dual monitor-session without wayland.
  It also doesnot occur, if only one monitor used with wayland
  It also doesnot occur, if the dock is only present at the primary screen.
  It also doesnot occur if second started application is present at the dock 
and doesnot add an icon to the dock (as libreoffice does).

  All other dual monitor/dock configurations seem to have this problem.

  No idea if this is helpful info, but the used graphics card does not support 
OpenGL version 2.1:
  Oct 15 00:02:32 Gert2 org.gnome.Shell.desktop[4426]: Require OpenGL version 
2.1 or later.
  Oct 15 00:02:32 Gert2 org.gnome.Shell.desktop[4426]: Failed to initialize 
glamor
  Oct 15 00:02:32 Gert2 org.gnome.Shell.desktop[4426]: Failed to initialize 
glamor, falling back to sw

  glxinfo:
  OpenGL vendor string: VMware, Inc.
  OpenGL renderer string: llvmpipe (LLVM 7.0, 128 bits)
  OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.2.2
  OpenGL core profile shading language version string: 3.30
  OpenGL core profile context flags: (none)
  OpenGL core profile profile mask: core profile
  OpenGL core profile extensions:
  OpenGL version string: 3.1 Mesa 18.2.2
  OpenGL shading language version string: 1.40
  OpenGL context flags: (none)
  OpenGL extensions:
  OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.2.2
  OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
  OpenGL ES profile extensions:

  ProblemType: Bug
  DistroRelease: Ubuntu 18.10
  Package: gnome-shell 3.30.1-2ubuntu1
  ProcVersionSignature: Ubuntu 4.18.0-10.11-generic 4.18.12
  Uname: Linux 4.18.0-10-generic i686
  ApportVersion: 2.20.10-0ubuntu13
  Architecture: i386
  CurrentDesktop: ubuntu:GNOME
  Date: Mon Oct 15 13:25:10 2018
  DisplayManager: gdm3
  GsettingsChanges:
   b'org.gnome.shell' b'command-history' redacted by apport
   b'org.gnome.shell' b'app-picker-view' b'uint32 1'
   b'org.gnome.shell' b'favorite-apps' redacted by apport
   b'org.gnome.desktop.interface' b'gtk-im-module' b"'gtk-im-context-simple'"
  ProcEnviron:
   LANGUAGE=en_US:en
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: gnome-shell
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/mesa/+bug/1797882/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to