Programming error at startup in Ubuntu 13.10

Bug #1230105 reported by mstfa cmly
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
mypaint (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

MyPaint gives this error at startup:

A programming error has been detected.

It probably isn't fatal, but the details should be reported to the developers nonetheless.

Traceback (most recent call last):
  File "/usr/share/mypaint/gui/tileddrawwidget.py", line 161, enter_notify_cb(self=<TiledDrawWidget object at 0x1a28500 (GtkEventBox at 0x1c73b40)>, widget=<TiledDrawWidget object at 0x1a28500 (GtkEventBox at 0x1c73b40)>, event=<gtk.gdk.Event at 0x2040918: GDK_ENTER_NOTIFY x=127.00, y=96.00, mode=GDK_CROSSING_NORMAL>)
            # Ensure the cursor reflects layer-locking changes etc.
            self.renderer.update_cursor()
  variables: {'self.renderer.update_cursor': ('local', <bound method CanvasRenderer.update_cursor of <CanvasRenderer object at 0x1a28550 (GtkDrawingArea at 0x19cc2c0)>>)}
  File "/usr/share/mypaint/gui/tileddrawwidget.py", line 340, update_cursor(self=<CanvasRenderer object at 0x1a28550 (GtkDrawingArea at 0x19cc2c0)>)
                radius, style = self._get_cursor_info()
                c = cursor.get_brush_cursor(radius, style, self.app.preferences)
            window.set_cursor(c)
  variables: {'self.app.preferences': ('local', {'frame.color_rgba': [0.12, 0.12, 0.12, 0.92], 'view.high_quality_zoom': True, 'ui.feedback.scale': True, 'ui.feedback.last_pos': False, u'colors.current': u'#292929', 'brushmanager.selected_groups': [u'set#2'], 'ui.toolbar_items': {u'toolbar1_file': True, u'toolbar1_view_modes': True, u'toolbar1_subwindows': True, u'toolbar1_edit': True, u'toolbar1_blendmodes': False, u'toolbar1_view_manips': False, u'toolbar1_view_resets': True, u'toolbar1_scrap': False, u'toolbar1_linemodes': False}, 'input.button_mapping': {u'<Primary>Button1': u'ColorPickMode', u'<Primary>Button2': u'ZoomViewMode', u'<Primary><Shift>Button2': u'FrameEditMode', u'<Shift>Button1': u'StraightMode', u'<Shift>Button2': u'RotateViewMode', u'Button3': u'ShowPopupMenu', u'Button2': u'PanViewMode', u'<Shift><Alt>Button2': u'FrameEditMode', u'<Alt>Button2': u'ZoomViewMode', u'<Alt>Button1': u'ColorPickMode'}, 'view.default_zoom': 1.0, 'misc.context_restores_color': True, 'ui.parts': {u'main_toolbar': True, u'menubar': True}, 'ui.hide_toolbar_in_fullscreen': True, 'input.device_mode': u'screen', 'layout.window_positions': {'brushSelectionWindow': {u'h': 350, u'sbindex': 2, u'sbheight': 350, u'w': 250, u'y': -150, u'x': -100, u'hidden': True, u'floating': True}, 'inputTestWindow': {}, 'brushSettingsWindow': {u'y': -128, u'h': 300, u'w': 300, u'x': -460}, 'colorWindow': {u'h': 300, u'sbindex': 0, u'sbheight': 300, u'w': 250, u'y': 125, u'x': -100, u'hidden': True, u'floating': True}, 'layersWindow': {u'h': 200, u'sbindex': 3, u'sbheight': 200, u'w': 200, u'y': -150, u'x': -460, u'hidden': True, u'floating': True}, 'backgroundWindow': {}, 'preferencesWindow': {}, 'scratchWindow': {u'h': 250, u'sbindex': 4, u'sbheight': 250, u'w': 300, u'y': 125, u'x': -555, u'hidden': True, u'floating': True}, 'frameWindow': {}, 'main-window': {u'y': 32, u'h': 668, u'w': 1180, u'sbwidth': 250, u'x': 50}}, u'linemode.exit_pressure': 0.30000000000000004, 'ui.hide_subwindows_in_fullscreen': True, u'linemode.entry_pressure': 0.30000000000000004, u'colors.history': [u'#ee3333', u'#336699', u'#44aa66', u'#aa6633', u'#292929'], 'saving.scrap_prefix': u'~/MyPaint/scrap', 'ui.hide_menubar_in_fullscreen': True, 'input.global_pressure_mapping': [[0.0, 1.0], [1.0, 0.0]], 'saving.default_format': u'openraster', 'ui.feedback.symmetry': True, 'brushmanager.selected_brush': u'deevad/2B_pencil', 'scratchpad.last_opened_scratchpad': u'/home/moustafa/.mypaint/scratchpads/autosave.ora', u'devbrush.last_used': u'Wacom Intuos5 touch M Pen stylus'}), 'c': (None, []), 'style': ('local', 0), 'radius': ('local', 7.38905609893065), 'cursor.get_brush_cursor': ('global', <function get_brush_cursor at 0x19c4aa0>)}
  File "/usr/share/mypaint/gui/cursor.py", line 57, get_brush_cursor(radius=7.38905609893065, style=0, prefs={'brushmanager.selected_brush': u'deevad/2B_pencil', 'brushmanager.selected_groups': [u'set#2'], u'colors.current': u'#292929', u'colors.history': [u'#ee3333', u'#336699', u'#44aa66', u'#aa6633', u'#292929'], u'devbrush.last_used': u'Wacom Intuos5 touch M Pen stylus', 'frame.color_rgba': [0.12, 0.12, 0.12, 0.92], 'input.button_mapping': {u'<Alt>Button1': u'ColorPickMode', u'<Alt>Button2': u'ZoomViewMode', u'<Primary><Shift>Button2': u'FrameEditMode', u'<Primary>Button1': u'ColorPickMode', u'<Primary>Button2': u'ZoomViewMode', u'<Shift><Alt>Button2': u'FrameEditMode', u'<Shift>Button1': u'StraightMode', u'<Shift>Button2': u'RotateViewMode', u'Button2': u'PanViewMode', u'Button3': u'ShowPopupMenu'}, 'input.device_mode': u'screen', 'input.global_pressure_mapping': [[0.0, 1.0], [1.0, 0.0]], 'layout.window_positions': {'backgroundWindow': {}, 'brushSelectionWindow': {u'floating': True, u'h': 350, u'hidden': True, u'sbheight': 350, u'sbindex': 2, u'w': 250, u'x': -100, u'y': -150}, 'brushSettingsWindow': {u'h': 300, u'w': 300, u'x': -460, u'y': -128}, 'colorWindow': {u'floating': True, u'h': 300, u'hidden': True, u'sbheight': 300, u'sbindex': 0, u'w': 250, u'x': -100, u'y': 125}, 'frameWindow': {}, 'inputTestWindow': {}, 'layersWindow': {u'floating': True, u'h': 200, u'hidden': True, u'sbheight': 200, u'sbindex': 3, u'w': 200, u'x': -460, u'y': -150}, 'main-window': {u'h': 668, u'sbwidth': 250, u'w': 1180, u'x': 50, u'y': 32}, 'preferencesWindow': {}, 'scratchWindow': {u'floating': True, u'h': 250, u'hidden': True, u'sbheight': 250, u'sbindex': 4, u'w': 300, u'x': -555, u'y': 125}}, ...})
            hot_x = hot_y = int((d+1)/2)
            pixbuf = image_surface_to_pixbuf(surf)
            if pygtkcompat.USE_GTK3:
  variables: {'surf': ('local', <cairo.ImageSurface object at 0x7f399fdb0d70>), 'image_surface_to_pixbuf': ('global', <function image_surface_to_pixbuf at 0x19c4b18>), 'pixbuf': (None, [])}
  File "/usr/share/mypaint/gui/cursor.py", line 76, image_surface_to_pixbuf(surf=<cairo.ImageSurface object>)
        png_dp = StringIO()
        surf.write_to_png(png_dp)
        pixbuf_loader = gdk.PixbufLoader()
  variables: {'png_dp': ('local', <cStringIO.StringO object at 0x2469420>), 'surf.write_to_png': ('local', <built-in method write_to_png of cairo.ImageSurface object at 0x7f399fdb0d70>)}
IOError: error while writing to output stream

=========================

I suspect the change to Mir/XMir to be the cause, but I'm really unsure as to why these errors appear.

mstfa cmly (mstfacmly)
summary: - Programming error at startup
+ Programming error at startup in Ubuntu 13.10
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in mypaint (Ubuntu):
status: New → Confirmed
Revision history for this message
Reuben (reubenshea) wrote :

I got this error as well, however I am running XMir. After disabling XMir temporarily, the error (and several others that cropped up in the application when using a tablet) completely disappears.

Revision history for this message
Jon Nordby (jonnor) wrote :

Thank you for reporting.
Moustafa, can you confirm that running without Mir makes the problem go away?

Revision history for this message
Robert Rojas (roberthrojasq) wrote :

I got this bug too. MyPaint doesn't render the brush cursor and throws an error again when is selected a brush with a default cursor size different from the current (i.e from pencil to eraser). As the people above, it's only occurs when Mir is enabled.

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.