After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 307320 - The font cache is still broken ...
The font cache is still broken ...
Status: RESOLVED OBSOLETE
Product: dia
Classification: Other
Component: general
CVS head
Other Linux
: High enhancement
: ---
Assigned To: Dia maintainers
Dia maintainers
Depends on:
Blocks:
 
 
Reported: 2005-06-11 20:39 UTC by Hans Breuer
Modified: 2007-01-09 12:13 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Hans Breuer 2005-06-11 20:39:53 UTC
Distribution/Version: Gnome 2.10

... maybe by design. It probably should be disabled as claimed 
in bug #153609. Here a simple way to reproduce:

$ gdb --args /opt/bin/dia --g-fatal-warnings samples/render-test.dia
samples/Self/dia-core.dia

[Play a little with the two diagrams, e.g. ctrl-e, move the window,
 change, wait 10 seconds]

GLib-GObject-CRITICAL **: g_object_unref: assertion `object->ref_count > 0' failed
aborting...

Program received signal SIGABRT, Aborted.

Thread 16384 (LWP 3490)

  • #0 kill
    from /lib/libc.so.6
  • #1 pthread_kill
    from /lib/libpthread.so.0
  • #2 raise
    from /lib/libpthread.so.0
  • #3 raise
    from /lib/libc.so.6
  • #4 abort
    from /lib/libc.so.6
  • #5 g_logv
    from /usr/lib/libglib-2.0.so.0
  • #6 g_log
    from /usr/lib/libglib-2.0.so.0
  • #7 g_return_if_fail_warning
    from /usr/lib/libglib-2.0.so.0
  • #8 g_object_unref
    from /usr/lib/libgobject-2.0.so.0
  • #9 dia_font_unref
    at font.c line 322
  • #10 layout_cache_free_key
    at font.c line 589
  • #11 g_hash_table_size
    from /usr/lib/libglib-2.0.so.0
  • #12 g_hash_table_foreach_steal
    from /usr/lib/libglib-2.0.so.0
  • #13 g_hash_table_foreach_remove
    from /usr/lib/libglib-2.0.so.0
  • #14 layout_cache_cleanup_idle
    at font.c line 559
  • #15 g_child_watch_add
    from /usr/lib/libglib-2.0.so.0

Comment 1 Hans Breuer 2005-06-26 11:21:17 UTC
Just one more incidence. Try 
gdb --args /opt/bin/dia samples/render-test.dia
ctrl^e
(gdb) bt
  • #0 layout_cache_hash
    at font.c line 552
  • #1 g_hash_table_size
    from /usr/lib/libglib-2.0.so.0
  • #2 dia_font_build_layout
    at font.c line 698
  • #3 dia_font_scaled_build_layout
    at font.c line 843
  • #4 dia_font_scaled_string_width
    at font.c line 725
  • #5 draw_string
    at diagdkrenderer.c line 589
  • #6 draw_text
    at diagdkrenderer.c line 767
  • #7 text_draw
    at text.c line 423
  • #8 ??
  • #9 ??
  • #10 ??
  • #11 ??
  • #12 ??
  • #13 ??
  • #14 ??
    from /opt/lib/dia/libdia.so
  • #15 ??
  • #16 draw_object
    at diagdkrenderer.c line 947

Comment 2 Lars Clausen 2005-07-16 18:42:55 UTC
Can't get it to crash or show the old behaviour with current CVS. I am willing
to have the cache be optional, so that people working with lots of text have a
chance of making it fast.  It may also depend on the version of GTK, I'm using
2.4.9.
Comment 3 Lars Clausen 2005-11-07 03:40:03 UTC
Cache ifdef'd out.  Marking this as enhancement, as fixing it would enable speed
improvement.
Comment 4 Hans Breuer 2007-01-09 12:13:49 UTC
With the new rendering aproach the old font cache is gone which make this obsolete.