bugMyPaint - Bugs: bug #20372, Docked palette colour selector...

 
 
Show feedback again

You are not allowed to post comments on this tracker with your current authentification level.

bug #20372: Docked palette colour selector causes GUI to lock up

Submitted by:  Carl Olsson <surt>
Submitted on:  Sat 15 Dec 2012 11:40:10 PM UTC  
 
Severity: 3 - NormalPriority: 5 - Normal
Status: Need InfoPrivacy: Public
Assigned to: NoneOpen/Closed: Open
Release: achadwick repoPlanned Release: None
Operating System: Kubuntu 12.10

(Jump to the original submission Jump to the original submission)

Thu 21 Mar 2013 11:59:29 AM UTC, comment #12:

1.1.0+git20130320-1ppa1~precise1 (now)

Just opened MyPaint for they first time in a while and notice that it's now doing the same thing on my desktop, locking up only on oxygen-gtk theme.

I've just upgraded to Kubuntu 13.04 Beta 1.

Carl Olsson <surt>
Fri 28 Dec 2012 11:52:29 PM UTC, comment #11:

I don't think my T5010 has touch (it's second-hand and never given any response to touch) but I tried disabling touch events in KDE's tablet settings with no change.
Setting pen input mode to disable results in no change.

Carl Olsson <surt>
Fri 28 Dec 2012 08:36:29 PM UTC, comment #10:

This device called "Wacom Serial Penabled 1FG Touchscreen touch" - does it really have pressure informations, or just up/down?

Do your problems go away when you disable pressure? (Edit->Preferences->Mode Disabled)

Martin Renold <martinxyz>
Project Administrator
Wed 19 Dec 2012 11:08:32 AM UTC, comment #9:

Starting with palette tab showing with uncommented the debug line:
0
Using GTK2
builtin python 2.6 json support
DEBUG: getlocale(): ('en_AU', 'UTF-8')
DEBUG: localepath: /usr/share/locale
DEBUG: localepath_brushlib: /usr/share/locale
confpath = /home/carl/.mypaint/
DEBUG: mode stack updated: <ModeStack [SwitchableFreehandMode]>
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.
Traceback (most recent call last):
File "/usr/share
/mypaint/gui/toolbar.py", line 675, in on_size_allocate
self._update()
File "/usr/share/mypaint/gui/toolbar.py", line 696, in _update
scaled_pixbuf = self._get_scaled_pixbuf(s)
File "/usr/share/mypaint/gui/toolbar.py", line 680, in _get_scaled_pixbuf
return theme.load_icon(gtk.STOCK_MISSING_IMAGE, size, 0)
glib.GError: Icon 'gtk-missing-image' not present in theme
DEBUG: set([(187, 175)])
DEBUG: set([(187, 175)])
DEBUG: set([(210, 175), (187, 175)])
DEBUG: set([(210, 175)])

After continuing from lock by changing tab:
load_ora:
mimetype: image/openraster
data/background_tile.png
0.102s loading data/background_tile.png
Warning: Could not load any layer, document is empty.
0.106s load_ora total
Loaded scratchpad from /home/carl/.mypaint/scratchpads/autosave.ora
Looking for GTK devices with pressure:
Device "SynPS/2 Synaptics TouchPad" has a pressure axis
Skipping "SynPS/2 Synaptics TouchPad" (probably a laptop touchpad without pressure info)
Device "Wacom Serial Penabled 1FG Touchscreen stylus" has a pressure axis
Setting screen mode for "Wacom Serial Penabled 1FG Touchscreen stylus"
Device "Wacom Serial Penabled 1FG Touchscreen eraser" has a pressure axis
Setting screen mode for "Wacom Serial Penabled 1FG Touchscreen eraser"
Device "Wacom Serial Penabled 1FG Touchscreen touch" has a pressure axis
Setting screen mode for "Wacom Serial Penabled 1FG Touchscreen touch"

device change: Core Pointer <enum GDK_SOURCE_MOUSE of type GdkInputSource>

Doesn't seem very illuminating. Looks to be identical to Starting with a different tab showing, except for the lockup.

Setting the scrollbar to always show doesn't have any affect at all, except of course showing the scrollbar.

Tried setting the GTK theme settings the same as yours and tried the defaults but still with no change.

Carl Olsson <surt>
Wed 19 Dec 2012 10:27:40 AM UTC, comment #8:

Hi Carl - any feedback here? Did you get around to testing the changes mentioned?

Andrew Chadwick <achadwick>
Project Administrator
Mon 17 Dec 2012 11:18:32 PM UTC, comment #7:

Interesting - that theme works for me in a KDE environment. I've only tested fairly briefly, however.

Different themes draw things like scrollbars and borders at different widths. Combine that with a personal choice of font, and you may just be hitting the lucky combination(s) that break everything :/

I'd love to see some evidence of the DEBUG: line looping, or vertical gtk.POLICY_ALWAYS fixing it on an affected system :)

Andrew Chadwick <achadwick>
Project Administrator
Mon 17 Dec 2012 12:55:39 PM UTC, comment #6:

Just quickly (I'll try your suggestions tomorrow) it does appear to be theme related. I tried changing GTK theme and the problem doesn't present on any GTK theme except for oxygen-gtk.

Carl Olsson <surt>
Mon 17 Dec 2012 12:21:37 PM UTC, comment #5:

Gah!, Gna!
This stupid bug tracker ate my comment again due to a stupid "verbatim" marker typo. It desperately needs a preview feature.

Just appending a (hopefully fixed) copy of the text the tracker ate on the www view; sorry for the bug noise everyone.

----------------------8<----------------------
Something to try: please locate your gui/colors/paletteview.py file and uncomment line 768 in _PaletteGridLayout.update_layout(), which should read

once it has been uncommented. This file is installed as /usr/share/mypaint/gui/colors/paletteview.py if you are using the PPA package, and you will need to edit it with superuser privileges. The command to use for KDE is:

which can be run from the Alt+F2 dialog.

They try to run MyPaint again from a terminal, and see it it keeps spinning on that code - you should see it tumbling through several sets of widget dimensions and not being able to settle.

Finally, try altering line 398 in the same file (in PaletteView.__init__) to read:

instead of

In other words, always display the vertical scrollbar. Does this fix it?

As an aside, the reason behind this this could be theme related; let me know how your settings differ from the default Kubuntu ones: it my help me to replicate the issue here and test things for myself.

I'm using the defaults; oxygen-gtk theme, and standard Kubuntu settings in System Settings > Application Appearance > Gtk Configuration:

  • GTK2 theme: oxygen-gtk
  • GTK3 theme: oxygen-gtk
  • Font: Abyssinica SIL 12
  • GTK style toolbar: Icons only
  • Show Icons in GTK Buttons: OFF
  • Show Icons in GTK Menus: OFF
  • Icons Theme: Oxygen White
  • Fallback Theme: Oxygen White

Not the same thing as the Defaults button at all, so I assume it's a Kubuntu default.

---------------------->8----------------------

Hopefully that makes it through.

Andrew Chadwick <achadwick>
Project Administrator
Mon 17 Dec 2012 12:15:22 PM UTC, comment #4:

Can't reproduce with an out-of-the-box Kubuntu 12.10 on Virtualbox using a "normal mouse" and all aplicable virtualbox-guest-* packages installed and built. Specifically for each fault you note:

> When starting the program with the colours subwindow docked and
> the palette colour selector showing the GUI gets partially
> locked.
> The canvas cannot be drawn to and the toolbar doesn't finish
> rendering and cannot be operated.


For me, the canvas can be drawn to, the toolbar finishes rendering, and can be operated.

> The menu and subwindows work fine. See mypaint_palette_lock0.png.
> This can be remedied by changing to another colour selector, window
> minimise-and-restore, or scrolling to the bottom of the dock sidebar.
>
> [... loading and saving too ...]


At this point I'm wondering if the palette cell drawing code is to blame. There will be a palette redraw in all the circumstances you mention, including saving and loading, and this is only happening when the palette tab is visible.

I recall during development it getting stuck in loops where one attempt would cause it to go out of bounds horizontally, the next vertically, and so on. The GTK2 layout strategy isn't particularly flexible when laying out within automatic scrollbars, and had to be fudged. Thought I'd fixed that though! Another reason we need to move to GTK3 :D

If it's that, it could present (warning: memory hazy!) as a CPU in near-constant use until you poke the UI sufficiently to get it into a stable state. Could you have a look with "top" in a terminal window and see if that's happening?

Something to try: please locate your gui/colors/paletteview.py file and uncomment line 768 in _PaletteGridLayout.update_layout(), which should read

Andrew Chadwick <achadwick>
Project Administrator
Mon 17 Dec 2012 11:22:04 AM UTC, comment #3:

Gna! made a mess of my last comment and truncated it. Sorry; just reproducing it here (with modificateions so Gna! will show it) for anyone reading.

---------------------------8<---------------------
What version of the "achadwick repo" package are you using, please?

Cannot reproduce 0 or 1 in current git master (9288267abaa3...): Debian testing/Wheezy, Xfce 4.8.

Are you using a graphics tablet or something else? Which maake and model of tablet?

Please paste your terminal output between "+ verbatim +" and "- verbatim -" lines (no quotes, no spaces) like the snippet below (view on Gna! to see the result). Interested in any like that indicate grabs succeeding or failing.

Please try to reproduce 0, 1, and 2 with a completely fresh temporary config for each one:

and give exact, detailed steps to reproduce each one.

For 3, it is normal for the UI to grey out when saving or loading. It should however come back automatically when the load or save has finished. Please give it lots of time, or load and save only small files for testing: I need to confirm that this is an actual bug.

I will be uploading another PPA build shortly. Please test that - or if you can't wait, please try git master :)
--------------------------->8---------------------

Andrew Chadwick <achadwick>
Project Administrator
Mon 17 Dec 2012 10:18:09 AM UTC, comment #2:

Updated to new version in your PPA: 1.0.0+git20121216.9288267-1ppa1~quantal1 (quantal)
Still behaving the same.

Using the tablet PC's built-in serial penabled digitizer. Reports as "Wacom Tablet PC93".

Can't test the startup lockup with the temp config as it needs to start with the colours subwindow docked and the palette tab showing.
Starting after deleting .mypaint however:
Click show colours subwindow button.
Click colours subwindow dock button.
Select colours subwindow palette tab.
In menu: File -> Quit
Relaunch MyPaint

Console output:
<pre>0
Using GTK2
builtin python 2.6 json support
DEBUG: getlocale(): ('en_AU', 'UTF-8')
DEBUG: localepath: /usr/share/locale
DEBUG: localepath_brushlib: /usr/share/locale
confpath = /home/carl/.mypaint/
DEBUG: mode stack updated: <ModeStack [SwitchableFreehandMode]>
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.
Traceback (most recent call last):
File "/usr/share/mypaint/gui/toolbar.py", line 675, in on_size_allocate
self._update()
File "/usr/share/mypaint/gui/toolbar.py", line 696, in _update
scaled_pixbuf = self._get_scaled_pixbuf(s)
File "/usr/share/mypaint/gui/toolbar.py", line 680, in _get_scaled_pixbuf
return theme.load_icon(gtk.STOCK_MISSING_IMAGE, size, 0)
glib.GError: Icon 'gtk-missing-image' not present in theme</pre>
Locks here. Continue it by changing colours subwindow tab.
<pre>load_ora:
mimetype: image/openraster
data/background_tile.png
0.112s loading data/background_tile.png
Warning: Could not load any layer, document is empty.
0.120s load_ora total
Loaded scratchpad from /home/carl/.mypaint/scratchpads/autosave.ora
Looking for GTK devices with pressure:
Device "SynPS/2 Synaptics TouchPad" has a pressure axis
Skipping "SynPS/2 Synaptics TouchPad" (probably a laptop touchpad without pressure info)
Device "Wacom Serial Penabled 1FG Touchscreen stylus" has a pressure axis
Setting screen mode for "Wacom Serial Penabled 1FG Touchscreen stylus"
Device "Wacom Serial Penabled 1FG Touchscreen eraser" has a pressure axis
Setting screen mode for "Wacom Serial Penabled 1FG Touchscreen eraser"
Device "Wacom Serial Penabled 1FG Touchscreen touch" has a pressure axis
Setting screen mode for "Wacom Serial Penabled 1FG Touchscreen touch"</pre>

The open/save lockup occurs with a temp config:
Click show colours subwindow button.
Click colours subwindow dock button.
Select colours subwindow palette tab.
In menu: File -> Open, File -> Save or File -> Save As, and select any file in dialog.

Console output when opening:
<pre>device change: Core Pointer <enum GDK_SOURCE_MOUSE of type GdkInputSource>
load_ora:
mimetype: image/openraster</pre>
Locks here. Quit with window frame close button:
<pre>data/background_tile.png
9.745s loading data/background_tile.png
Warning: Could not load any layer, document is empty.
9.751s load_ora total
Loaded from /home/carl/test.ora</pre>

Console output when saving:
<pre>device change: Core Pointer <enum GDK_SOURCE_MOUSE of type GdkInputSource>
save_ora:</pre>
Locks here. Quit with window frame close button:
<pre> 7.192s surface saving data/background.png
0.000s surface saving data/background_tile.png
starting to render full image for thumbnail...
Rendered thumbnail in 0.000231027603149 seconds.
0.001s pixbuf saving Thumbnails/thumbnail.png
total 0.001s spent on thumbnail
7.196s save_ora total
Saved to /home/carl/test.ora
Rendered thumbnail in 0.000242948532104 seconds.</pre>

Carl Olsson <surt>
Sun 16 Dec 2012 07:33:27 PM UTC, comment #1:

What version of the "achadwick repo" package are you using, please?

Cannot reproduce 0 or 1 in current git master (9288267abaa3...): Debian testing/Wheezy, Xfce 4.8.

Are you using a graphics tablet or something else? Which maake and model of tablet?

Andrew Chadwick <achadwick>
Project Administrator
Sat 15 Dec 2012 11:40:10 PM UTC, original submission:

Problem System: Fujitsu T5010 tablet PC (Core2, GMA4500) with Kubuntu 12.10 AMD64.

When starting the program with the colours subwindow docked and the palette colour selector showing the GUI gets partially locked.
The canvas cannot be drawn to and the toolbar doesn't finish rendering and cannot be operated.
The menu and subwindows work fine. See mypaint_palette_lock0.png.
This can be remedied by changing to another colour selector, window minimise-and-restore, or scrolling to the bottom of the dock sidebar. See mypaint_palette_lock1.png.

When opening and saving with the colours subwindow docked and the palette colour selector showing the GUI gets completely locked. The menu, toolbar and subwindows are greyed out. See mypaint_palette_lock2.png.
This can be remedied by a window minimise-and-restore. See mypaint_palette_lock1.png.

Note: The problem doesn't exhibit on my desktop (Phenom II, Radeon 7850) with Kubuntu 12.10 AMD64.

Carl Olsson <surt>

 

Attached Files

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by martinxyz (Posted a comment)
  • -unavailable- added by achadwick (Posted a comment)
  • -unavailable- added by surt (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 4 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 16 Dec 2012 07:33:27 PM UTCachadwickStatusNone=>Need Info
    Sat 15 Dec 2012 11:40:10 PM UTCsurtAttached File-=>Added mypaint_palette_lock0.png, #16846
      Attached File-=>Added mypaint_palette_lock1.png, #16847
      Attached File-=>Added mypaint_palette_lock2.png, #16848
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup