Unresponsive window when opening brush or color picker popup

Bug #1947527 reported by Douglas Silva
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
MyPaint
New
Unknown
mypaint (Ubuntu)
Triaged
Undecided
Unassigned

Bug Description

### Description of the problem

The whole window becomes unresponsive when you open the brush or color picker popup window. The workaround to recover from this condition is pressing ESC once.

The screen recording added below will also show you another problem. Most of the time I can't pick another brush. Sometimes it works, but I can't consistently reproduce it. This may or may not be related to the frozen window situation.

### Basic system details

    Operating system: Ubuntu 21.10 impish (amd64)
    Desktop environment: GNOME (wayland)
    MyPaint version:
    Package mypaint from universe repository

$ mypaint --version
INFO: mypaint: Installation layout: conventional POSIX-like structure with prefix '/usr'
MyPaint version 2.0.1+gitexport.478280f

### Steps to reproduce

    Start mypaint.
    Click the large brush selector at the bottom right, or the color selector at the bottom left.
    The popup brush selector window appears, but the whole window is now unresponsive.

### Backtraces or error messages

Console output:

$ mypaint -t > trace-mypaint.txt
INFO: mypaint: Installation layout: conventional POSIX-like structure with prefix '/usr'
INFO: gui.main: No locale setting found, using system locale
INFO: lib.i18n: POSIX: LANG='pt_BR.UTF-8'
INFO: lib.i18n: POSIX: LANGUAGE='pt_BR:pt:en'
INFO: lib.i18n: Value of LANGUAGE after cleanup: 'pt_BR:pt:en:C'
INFO: gui.compatibility: Setting mode to 2.x (standard)
INFO: gui.compatibility: Setting default layer type to Pigment
INFO: gui.device: New device 'Wayland Pointer' (GDK_SOURCE_MOUSE, axes:2, class=GdkWaylandDevice, vendor=None, product=None)
INFO: gui.document: Initialized background from '/usr/share/mypaint/backgrounds/mrmamurk/mamurk_e_1.png'
WARNING: gui.keyboard: Ignoring keybinding for '<Actions>/BrushModifierActions/BlendModeMenu'
INFO: gui.brushmanager: Switching default pigment setting to On
INFO: lib.document: load_ora: '/home/dsilva/.local/share/mypaint/scratchpads/autosave.ora'
INFO: lib.document: 0.137s load_ora total
INFO: gui.filehandling: Loaded scratchpad from '/home/dsilva/.local/share/mypaint/scratchpads/autosave.ora'
INFO: gui.compatibility: Setting default layer type to Pigment

(mypaint:33094): Gdk-WARNING **: 13:49:40.388: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:49:45.766: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-WARNING **: 13:49:49.402: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-WARNING **: 13:49:51.673: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:49:52.668: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:49:55.338: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:49:59.113: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:50:06.928: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-WARNING **: 13:50:14.014: Window 0x3faf5c0 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:50:25.138: Window 0x3faf5c0 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:50:49.872: Window 0x3faf5c0 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-WARNING **: 13:50:58.078: Window 0x3faf5c0 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:51:02.054: Window 0x3faf5c0 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-WARNING **: 13:51:05.861: Window 0x3faf5c0 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:51:09.358: Window 0x3faf5c0 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-WARNING **: 13:51:11.541: Tried to unmap the parent of a popup
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:51:13.849: Window 0x3faf5c0 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-WARNING **: 13:51:21.487: Window 0x3faf5c0 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:51:30.370: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-WARNING **: 13:51:34.616: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-WARNING **: 13:51:38.502: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-WARNING **: 13:51:42.180: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-WARNING **: 13:51:48.745: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-WARNING **: 13:51:53.642: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
INFO: gui.device: New device 'Wayland Finger Scrolling' (GDK_SOURCE_TOUCHPAD, axes:2, class=GdkWaylandDevice, vendor=None, product=None)
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:52:08.788: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:52:12.202: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-WARNING **: 13:52:21.026: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-WARNING **: 13:52:24.362: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:52:25.189: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:52:31.815: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:52:33.633: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

(mypaint:33094): Gdk-CRITICAL **: 13:52:43.418: gdk_device_get_vendor_id: assertion 'gdk_device_get_device_type (device) != GDK_DEVICE_TYPE_MASTER' failed

(mypaint:33094): Gdk-CRITICAL **: 13:52:43.418: gdk_device_get_product_id: assertion 'gdk_device_get_device_type (device) != GDK_DEVICE_TYPE_MASTER' failed
INFO: gui.device: New device 'Master pointer for Wacom One by Wacom S Pen' (GDK_SOURCE_MOUSE, axes:2, class=GdkWaylandDevice, vendor=None, product=None)
INFO: gui.device: New device 'Wacom One by Wacom S Pen' (GDK_SOURCE_PEN, axes:2, class=GdkWaylandDevice, vendor='056a', product='037a')
INFO: gui.device: New device 'Wacom One by Wacom S Pen (Eraser)' (GDK_SOURCE_ERASER, axes:2, class=GdkWaylandDevice, vendor='056a', product='037a')
INFO: gui.compatibility: Setting mode to 2.x (standard)
INFO: gui.document: Initialized background from '/usr/share/mypaint/backgrounds/mrmamurk/mamurk_e_1.png'

(mypaint:33094): Gdk-WARNING **: 13:53:44.148: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:53:44.446: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:53:45.497: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.
WARNING: gui.windowing: grab: outside-popup grab already active: regrabbing

(mypaint:33094): Gdk-WARNING **: 13:53:46.147: Window 0x3cbd030 is already mapped at the time of grabbing. gdk_seat_grab() should be used to simultanously grab input and show this popup. You may find oddities ahead.

Trace (warning, large file) and screen recording: https://1drv.ms/u/s!ApqEOOKoIKfodzkdvzpuaCLqwEQ?e=fdxSrq

It's a little difficult to show you what's happening without a keypress indicator, but it's mostly me clicking around and pressing ESC to unfreeze the application window. You can tell it's frozen by paying attention to the cursor.

### Upstream ticket
https://github.com/mypaint/mypaint/issues/1161

ProblemType: Bug
DistroRelease: Ubuntu 21.10
Package: mypaint 2.0.1-2
ProcVersionSignature: Ubuntu 5.13.0-19.19-generic 5.13.14
Uname: Linux 5.13.0-19-generic x86_64
ApportVersion: 2.20.11-0ubuntu70
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Sun Oct 17 20:07:00 2021
InstallationDate: Installed on 2021-10-10 (7 days ago)
InstallationMedia: Ubuntu 21.04 "Hirsute Hippo" - Release amd64 (20210420)
SourcePackage: mypaint
UpgradeStatus: Upgraded to impish on 2021-10-15 (2 days ago)

Revision history for this message
Douglas Silva (o-alquimista) wrote :
Revision history for this message
Douglas Silva (o-alquimista) wrote (last edit ):

I can reproduce this on Debian 11 with the GNOME desktop. Upstream issue.

I can only reproduce it on a Wayland session. On Xorg it works.

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. The issue you are reporting is an upstream one and it would be nice if somebody having it could send the bug to the developers of the software by following the instructions at https://wiki.ubuntu.com/Debian/Bugs. If you have done so, please tell us the number of the upstream bug (or the link), so we can add a bugwatch that will inform us about its status. Thanks in advance.

Changed in mypaint (Ubuntu):
status: New → Incomplete
Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Appears to be a non-packaging bug, and completely upstream, as you reported here: https://github.com/mypaint/mypaint/issues/1161

(adding this to bugwatch)

Changed in mypaint (Ubuntu):
status: Incomplete → Triaged
Paul White (paulw2u)
tags: added: jammy
Changed in mypaint:
status: Unknown → New
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.