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 91658 - Pan Crashes on startup
Pan Crashes on startup
Status: RESOLVED DUPLICATE of bug 100398
Product: Pan
Classification: Other
Component: general
unspecified
Other Solaris
: Normal major
: ---
Assigned To: Charles Kerr
Pan QA Team
: 94188 97657 98612 100897 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2002-08-25 19:13 UTC by jseymour
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description jseymour 2002-08-25 19:13:57 UTC
Attempting to run PAN...

$ pan

** (pan:16183): CRITICAL **: file serverlist.c: line 266
    (get_default_server): assertion `serverlist!=NULL' failed
Segmentation Fault(coredump)

Follows one of the longer back-traces I've seen ;) ...

$ gdb `whence pan` core
GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.7"...
Core was generated by `pan'.
Program terminated with signal 9, Killed.
Reading symbols from /usr/local/lib/libgtk-x11-2.0.so.0...done.
Reading symbols from /usr/local/lib/libgdk-x11-2.0.so.0...done.
Reading symbols from /usr/local/lib/libatk-1.0.so.0...done.
Reading symbols from /usr/local/lib/libgdk_pixbuf-2.0.so.0...done.
Reading symbols from /usr/lib/libm.so.1...done.
Reading symbols from /usr/local/lib/libpangox-1.0.so.0...done.
Reading symbols from /usr/local/lib/libpango-1.0.so.0...done.
Reading symbols from /usr/local/lib/libgobject-2.0.so.0...done.
Reading symbols from /usr/local/lib/libgmodule-2.0.so.0...done.
Reading symbols from /usr/lib/libdl.so.1...done.
Reading symbols from /usr/local/lib/libglib-2.0.so.0...done.
Reading symbols from /usr/local/lib/libiconv.so.2...done.
Reading symbols from /usr/local/lib/libxml2.so.2...done.
Reading symbols from /usr/lib/libz.so...done.
Reading symbols from /usr/lib/libsocket.so.1...done.
Reading symbols from /usr/lib/libnsl.so.1...done.
Reading symbols from /usr/local/lib/libgthread-2.0.so.0...done.
Reading symbols from /usr/lib/libthread.so.1...done.
Reading symbols from /usr/lib/libc.so.1...done.
Reading symbols from /usr/lib/libXext.so.0...done.
Reading symbols from /usr/lib/libX11.so.4...done.
Reading symbols from /usr/lib/libmp.so.2...done.
Reading symbols from
/usr/platform/SUNW,UltraSPARC-IIi-Engine/lib/libc_psr.so.1...done.
Reading symbols from /usr/lib/locale/en_US/en_US.so.2...done.
Reading symbols from /usr/openwin/lib/locale/common/xlibi18n.so.2...done.
Reading symbols from
/usr/local/lib/pango/1.0.0/modules/pango-basic-x.so...done.
  • #0 g_str_hash
    at gstring.c line 75
  • #0 g_str_hash
    at gstring.c line 75
  • #1 g_hash_table_lookup
    at ghash.c line 192
  • #2 pango_x_list_subfonts
    at pangox.c line 1116
  • #3 find_char
    at basic-x.c line 254
  • #4 basic_engine_shape
    at basic-x.c line 626
  • #5 pango_shape
    at shape.c line 47
  • #6 process_item
    at pango-layout.c line 2561
  • #7 process_line
    at pango-layout.c line 2706
  • #8 pango_layout_check_lines
    at pango-layout.c line 2925
  • #9 pango_layout_get_extents_internal
    at pango-layout.c line 1879
  • #10 pango_layout_get_extents
    at pango-layout.c line 2004
  • #11 gtk_label_size_request
    at gtklabel.c line 1524
  • #12 g_cclosure_marshal_VOID__BOXED
    at gmarshal.c line 566
  • #13 g_type_class_meta_marshal
    at gclosure.c line 514
  • #14 g_closure_invoke
    at gclosure.c line 437
  • #15 signal_emit_unlocked_R
    at gsignal.c line 2271
  • #16 g_signal_emit_valist
    at gsignal.c line 2100
  • #17 gtk_signal_emit_by_name
    at gtksignal.c line 374
  • #18 do_size_request
    at gtksizegroup.c line 491
  • #19 _gtk_size_group_compute_requisition
    at gtksizegroup.c line 678
  • #20 gtk_widget_size_request
    at gtkwidget.c line 2203
  • #21 gtk_hbox_size_request
    at gtkhbox.c line 119
  • #22 g_cclosure_marshal_VOID__BOXED
    at gmarshal.c line 566
  • #23 g_type_class_meta_marshal
    at gclosure.c line 514
  • #24 g_closure_invoke
    at gclosure.c line 437
  • #25 signal_emit_unlocked_R
    at gsignal.c line 2271
  • #26 g_signal_emit_valist
    at gsignal.c line 2100
  • #27 gtk_signal_emit_by_name
    at gtksignal.c line 374
  • #28 do_size_request
    at gtksizegroup.c line 491
  • #29 _gtk_size_group_compute_requisition
    at gtksizegroup.c line 678
  • #30 gtk_widget_size_request
    at gtkwidget.c line 2203
  • #31 gtk_alignment_size_request
    at gtkalignment.c line 310
  • #32 g_cclosure_marshal_VOID__BOXED
    at gmarshal.c line 566
  • #33 g_type_class_meta_marshal
    at gclosure.c line 514
  • #34 g_closure_invoke
    at gclosure.c line 437
  • #35 signal_emit_unlocked_R
    at gsignal.c line 2271
  • #36 g_signal_emit_valist
    at gsignal.c line 2100
  • #37 gtk_signal_emit_by_name
    at gtksignal.c line 374
  • #38 do_size_request
    at gtksizegroup.c line 491
  • #39 _gtk_size_group_compute_requisition
    at gtksizegroup.c line 678
  • #40 gtk_widget_size_request
    at gtkwidget.c line 2203
  • #41 gtk_button_size_request
    at gtkbutton.c line 743
  • #42 g_cclosure_marshal_VOID__BOXED
    at gmarshal.c line 566
  • #43 g_type_class_meta_marshal
    at gclosure.c line 514
  • #44 g_closure_invoke
    at gclosure.c line 437
  • #45 signal_emit_unlocked_R
    at gsignal.c line 2271
  • #46 g_signal_emit_valist
    at gsignal.c line 2100
  • #47 gtk_signal_emit_by_name
    at gtksignal.c line 374
  • #48 do_size_request
    at gtksizegroup.c line 491
  • #49 _gtk_size_group_compute_requisition
    at gtksizegroup.c line 678
  • #50 gtk_widget_size_request
    at gtkwidget.c line 2203
  • #51 _gtk_button_box_child_requisition
    at gtkbbox.c line 456
  • #52 gtk_hbutton_box_size_request
    at gtkhbbox.c line 151
  • #53 g_cclosure_marshal_VOID__BOXED
    at gmarshal.c line 566
  • #54 g_type_class_meta_marshal
    at gclosure.c line 514
  • #55 g_closure_invoke
    at gclosure.c line 437
  • #56 signal_emit_unlocked_R
    at gsignal.c line 2271
  • #57 g_signal_emit_valist
    at gsignal.c line 2100
  • #58 gtk_signal_emit_by_name
    at gtksignal.c line 374
  • #59 do_size_request
    at gtksizegroup.c line 491
  • #60 _gtk_size_group_compute_requisition
    at gtksizegroup.c line 678
  • #61 gtk_widget_size_request
    at gtkwidget.c line 2203
  • #62 gtk_vbox_size_request
    at gtkvbox.c line 118
  • #63 g_cclosure_marshal_VOID__BOXED
    at gmarshal.c line 566
  • #64 g_type_class_meta_marshal
    at gclosure.c line 514
  • #65 g_closure_invoke
    at gclosure.c line 437
  • #66 signal_emit_unlocked_R
    at gsignal.c line 2271
  • #67 g_signal_emit_valist
    at gsignal.c line 2100
  • #68 gtk_signal_emit_by_name
    at gtksignal.c line 374
  • #69 do_size_request
    at gtksizegroup.c line 491
  • #70 _gtk_size_group_compute_requisition
    at gtksizegroup.c line 678
  • #71 gtk_widget_size_request
    at gtkwidget.c line 2203
  • #72 gtk_window_size_request
    at gtkwindow.c line 3385
  • #73 g_cclosure_marshal_VOID__BOXED
    at gmarshal.c line 566
  • #74 g_type_class_meta_marshal
    at gclosure.c line 514
  • #75 g_closure_invoke
    at gclosure.c line 437
  • #76 signal_emit_unlocked_R
    at gsignal.c line 2271
  • #77 g_signal_emit_valist
    at gsignal.c line 2100
  • #78 gtk_signal_emit_by_name
    at gtksignal.c line 374
  • #79 do_size_request
    at gtksizegroup.c line 491
  • #80 _gtk_size_group_compute_requisition
    at gtksizegroup.c line 678
  • #81 gtk_widget_size_request
    at gtkwidget.c line 2203
  • #82 gtk_window_compute_configure_request
    at gtkwindow.c line 4046
  • #83 gtk_window_show
    at gtkwindow.c line 3047
  • #84 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #85 g_type_class_meta_marshal
    at gclosure.c line 514
  • #86 g_closure_invoke
    at gclosure.c line 437
  • #87 signal_emit_unlocked_R
    at gsignal.c line 2271
  • #88 g_signal_emit_valist
    at gsignal.c line 2100
  • #89 gtk_signal_emit
    at gtksignal.c line 355
  • #90 gtk_widget_show
    at gtkwidget.c line 1637
  • #91 gtk_container_show_all
    at gtkcontainer.c line 2165
  • #92 gtk_widget_show_all
    at gtkwidget.c line 1775
  • #93 dialog_newuser
    at dialog-newuser.c line 717
  • #94 main
    at pan.c line 259
$ 

Regards,
Jim
Comment 1 Christophe Lambin 2002-08-25 19:34:06 UTC
It's not unlikely that this crash is related to Pango not being able
to resolve your fonts. The default fonts are:

    "sans bold 11"
    "sans 11"
    "courier 11"

Could you check your pango config (/etc/pango/pangox.aliases) and see
if  these resolve to existing fonts ?
Comment 2 Christophe Lambin 2002-08-25 19:34:36 UTC
Also, are you running Pan on a remote display by any chance ?
Comment 3 jseymour 2002-08-25 19:40:30 UTC
If you mean by that, can I find those strings in pangox.aliases
(which, in my case, is really in /usr/local/etc/pango), the answer
is no.  They're not in there.

Jim
Comment 4 jseymour 2002-08-25 19:41:33 UTC
Hahaha.  Crossing responses...

No, running on local console.

Jim
Comment 5 Christophe Lambin 2002-08-25 20:04:13 UTC
:-)

Regarding pango:  I'm no Pango expert, but here's the entries from my
pangox.aliases file:

sans normal normal normal normal \
    "-*-helvetica-medium-r-normal--*-*-*-*-*-*-*-*,\
    ...

sans normal normal bold normal \
    "-*-helvetica-bold-r-normal--*-*-*-*-*-*-*-*,\
    ...

which tells Pango how to map the generic 'sans' font name into real
fonts.  Your file should have similar entries, and at least one of the
listed real fonts should exist on your system.


Comment 6 Christophe Lambin 2002-08-25 20:13:25 UTC
BTW, one of our users had crashes with a similar backtrace on FreeBSD.
He managed to fix them by removing the following flag:

    -Wl,--export-dynamic

http://mail.freesoftware.fsf.org/pipermail/pan-users/2002-August/001827.html
Comment 7 jseymour 2002-08-26 01:57:17 UTC
Okay.  I have the same or similar entries.  As far as the listed real
fonts, it'll take me some time to verify those.  (Being as I don't
know where to start.  I'll figure it out.)

As to the flags: color me clueless, but remove "-Wl, --export-dynamic"
from *what*?

Jim
Comment 8 Charles Kerr 2002-09-17 04:25:42 UTC
Going from Pan to Pango in the hopes that
someone there is more clueful than us bozos
on the Pan team. :)
Comment 9 Christophe Lambin 2002-09-25 18:42:45 UTC
*** Bug 94188 has been marked as a duplicate of this bug. ***
Comment 10 Charles Kerr 2002-11-18 21:46:46 UTC
*** Bug 97657 has been marked as a duplicate of this bug. ***
Comment 11 Charles Kerr 2002-11-18 21:49:27 UTC
*** Bug 98612 has been marked as a duplicate of this bug. ***
Comment 12 Owen Taylor 2002-11-22 00:10:06 UTC
Frankly, I have to suspect a Pan bud here since we've had no 
duplicates of this reported for other software. Maybe there 
is a missing gdk_threads_enter()/leave() somewhere? This
looks like a plausible crash if GTK+ was using Pango from
two threads simultaneously.

(I recall that Pan uses GTK+'s thread support, which is a
bit unusual in the general scheme of GTK+ programs)
Comment 13 Brandon Corey 2002-11-27 00:49:15 UTC
I wanted to add that I'm having the exact same problem running with Irix on the newest 
version (0.13.2.90):

 ****  Purify instrumented ./pan.pure (pid 17201)  ****
 
ZPR: Zero page read:
    * This is occurring while in thread 65536:
       g_str_hash     
[gstring.c:75]
       g_hash_table_lookup [ghash.c:192]
       pango_x_list_subfonts 
[pangox.c:1116]
       find_char      [basic-x.c:254]
       basic_engine_get_coverage 
[basic-x.c:694]
       pango_x_face_get_coverage [pangox-fontmap.c:1535]
       
pango_x_font_get_coverage [pangox.c:1371]
       pango_font_get_coverage 
[fonts.c:1043]
       pango_fontset_simple_get_font [pango-fontset.c:364]
       
pango_fontset_get_font [pango-fontset.c:86]
    * Reading 1 byte from 0x1
 
The 
actual call that causes the crash is:

g_str_hash (gconstpointer key)
 {
       
const char *p = key;
       guint h = *p;
 
Where the above *p (key) is a NULL pointer.
So 
it tries to read the value at the location of NULL pointer p.
Comment 14 Brandon Corey 2002-11-27 00:53:09 UTC
I found out from the above BSD link, that the same thing was possible to fix on this end.  
The --export-dynamic flag to the linker is not set by default on Linux or BSD.  However, on 
Solaris and Irix, the equivalent of that is set by default.  As a side note, on Irix, I 
added the flag -Wl,-exported_symbol (which as listed with no params after hides all 
symbols) to the link line.  After that fix, it runs fine.

Again, this definitely 
points to a symbol conflict with pan and one of the gtk libraries (possibly pango).
Comment 15 Owen Taylor 2002-11-27 16:10:40 UTC
If you have a version of Pango before Pango-1.0.5 or
Pango-1.1.1, you may be running into a bug that has
been since fixed:

Tue Aug 20 15:42:33 2002  Owen Taylor  <otaylor@redhat.com>

        * modules/indic/indic-xft.c (maybe_add_SUB_feature):
          modules/indic/indic-xft.c (maybe_add_GPOS_feature):
          modules/indic/indic-ot.c (getOutputIndex)
          modules/hebrew/hebrew-x.c (get_glyph_num)
          modules/basic/basic-x.c (find_char): Fix missing
         statics.

Do you have the current Pango, Brandon?
Comment 16 Brandon Corey 2002-11-28 02:02:15 UTC
I've been using pango-1.0.4, but I'll try out 1.0.5 and see how that works.  Do you know if 
1.0.5 is stable?
Comment 17 Owen Taylor 2002-11-28 03:13:15 UTC
I think it can be assumed that if I put out a release
in the 1.0.x series (the _stable_ branch of Pango) that
I think it is stable...
Comment 18 Charles Kerr 2002-12-04 02:23:27 UTC
Brandon: ping
Comment 19 Brandon Corey 2002-12-05 19:00:47 UTC
Sorry I'm taking so long.  I'll get it tried out ASAP and get back
to you.
Comment 20 Brandon Corey 2002-12-06 19:05:49 UTC
I've tested this, and the issue has been resolved when using Pango 1.0.5.
Comment 21 Christophe Lambin 2002-12-06 20:11:48 UTC
Thanks for the update. Closing.


*** This bug has been marked as a duplicate of 100398 ***
Comment 22 Charles Kerr 2002-12-11 02:51:40 UTC
*** Bug 100897 has been marked as a duplicate of this bug. ***