Sven, you suggested that I run valgrind to locate the source of a bug
related to eyedropping. These are the highlights of the results.

This part is probably unrelated to the eyedropping bug (bug #450802),
but may be serious:

It happens after the image is loaded; don't know whether it's before
or after i zoom in, but I scribble on the image with the pencil tool
after zooming in, and afterwards, these messages are there.

I take it as a strong suggestion that the tile pyramid code is still a
bit dodgy.
I plan to retry with '--error-limit=no' as it suggests, later, but
perhaps these results will be helpful (I don't fully understand them
myself yet -- eg. I only just figured out that the highest item on the
stack is the first result.). A complete dump of the results is
attached as a gzipped .txt, 5k.


valgrind output follows:

==14080==
==14080== Conditional jump or move depends on uninitialised value(s)
==14080==    at 0x82CC819: tile_pyramid_validate_tile (tile-pyramid.c:482)
==14080==    by 0x82CAF56: tile_manager_validate (tile-manager.c:284)
==14080==    by 0x82CA0A3: tile_lock (tile.c:162)
==14080==    by 0x82CACFD: tile_manager_get (tile-manager.c:250)
==14080==    by 0x82CC5AD: tile_pyramid_validate_tile (tile-pyramid.c:382)
==14080==    by 0x82CAF56: tile_manager_validate (tile-manager.c:284)
==14080==    by 0x82CA0A3: tile_lock (tile.c:162)
==14080==    by 0x82CACFD: tile_manager_get (tile-manager.c:250)
==14080==    by 0x82CC5AD: tile_pyramid_validate_tile (tile-pyramid.c:382)
==14080==    by 0x82CAF56: tile_manager_validate (tile-manager.c:284)
==14080==    by 0x82CA0A3: tile_lock (tile.c:162)
==14080==    by 0x82CACFD: tile_manager_get (tile-manager.c:250)
==14080==
==14080== Conditional jump or move depends on uninitialised value(s)
==14080==    at 0x8226FD3: gimp_drawable_get_sub_preview
(gimpdrawable-preview.c:415)
==14080==    by 0x822737C: gimp_drawable_preview_private
(gimpdrawable-preview.c:205)
==14080==    by 0x8227457: gimp_drawable_get_preview (gimpdrawable-preview.c:84)
==14080==    by 0x82769A0: gimp_viewable_get_new_preview (gimpviewable.c:737)
==14080==    by 0x81809E4: gimp_view_renderer_drawable_render
(gimpviewrendererdrawable.c:178)
==14080==    by 0x817F1E6: gimp_view_renderer_real_draw (gimpviewrenderer.c:716)
==14080==    by 0x817F4C5: gimp_view_renderer_draw (gimpviewrenderer.c:606)
==14080==    by 0x41EC289: gtk_cell_renderer_render (gtkcellrenderer.c:563)
==14080==    by 0x43E5FAD: gtk_tree_view_column_cell_process_action
(gtktreeviewcolumn.c:2796)
==14080==    by 0x43E6828: _gtk_tree_view_column_cell_render
(gtktreeviewcolumn.c:3129)
==14080==    by 0x43D2522: gtk_tree_view_expose (gtktreeview.c:4617)
==14080==    by 0x42C66D3: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==14080==
==14080== Use of uninitialised value of size 4
==14080==    at 0x817EBAF: gimp_view_render_to_buffer (gimpviewrenderer.c:1077)
==14080==    by 0x817ECB5: gimp_view_renderer_render_buffer
(gimpviewrenderer.c:930)
==14080==    by 0x8180961: gimp_view_renderer_drawable_render
(gimpviewrendererdrawable.c:213)
==14080==    by 0x817F1E6: gimp_view_renderer_real_draw (gimpviewrenderer.c:716)
==14080==    by 0x817F4C5: gimp_view_renderer_draw (gimpviewrenderer.c:606)
==14080==    by 0x41EC289: gtk_cell_renderer_render (gtkcellrenderer.c:563)
==14080==    by 0x43E5FAD: gtk_tree_view_column_cell_process_action
(gtktreeviewcolumn.c:2796)
==14080==    by 0x43E6828: _gtk_tree_view_column_cell_render
(gtktreeviewcolumn.c:3129)
==14080==    by 0x43D2522: gtk_tree_view_expose (gtktreeview.c:4617)
==14080==    by 0x42C66D3: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==14080==    by 0x46CA8EE: g_type_class_meta_marshal (gclosure.c:567)
==14080==    by 0x46CAF1E: g_closure_invoke (gclosure.c:490)
==14080==
==14080== Use of uninitialised value of size 4
==14080==    at 0x817EBCA: gimp_view_render_to_buffer (gimpviewrenderer.c:1079)
==14080==    by 0x817ECB5: gimp_view_renderer_render_buffer
(gimpviewrenderer.c:930)
==14080==    by 0x8180961: gimp_view_renderer_drawable_render
(gimpviewrendererdrawable.c:213)
==14080==    by 0x817F1E6: gimp_view_renderer_real_draw (gimpviewrenderer.c:716)
==14080==    by 0x817F4C5: gimp_view_renderer_draw (gimpviewrenderer.c:606)
==14080==    by 0x41EC289: gtk_cell_renderer_render (gtkcellrenderer.c:563)
==14080==    by 0x43E5FAD: gtk_tree_view_column_cell_process_action
(gtktreeviewcolumn.c:2796)
==14080==    by 0x43E6828: _gtk_tree_view_column_cell_render
(gtktreeviewcolumn.c:3129)
==14080==    by 0x43D2522: gtk_tree_view_expose (gtktreeview.c:4617)
==14080==    by 0x42C66D3: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==14080==    by 0x46CA8EE: g_type_class_meta_marshal (gclosure.c:567)
==14080==    by 0x46CAF1E: g_closure_invoke (gclosure.c:490)
==14080==
==14080== Use of uninitialised value of size 4
==14080==    at 0x817EBE5: gimp_view_render_to_buffer (gimpviewrenderer.c:1081)
==14080==    by 0x817ECB5: gimp_view_renderer_render_buffer
(gimpviewrenderer.c:930)
==14080==    by 0x8180961: gimp_view_renderer_drawable_render
(gimpviewrendererdrawable.c:213)
==14080==    by 0x817F1E6: gimp_view_renderer_real_draw (gimpviewrenderer.c:716)
==14080==    by 0x817F4C5: gimp_view_renderer_draw (gimpviewrenderer.c:606)
==14080==    by 0x41EC289: gtk_cell_renderer_render (gtkcellrenderer.c:563)
==14080==    by 0x43E5FAD: gtk_tree_view_column_cell_process_action
(gtktreeviewcolumn.c:2796)
==14080==    by 0x43E6828: _gtk_tree_view_column_cell_render
(gtktreeviewcolumn.c:3129)
==14080==    by 0x43D2522: gtk_tree_view_expose (gtktreeview.c:4617)
==14080==    by 0x42C66D3: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==14080==    by 0x46CA8EE: g_type_class_meta_marshal (gclosure.c:567)
==14080==    by 0x46CAF1E: g_closure_invoke (gclosure.c:490)
==14080==
==14080== Use of uninitialised value of size 4
==14080==    at 0x817E98E: gimp_view_render_to_buffer (gimpviewrenderer.c:1068)
==14080==    by 0x817ECB5: gimp_view_renderer_render_buffer
(gimpviewrenderer.c:930)
==14080==    by 0x8180961: gimp_view_renderer_drawable_render
(gimpviewrendererdrawable.c:213)
==14080==    by 0x817F1E6: gimp_view_renderer_real_draw (gimpviewrenderer.c:716)
==14080==    by 0x817F4C5: gimp_view_renderer_draw (gimpviewrenderer.c:606)
==14080==    by 0x41EC289: gtk_cell_renderer_render (gtkcellrenderer.c:563)
==14080==    by 0x43E5FAD: gtk_tree_view_column_cell_process_action
(gtktreeviewcolumn.c:2796)
==14080==    by 0x43E6828: _gtk_tree_view_column_cell_render
(gtktreeviewcolumn.c:3129)
==14080==    by 0x43D2522: gtk_tree_view_expose (gtktreeview.c:4617)
==14080==    by 0x42C66D3: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==14080==    by 0x46CA8EE: g_type_class_meta_marshal (gclosure.c:567)
==14080==    by 0x46CAF1E: g_closure_invoke (gclosure.c:490)
==14080==
==14080== Use of uninitialised value of size 4
==14080==    at 0x817E9A9: gimp_view_render_to_buffer (gimpviewrenderer.c:1070)
==14080==    by 0x817ECB5: gimp_view_renderer_render_buffer
(gimpviewrenderer.c:930)
==14080==    by 0x8180961: gimp_view_renderer_drawable_render
(gimpviewrendererdrawable.c:213)
==14080==    by 0x817F1E6: gimp_view_renderer_real_draw (gimpviewrenderer.c:716)
==14080==    by 0x817F4C5: gimp_view_renderer_draw (gimpviewrenderer.c:606)
==14080==    by 0x41EC289: gtk_cell_renderer_render (gtkcellrenderer.c:563)
==14080==    by 0x43E5FAD: gtk_tree_view_column_cell_process_action
(gtktreeviewcolumn.c:2796)
==14080==    by 0x43E6828: _gtk_tree_view_column_cell_render
(gtktreeviewcolumn.c:3129)
==14080==    by 0x43D2522: gtk_tree_view_expose (gtktreeview.c:4617)
==14080==    by 0x42C66D3: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==14080==    by 0x46CA8EE: g_type_class_meta_marshal (gclosure.c:567)
==14080==    by 0x46CAF1E: g_closure_invoke (gclosure.c:490)
==14080==
==14080== Use of uninitialised value of size 4
==14080==    at 0x817E9C4: gimp_view_render_to_buffer (gimpviewrenderer.c:1072)
==14080==    by 0x817ECB5: gimp_view_renderer_render_buffer
(gimpviewrenderer.c:930)
==14080==    by 0x8180961: gimp_view_renderer_drawable_render
(gimpviewrendererdrawable.c:213)
==14080==    by 0x817F1E6: gimp_view_renderer_real_draw (gimpviewrenderer.c:716)
==14080==    by 0x817F4C5: gimp_view_renderer_draw (gimpviewrenderer.c:606)
==14080==    by 0x41EC289: gtk_cell_renderer_render (gtkcellrenderer.c:563)
==14080==    by 0x43E5FAD: gtk_tree_view_column_cell_process_action
(gtktreeviewcolumn.c:2796)
==14080==    by 0x43E6828: _gtk_tree_view_column_cell_render
(gtktreeviewcolumn.c:3129)
==14080==    by 0x43D2522: gtk_tree_view_expose (gtktreeview.c:4617)
==14080==    by 0x42C66D3: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==14080==    by 0x46CA8EE: g_type_class_meta_marshal (gclosure.c:567)
==14080==    by 0x46CAF1E: g_closure_invoke (gclosure.c:490)
==14080==
==14080== Use of uninitialised value of size 4
==14080==    at 0x80BC1A3: render_image_rgb_a (gimpdisplayshell-render.c:819)
==14080==    by 0x80BBA33: gimp_display_shell_render
(gimpdisplayshell-render.c:264)
==14080==    by 0x80B6A2F: gimp_display_shell_draw_area
(gimpdisplayshell-draw.c:574)
==14080==    by 0x80B06F0: gimp_display_shell_canvas_expose
(gimpdisplayshell-callbacks.c:412)
==14080==    by 0x42C66D3: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==14080==    by 0x46CAF1E: g_closure_invoke (gclosure.c:490)
==14080==    by 0x46DB0D4: signal_emit_unlocked_R (gsignal.c:2440)
==14080==    by 0x46DC953: g_signal_emit_valist (gsignal.c:2209)
==14080==    by 0x46DCF48: g_signal_emit (gsignal.c:2243)
==14080==    by 0x43F5975: gtk_widget_event_internal (gtkwidget.c:4267)
==14080==    by 0x42C4E77: gtk_main_do_event (gtkmain.c:1522)
==14080==    by 0x452C988: gdk_window_process_updates_internal
(gdkwindow.c:2365)
==14080==
==14080== Use of uninitialised value of size 4
==14080==    at 0x80BC154: render_image_rgb_a (gimpdisplayshell-render.c:829)
==14080==    by 0x80BBA33: gimp_display_shell_render
(gimpdisplayshell-render.c:264)
==14080==    by 0x80B6A2F: gimp_display_shell_draw_area
(gimpdisplayshell-draw.c:574)
==14080==    by 0x80B06F0: gimp_display_shell_canvas_expose
(gimpdisplayshell-callbacks.c:412)
==14080==    by 0x42C66D3: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==14080==    by 0x46CAF1E: g_closure_invoke (gclosure.c:490)
==14080==    by 0x46DB0D4: signal_emit_unlocked_R (gsignal.c:2440)
==14080==    by 0x46DC953: g_signal_emit_valist (gsignal.c:2209)
==14080==    by 0x46DCF48: g_signal_emit (gsignal.c:2243)
==14080==    by 0x43F5975: gtk_widget_event_internal (gtkwidget.c:4267)
==14080==    by 0x42C4E77: gtk_main_do_event (gtkmain.c:1522)
==14080==    by 0x452C988: gdk_window_process_updates_internal
(gdkwindow.c:2365)
==14080==
==14080== Use of uninitialised value of size 4
==14080==    at 0x80BC161: render_image_rgb_a (gimpdisplayshell-render.c:830)
==14080==    by 0x80BBA33: gimp_display_shell_render
(gimpdisplayshell-render.c:264)
==14080==    by 0x80B6A2F: gimp_display_shell_draw_area
(gimpdisplayshell-draw.c:574)
==14080==    by 0x80B06F0: gimp_display_shell_canvas_expose
(gimpdisplayshell-callbacks.c:412)
==14080==    by 0x42C66D3: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==14080==    by 0x46CAF1E: g_closure_invoke (gclosure.c:490)
==14080==    by 0x46DB0D4: signal_emit_unlocked_R (gsignal.c:2440)
==14080==    by 0x46DC953: g_signal_emit_valist (gsignal.c:2209)
==14080==    by 0x46DCF48: g_signal_emit (gsignal.c:2243)
==14080==    by 0x43F5975: gtk_widget_event_internal (gtkwidget.c:4267)
==14080==    by 0x42C4E77: gtk_main_do_event (gtkmain.c:1522)
==14080==    by 0x452C988: gdk_window_process_updates_internal
(gdkwindow.c:2365)
==14080==
==14080== Use of uninitialised value of size 4
==14080==    at 0x80BC16E: render_image_rgb_a (gimpdisplayshell-render.c:831)
==14080==    by 0x80BBA33: gimp_display_shell_render
(gimpdisplayshell-render.c:264)
==14080==    by 0x80B6A2F: gimp_display_shell_draw_area
(gimpdisplayshell-draw.c:574)
==14080==    by 0x80B06F0: gimp_display_shell_canvas_expose
(gimpdisplayshell-callbacks.c:412)
==14080==    by 0x42C66D3: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==14080==    by 0x46CAF1E: g_closure_invoke (gclosure.c:490)
==14080==    by 0x46DB0D4: signal_emit_unlocked_R (gsignal.c:2440)
==14080==    by 0x46DC953: g_signal_emit_valist (gsignal.c:2209)
==14080==    by 0x46DCF48: g_signal_emit (gsignal.c:2243)
==14080==    by 0x43F5975: gtk_widget_event_internal (gtkwidget.c:4267)
==14080==    by 0x42C4E77: gtk_main_do_event (gtkmain.c:1522)
==14080==    by 0x452C988: gdk_window_process_updates_internal
(gdkwindow.c:2365)
==14080==
==14080== Conditional jump or move depends on uninitialised value(s)
==14080==    at 0x451E9EE: gdk_pixbuf_render_threshold_alpha
(gdkpixbuf-render.c:115)
==14080==    by 0x451ED8D:
gdk_pixbuf_render_pixmap_and_mask_for_colormap
(gdkpixbuf-render.c:322)
==14080==    by 0x4408C2D: gtk_window_realize_icon (gtkwindow.c:2955)
==14080==    by 0x44090B0: gtk_window_set_icon (gtkwindow.c:3286)
==14080==    by 0x80AC4DB: gimp_display_shell_update_icon
(gimpdisplayshell.c:1511)
==14080==    by 0x80B7DBC: gimp_display_shell_idle_update_icon
(gimpdisplayshell-handlers.c:666)
==14080==    by 0x47E5EB7: g_timeout_dispatch (gmain.c:3488)
==14080==    by 0x47E4198: g_main_context_dispatch (gmain.c:2061)
==14080==    by 0x47E7495: g_main_context_iterate (gmain.c:2694)
==14080==    by 0x47E77B7: g_main_loop_run (gmain.c:2898)
==14080==    by 0x8066F6B: app_run (app.c:246)
==14080==    by 0x8067E55: main (main.c:381)
==14080==
==14080== Conditional jump or move depends on uninitialised value(s)
==14080==    at 0x451E974: gdk_pixbuf_render_threshold_alpha
(gdkpixbuf-render.c:129)
==14080==    by 0x451ED8D:
gdk_pixbuf_render_pixmap_and_mask_for_colormap
(gdkpixbuf-render.c:322)
==14080==    by 0x4408C2D: gtk_window_realize_icon (gtkwindow.c:2955)
==14080==    by 0x44090B0: gtk_window_set_icon (gtkwindow.c:3286)
==14080==    by 0x80AC4DB: gimp_display_shell_update_icon
(gimpdisplayshell.c:1511)
==14080==    by 0x80B7DBC: gimp_display_shell_idle_update_icon
(gimpdisplayshell-handlers.c:666)
==14080==    by 0x47E5EB7: g_timeout_dispatch (gmain.c:3488)
==14080==    by 0x47E4198: g_main_context_dispatch (gmain.c:2061)
==14080==    by 0x47E7495: g_main_context_iterate (gmain.c:2694)
==14080==    by 0x47E77B7: g_main_loop_run (gmain.c:2898)
==14080==    by 0x8066F6B: app_run (app.c:246)
==14080==    by 0x8067E55: main (main.c:381)
==14080==
==14080== More than 10000000 total errors detected.  I'm not reporting any more.
==14080== Final error counts will be inaccurate.  Go fix your program!
==14080== Rerun with --error-limit=no to disable this cutoff.  Note
==14080== that errors may occur in your program without prior warning from
==14080== Valgrind, because errors are no longer being displayed.
==14080==


After that, I just shut down gimp.

==14080== ERROR SUMMARY: 10000000 errors from 27 contexts (suppressed:
87 from 1)
==14080== malloc/free: in use at exit: 10,547,993 bytes in 84,810 blocks.
==14080== malloc/free: 2,603,442 allocs, 2,518,632 frees, 524,379,066
bytes allocated.
==14080== For counts of detected errors, rerun with: -v
==14080== searching for pointers to 84,810 not-freed blocks.
==14080== checked 10,087,828 bytes.
==14080==
==14080== LEAK SUMMARY:
==14080==    definitely lost: 1,756 bytes in 62 blocks.
==14080==      possibly lost: 2,224,336 bytes in 2,110 blocks.
==14080==    still reachable: 8,321,901 bytes in 82,638 blocks.
==14080==         suppressed: 0 bytes in 0 blocks.
==14080== Rerun with --leak-check=full to see details of leaked memory.



quirks of my setup -- well, I have an unusual amount of dockables --
maybe 14 in total.
Some of these are tabbed (up to 3 tabs); Exactly 1 is docked to
another window (the gimp toolbox has a dockbook holding 2 tabs: Color
and Pattern, and is currently forced by the WM to be much smaller than
normal (80x60 pixels IIRC), so that only the FG/BG color status tab
and some of the menubar shows, the rest disappears.).  That might
effect the result.
_______________________________________________
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

Reply via email to