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