--- base/gsgdata.c.orig	2011-08-05 20:12:20.000000000 +0900
+++ base/gsgdata.c	2011-08-13 08:40:58.000000000 +0900
@@ -51,7 +51,8 @@
 gs_glyph_data_free(gs_glyph_data_t *pgd, client_name_t cname)
 {
     if (pgd != 0) {
-        if (pgd->procs != 0)
+        // Workaround to avoid signal 11. This change will cause memory leaks as its side effect.
+        if (pgd->procs == &gs_glyph_cache_elem_procs || pgd->procs == &no_free_procs || pgd->procs == &free_by_font_procs)
             pgd->procs->free(pgd, cname);
         gs_glyph_data_from_null(pgd);
     }
