Re: tile ref count balance warning

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



We probably would need to see the code (or have a way of replicating
the problem) to get anywhere.  The warning means that tiles are
getting locked without afterward getting unlocked.  There are about
100 operations in Gimp that call for tiles to be locked, and there's
just no way to have any idea which of them is going wrong without more
information.

No silver bullet, eh? :-) I had hoped this had come up enough in the
past that tile ref tracing facilities already existed; c'est la vie.
I haven't been able to localize the problem sufficiently to build a
simple test case, and the plugin is involved enough that I was trying
to avoid subjecting everyone to it.  See below for instructions on
where to get it and how to replicate the problem.  I've also attached
a list of all libgimp functions I call, if that would be of any use.

I'll continue to try to narrow it down and produce a simple test case
-- I'm not expecting anyone to do my debugging for me, although I'd certainly appreciate any suggestions!

Also, if you're running on hot-rod hardware, there's
some possibility that malfunctioning thread interactions are behind
it.  Knowing what your plug-in is doing, and what kind of system you
are running on, would at least make a start toward pinning it down.

I'm not sure how you'd define "hot-rod". This is running on a non-overclocked Core2 Duo / 2.66GHz, with 3 GB of RAM and the stock 32-bit Ubuntu 7.10 kernel (2.6.22). Are there any other relevant specs? I'm certainly not doing any explict threading on my end.

For what it's worth, the plugin takes an ASCII terrain map of the form used by Battle for Wesnoth (www.wesnoth.org) and generates an ink-and-parchment representation of it. The relevant components seem to be 'Stain map' below (which just calls script_fu_coffee_stain in src/wercRenderGimp/src/WercRendererGimp.cc::_renderEffectStainContents) and rendering a border of width greater than 10 or so: disabling either resolves the problem. Adding the border involves expanding the image, creating a series of paths, and stroking them with the paintbrush.

Thanks,

-Brennan


Download: http://www.sellner.org/wercator/releases/wercator-gimp-plugin-0.7.0.tar.gz
            - It's 21M, due to a large number of texture images
            - The help docs haven't been updated, since I haven't actually
              released 0.7.0 yet.
	    - The website is far, far out of date.
Install:  The usual; it's an autotools package.
Run:      Run Wercator from under the Xtns menu
          Set the following parameters in the first tab:
            - Check 'Use parchment'
            - Uncheck 'Damage edges'
            - Set 'Damage map' to 0
            - Set 'Stain map' to 1 (or more)
            - Uncheck 'Fold'
            - Check 'Render border'
            - Select 'Braided Border' (or 'Square' or 'Greek')
            - Set Border width to 20 (or more)
          Click 'OK'
          Once the map has been generated, quit GIMP
gimp_brush_delete
gimp_brushes_get_list
gimp_brushes_refresh
gimp_brush_get_info
gimp_brush_get_pixels
gimp_brush_set_spacing
gimp_colorize
gimp_context_pop
gimp_context_push
gimp_context_set_background
gimp_context_set_brush
gimp_context_set_foreground
gimp_context_set_opacity
gimp_context_set_paint_mode
gimp_context_set_pattern
gimp_dialog_new
gimp_dialog_run
gimp_display_new
gimp_displays_flush
gimp_dodgeburn
gimp_drawable_bpp
gimp_drawable_detach
gimp_drawable_get
gimp_drawable_get_name
gimp_drawable_has_alpha
gimp_drawable_height
gimp_drawable_width
gimp_edit_bucket_fill
gimp_edit_copy
gimp_edit_cut
gimp_edit_paste
gimp_ellipse_select
gimp_file_load
gimp_file_save
gimp_floating_sel_anchor
gimp_floating_sel_to_layer
gimp_frame_new
gimp_free_select
gimp_get_data
gimp_gimprc_query
gimp_gimprc_set
gimp_image_add_layer
gimp_image_convert_rgb
gimp_image_crop
gimp_image_delete
gimp_image_get_active_drawable
gimp_image_get_active_vectors
gimp_image_get_layers
gimp_image_get_name
gimp_image_height
gimp_image_is_valid
gimp_image_list
gimp_image_merge_down
gimp_image_new
gimp_image_pick_color
gimp_image_resize
gimp_image_resize_to_layers
gimp_image_scale
gimp_image_set_active_layer
gimp_image_set_filename
gimp_image_width
gimp_install_procedure
gimp_layer_add_alpha
gimp_layer_new
gimp_layer_resize_to_image_size
gimp_layer_set_offsets
gimp_layer_translate
gimp_paintbrush
gimp_path_delete
gimp_path_list
gimp_path_set_current
gimp_path_set_points
gimp_path_set_tattoo
gimp_path_stroke_current
gimp_path_to_selection
gimp_pencil
gimp_pixel_rgn_get_row
gimp_pixel_rgn_init
gimp_plugin_domain_register
gimp_plugin_help_register
gimp_plugin_menu_register
gimp_progress_init
gimp_progress_update
gimp_rect_select
gimp_rgba_set
gimp_rgb_set
gimp_rgb_set_alpha
gimp_run_procedure
gimp_selection_all
gimp_selection_border
gimp_selection_clear
gimp_selection_feather
gimp_selection_invert
gimp_selection_is_empty
gimp_selection_load
gimp_selection_none
gimp_selection_save
gimp_selection_shrink
gimp_set_data
gimp_size_entry_get_refval
gimp_size_entry_new
gimp_size_entry_set_refval
gimp_size_entry_set_refval_boundaries
gimp_size_entry_set_resolution
gimp_size_entry_set_size
gimp_size_entry_set_unit
gimp_standard_help_func
gimp_table_attach_aligned
gimp_ui_init
_______________________________________________
Gimp-developer mailing list
Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux