bugMyPaint - Bugs: bug #21119, Error in Run

Show feedback again

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

bug #21119: Error in Run

Submitted by:  Edgar González <mred>
Submitted on:  Sun Sep 8 11:10:10 2013  
Severity: 3 - NormalPriority: 5 - Normal
Status: DuplicatePrivacy: Public
Assigned to: NoneOpen/Closed: Closed
Release: Commit 373c2208f8a811cf704b37c72aad668b4Planned Release: None
Operating System: LinuxMint KDE

Thu Jun 26 12:16:23 2014, comment #5:

The MyPaint bug tracker is moving to Github, so we're closing down old bugs on the gna.org tracker. This bug looks to be simply a duplicate, so I'm marking it as Duplicate+Closed. If anyone has any objections to my closing it here, or feels that things are still not right, please open a new bug at

https://github.com/mypaint/mypaint/issues for the mypaint app, or
https://github.com/mypaint/libmypaint/issues for its brushlib

Thanks for reporting.

Andrew Chadwick <achadwick>
Project Administrator
Thu Oct 3 11:09:06 2013, comment #4:

Duplicate of bug #21145.

Andrew Chadwick <achadwick>
Project Administrator
Thu Sep 12 18:42:11 2013, comment #3:

Still can't replicate with a fresh session. Can you replicate it at all?

If so, did you try adding an except: clause to the try/finally block in set_color_hsv(), and what were the consequences? It seems odd that we don't have one, although it's clear that the intent is to make begin_atomic()/end_atomic() pair up.

We could easily catch the exception, or return early if hsv is None. However I suspect that if the hsv argument is None, it's caused by something else. A stack trace doesn't really capture that breadth of information. Can you provide any more information?

Andrew Chadwick <achadwick>
Project Administrator
Thu Sep 12 14:48:24 2013, comment #2:

The new sesion, init with this fail

The last sesion i use a brush from group # 1 - B. light

the error mentions the last brush I use

Edgar González <mred>
Thu Sep 12 09:57:57 2013, comment #1:

Many thanks for reporting this bug, but this report doesn't test provide enough information for us to fix the problem you've found. If you haven't already done so, please could you follow up with:

  • Exact, step by step instructions for reproducing the bug. Be as detailed as you want, we like it.
  • Where the behaviour deviated from what you expected, and what you expected.

Don't forget to search for the problem you've been having in Gna!, and feel free to subscribe to and comment on bug reports other people have opened.

The more details you can give, the easier it is for us to fix the problem.

Andrew Chadwick <achadwick>
Project Administrator
Sun Sep 8 11:10:10 2013, original submission:

Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, <lambda>(data=())
if cb_num_args == 0:
return (lambda data: callback(*data), user_data)
if cb_num_args == 2:
variables: {'callback': ('local', <bound method SwitchableFreehandMode._motion_queue_idle_cb of <gui.canvasevent.SwitchableFreehandMode object at 0x3a8fd90>>), 'data': ('local', ()), 'user_data': (None, [])}
File "/gui/canvasevent.py", line 625, _motion_queue_idle_cb(self=<gui.canvasevent.SwitchableFreehandMode object>)
"avg=%.3f)", qlen, dtime, dtime_avg)
if qlen == 0:
variables: {'event_data': ('local', (<TiledDrawWidget object at 0x3a84dc0 (TiledDrawWidget at 0x2e1e440)>, 99249156L, 701.576904296875, 369.7565612792969, 99249178L, <gtk.gdk.X11DeviceXI2 object at 0x3c56370 (GdkX11DeviceXI2 at 0x2b1b4c0)>, <flags GDK_MOD2_MASK of type GdkModifierType>, 701.576904296875, 367.70367431640625, 0.0, None, None, None)), 'self._handle_motion_event': ('local', <bound method SwitchableFreehandMode._handle_motion_event of <gui.canvasevent.SwitchableFreehandMode object at 0x3a8fd90>>)}
File "/gui/canvasevent.py", line 647, _handle_motion_event(self=<gui.canvasevent.SwitchableFreehandMode object>, tdw=<TiledDrawWidget object at 0x3a84dc0 (TiledDrawWidget at 0x2e1e440)>, last_event_time=99249156L, last_x=701.576904296875, last_y=369.7565612792969, time=99249178L, device=<gtk.gdk.X11DeviceXI2 object at 0x3c56370 (GdkX11DeviceXI2 at 0x2b1b4c0)>, state=<flags GDK_MOD2_MASK of type GdkModifierType>, x=701.576904296875, y=367.70367431640625, pressure=0.0, xtilt=None, ytilt=None, button1_pressed=None)
if app is not None:
same_device = app.device_monitor.device_used(device)
variables: {'same_device': ('local', True), 'device': ('local', <gtk.gdk.X11DeviceXI2 object at 0x3c56370 (GdkX11DeviceXI2 at 0x2b1b4c0)>), 'app.device_monitor.device_used': ('local', <bound method DeviceUseMonitor.device_used of <gui.application.DeviceUseMonitor object at 0x3b55c10>>)}
File "/gui/application.py", line 816, device_used(self=<gui.application.DeviceUseMonitor object>, device=<gtk.gdk.X11DeviceXI2 object at 0x3c56370 (GdkX11DeviceXI2 at 0x2b1b4c0)>)
for func in self.device_observers:
func(self._last_event_device, device)
self._last_event_device = device
variables: {'self._last_event_device': ('local', <gui.application.DeviceUseMonitor object at 0x3b55c10>), 'device': ('local', <gtk.gdk.X11DeviceXI2 object at 0x3c56370 (GdkX11DeviceXI2 at 0x2b1b4c0)>), 'func': ('local', <bound method DeviceUseMonitor.device_changed_cb of <gui.application.DeviceUseMonitor object at 0x3b55c10>>)}
File "/gui/application.py", line 872, device_changed_cb(self=<gui.application.DeviceUseMonitor object>, old_device=None, new_device=<gtk.gdk.X11DeviceXI2 object at 0x3c56370 (GdkX11DeviceXI2 at 0x2b1b4c0)>)
self.app.preferences['devbrush.last_used'] = new_device.name
variables: {'bm.select_brush': ('local', <bound method BrushManager.select_brush of <gui.brushmanager.BrushManager object at 0x3b32510>>), 'brush': ('local', <ManagedBrush u'devbrush_Wacom+Bamboo+16FG+4x5+Finger+touch' p=ramon/Marker>)}
File "/gui/brushmanager.py", line 678, select_brush(self=<gui.brushmanager.BrushManager object>, brush=<ManagedBrush u'ramon/Marker' (settings not loaded yet)>)
# brush, amongst other things
self.brush_selected(brush, brushinfo)
variables: {'self.brush_selected': ('local', <lib.observable._MethodWithObservers object at 0x3b55b10>), 'brush': ('local', <ManagedBrush u'ramon/Marker' (settings not loaded yet)>), 'brushinfo': ('local', <lib.brush.BrushInfo instance at 0x3cd51b8>)}
File "/lib/observable.py", line 175, _call_(self=<lib.observable._MethodWithObservers object>, args=(<ManagedBrush u'ramon/Marker' (settings not loaded yet)>, <lib.brush.BrushInfo instance>), *kwargs={})
observer(observed, args, *kwargs)
except _BoundObserverMethod._ReferenceError, ex:
variables: {'observed': ('local', <gui.brushmanager.BrushManager object at 0x3b32510>), 'args': ('local', (<ManagedBrush u'ramon/Marker' (settings not loaded yet)>, <lib.brush.BrushInfo instance at 0x3cd51b8>)), 'observer': ('local', 'brush_selected_cb' of <gui.brushmodifier.BrushModifier instance at 0x3ceaa70>), 'kwargs': ('local', {})}
File "/lib/observable.py", line 288, _call_(self='brush_selected_cb' of <gui.brushmodifier.BrushModifier instance>, observed=<gui.brushmanager.BrushManager object>, args=(<ManagedBrush u'ramon/Marker' (settings not loaded yet)>, <lib.brush.BrushInfo instance>), *kwargs={})
raise self._ReferenceError
self._observer_method(observer, observed, args, *kwargs)
del observer
variables: {'observed': ('local', <gui.brushmanager.BrushManager object at 0x3b32510>), 'self._observer_method': ('local', <function brush_selected_cb at 0x3a6e578>), 'args': ('local', (<ManagedBrush u'ramon/Marker' (settings not loaded yet)>, <lib.brush.BrushInfo instance at 0x3cd51b8>)), 'observer': ('local', <gui.brushmodifier.BrushModifier instance at 0x3ceaa70>), 'kwargs': ('local', {})}
File "/gui/brushmodifier.py", line 280, brush_selected_cb(self=<gui.brushmodifier.BrushModifier instance>, bm=<gui.brushmanager.BrushManager object>, managed_brush=<ManagedBrush u'ramon/Marker' (settings not loaded yet)>, brushinfo=<lib.brush.BrushInfo instance>)
b.set_string_property("parent_brush_name", managed_brush.name)
variables: {'color': ('local', None), 'b.set_color_hsv': ('local', <bound method BrushInfo.set_color_hsv of <lib.brush.BrushInfo instance at 0x3a43dd0>>)}
File "/mypaint/lib/brush.py", line 414, set_color_hsv(self=<lib.brush.BrushInfo instance>, hsv=None)
h, s, v = hsv
self.set_base_value('color_h', h)
variables: {'h': (None, []), 's': ('global', <brushlib.brushsettings.BrushSetting instance at 0x3733fc8>), 'hsv': ('local', None), 'v': (None, [])}
TypeError: 'NoneType' object is not iterable

Edgar González <mred>


No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by achadwick (Posted a comment)
  • -unavailable- added by mred (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.


    Error: not logged in



    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu Jun 26 12:16:23 2014achadwickOpen/ClosedOpen=>Closed
    Thu Oct 3 11:09:06 2013achadwickStatusNeed Info=>Duplicate
    Thu Sep 12 09:57:57 2013achadwickStatusNone=>Need Info
    Show feedback again

    Back to the top

    Powered by Savane 3.1-cleanup