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 440514 - Abort in pango_ot_tag_from_language
Abort in pango_ot_tag_from_language
Status: RESOLVED FIXED
Product: Gnumeric
Classification: Applications
Component: GUI
git master
Other All
: Normal normal
: ---
Assigned To: Jody Goldberg
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2007-05-22 17:55 UTC by David Ronis
Modified: 2007-05-26 01:18 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Traceback (389.10 KB, text/plain)
2007-05-25 15:29 UTC, David Ronis
Details
More gdb and valgrind output (112.37 KB, text/plain)
2007-05-25 17:37 UTC, David Ronis
Details

Description David Ronis 2007-05-22 17:55:52 UTC
I watch GNOME and gnumeric via svn, the latter through garnome.  I rebuilt gnumeric today and had the following when I ran it:

gnumeric

Pango-CRITICAL **: pango_ot_tag_from_language: assertion `language != NULL' failed
aborting...


I also have a trace as many of the garnome libs were built with -g.  Here it is:

System: Linux 2.6.21.1 #59 SMP Mon Apr 30 11:14:00 EDT 2007 i686
X Vendor: The X.Org Foundation
X Vendor Release: 60900000
Selinux: No
Accessibility: Disabled
GTK+ Theme: Gorilla
Icon Theme: Gorilla

Memory status: size: 73949184 vsize: 73949184 resident: 29188096 share: 24240128 rss: 29188096 rss_rlim: 4294967295
CPU usage: start_time: 1179856344 rtime: 48 utime: 43 stime: 5 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/usr/bin/gnumeric'

(no debugging symbols found)
Using host libthread_db library "/lib/tls/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1232021824 (LWP 19827)]
0xb6b6704e in __waitpid_nocancel () from /lib/tls/libpthread.so.0

Thread 1 (Thread -1232021824 (LWP 19827))

  • #0 __waitpid_nocancel
    from /lib/tls/libpthread.so.0
  • #1 libgnomeui_segv_handle
    at gnome-ui-init.c line 872
  • #2 <signal handler called>
  • #3 raise
    from /lib/tls/libc.so.6
  • #4 abort
    from /lib/tls/libc.so.6
  • #5 IA__g_logv
    at gmessages.c line 497
  • #6 IA__g_log
    at gmessages.c line 517
  • #7 IA__g_return_if_fail_warning
    at gmessages.c line 532
  • #8 pango_ot_tag_from_language
    at pango-ot-tag.c line 414
  • #9 pango_ot_ruleset_new_for
    at pango-ot-ruleset.c line 267
  • #10 pango_ot_ruleset_get_for
    at pango-ot-ruleset.c line 143
  • #11 basic_engine_shape
    at basic-fc.c line 167
  • #12 _pango_engine_shape_shape
    at pango-engine.c line 71
  • #13 pango_shape
    at shape.c line 51
  • #14 ib_draw_cell
    from /usr/lib/libspreadsheet-1.7.11.so
  • #15 ??
  • #0 __waitpid_nocancel
    from /lib/tls/libpthread.so.0


----------- .xsession-errors (300048696 sec old) ---------------------
iceauth:  creating new authority file /home/ronis/.ICEauthority
--------------------------------------------------
Comment 1 Morten Welinder 2007-05-23 00:33:22 UTC
It is only aborting because you have asked for criticals to abort.

Anyway, something in very recent pango has changed.  We could argue
it is an ABI change.  They would probably counter that we very doing
something wrong.  We would then say that maybe they should have had
better docs.  Etc.

Try this patch.


Index: src/item-bar.c
===================================================================
--- src/item-bar.c	(revision 15573)
+++ src/item-bar.c	(working copy)
@@ -157,9 +157,11 @@
 	g_object_unref (layout);
 
 	ib->pango.item->analysis.font = g_object_ref (ib->normal_font);
+	ib->pango.item->analysis.language =
+		pango_context_get_language (context);
 	ib->pango.item->analysis.shape_engine =
 		pango_font_find_shaper (ib->normal_font,
-					pango_context_get_language (context),
+					ib->pango.item->analysis.language,
 					'A');
 
 	ib->indent = ib_compute_pixels_from_indent (sheet, ib->is_col_header);

 
Comment 2 David Ronis 2007-05-25 15:27:50 UTC
I updated in svn and rebuilt.  I get past this abort, but still crash (I'm not sure that this is the same bug).  Basically, when I do something that opens a window (e.g., opening a file).  I crash.  Here's a traceback, unfortunately, without gnumeric having debugging symbols (I'm rebuilding now).  I'm pretty sure that this is not the same bug.

I'm going to attach the traceback

Comment 3 David Ronis 2007-05-25 15:29:41 UTC
Created attachment 88806 [details]
Traceback

Traceback for problem reported in preceding comment.
Comment 4 Morten Welinder 2007-05-25 17:01:51 UTC
That is a totally different bug.

Was that file created by Gnumeric?  Something appears to be wrong with
it.  May we have a copy?  If it is too senstive to attach here, perhaps
you could email a copy to mortenw@gnome.org

The crash appears to be inside code for a theme.  Could you please try
switching to the default theme and see if the problem persists?

Further things to try...

1. Run with G_SLICE=debug-blocks
2. Run under valgrind with G_SLICE=always-malloc
Comment 5 David Ronis 2007-05-25 17:28:09 UTC
I'm going to attach a log file below.  The problem happens even if I don't have a file.  Simply running gnumeric followed by File->open triggers the hang.  One thing that is different is when I run under valgrind with G_SLICE=always-malloc; now it takes a while but ultimately the open-file dialog appears properly.  Valgrind is complaining about several things though.

As to theme, I'm running garnome-svn and there doesn't seem to be a default theme.  (I'm using something called Gorilla).

One last thing.  Today garnome updated the versions of glib and gtk+ (to 2.13.2 and 2.11.0) respectively.  Perhaps this is where the problem lies?  E.g., the API may have changed.


Comment 6 David Ronis 2007-05-25 17:37:54 UTC
Created attachment 88811 [details]
More gdb and valgrind output

Debugging output requested in earlier comment
Comment 7 Morten Welinder 2007-05-25 19:35:54 UTC
That is bug 438456, fixed recently in gtk-themes.

Note, that running with G_SLICE=always-malloc will hide the bug.
Comment 8 David Ronis 2007-05-25 19:51:32 UTC
OK, but this is not bug 438456 correct?

Comment 9 David Ronis 2007-05-25 20:01:58 UTC
This bug seems to be caused by gtk+.  I'd upgraded to version 2.11.0 from 2.10.12.  Downgrading back to 2.10.12 "fixes" the problem.

Comment 10 David Ronis 2007-05-25 20:04:31 UTC
On more thing.  I thought to downgrade because other apps were crashing when I tried to open a file.  Turns out that there were lots of changes in gtkfilechooser in gtk+-2.11.0, clearly something is broken.

Comment 11 Morten Welinder 2007-05-26 01:18:59 UTC
You probably need to upgrade gtk-engines too.  That is a separate module.
The fix from bug 438456 that you need is only in svn, not in any release.
I suggest that you revert to the default theme.

Closing -- the remainder is not a Gnumeric problem.