Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Jun 2004 23:25:18 -0400 (EDT)
From:      Steve Wills <steve@stevenwills.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   i386/68098: pan crahes reliably in libpthread
Message-ID:  <200406190325.i5J3PIjZ040937@tigger.example.com>
Resent-Message-ID: <200406190330.i5J3UOBK014207@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         68098
>Category:       i386
>Synopsis:       pan crahes reliably in libpthread
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jun 19 03:30:23 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     
>Release:        5.2-CURRENT cvsup'd Jun 16 18:27
>Organization:
>Environment:
System: FreeBSD thx1138.example.com 5.2-CURRENT FreeBSD 5.2-CURRENT #2: Fri Jun 18 00:18:28 UTC 2004     steve@thx1138.example.com:/usr/obj/usr/src/sys/THX1138  i386


	
>Description:
	pan seems to trigger a bug in libpthread
>How-To-Repeat:
	install ports/news/pan2, open a few large groups, try to view
headers, pan will coredump with a message like this:

$ pan

GLib-ERROR **: gmem.c:140: failed to allocate 4160 bytes
aborting...

GLib-ERROR **: gmem.c:173: failed to allocate 136 bytes
aborting...

GLib-ERROR **: (NULL) message
aborting...
Abort trap (core dumped)
$

There is of course more RAM than that free.

Here's the backtrace from the coredump:

$ gdb pan pan.core
GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 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 "i386-undermydesk-freebsd"...
(no debugging symbols found)...
Core was generated by `pan'.
Program terminated with signal 6, Aborted.
Reading symbols from /usr/local/lib/libintl.so.6...
(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libintl.so.6
Reading symbols from /usr/X11R6/lib/libgtkspell.so.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libgtkspell.so.0
Reading symbols from /usr/local/lib/libaspell.so.15...
(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libaspell.so.15
Reading symbols from /usr/X11R6/lib/libgtk-x11-2.0.so.400...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libgtk-x11-2.0.so.400
Reading symbols from /usr/X11R6/lib/libgdk-x11-2.0.so.400...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libgdk-x11-2.0.so.400
Reading symbols from /usr/X11R6/lib/libXrandr.so.2...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libXrandr.so.2
Reading symbols from /usr/X11R6/lib/libXi.so.6...
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libXi.so.6
Reading symbols from /usr/X11R6/lib/libXcursor.so.1...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libXcursor.so.1
Reading symbols from /usr/local/lib/libatk-1.0.so.600...
(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libatk-1.0.so.600
Reading symbols from /usr/X11R6/lib/libgdk_pixbuf-2.0.so.400...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libgdk_pixbuf-2.0.so.400
Reading symbols from /lib/libm.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.2
Reading symbols from /usr/X11R6/lib/libpangoxft-1.0.so.399...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libpangoxft-1.0.so.399
Reading symbols from /usr/X11R6/lib/libXft.so.2...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libXft.so.2
Reading symbols from /usr/local/lib/libfreetype.so.9...
(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libfreetype.so.9
Reading symbols from /lib/libz.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libz.so.2
Reading symbols from /usr/X11R6/lib/libXrender.so.1...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libXrender.so.1
Reading symbols from /usr/X11R6/lib/libXext.so.6...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libXext.so.6
Reading symbols from /usr/X11R6/lib/libfontconfig.so.1...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libfontconfig.so.1
Reading symbols from /usr/X11R6/lib/libpangox-1.0.so.399...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libpangox-1.0.so.399
---Type <return> to continue, or q <return> to quit---
Reading symbols from /usr/X11R6/lib/libX11.so.6...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libX11.so.6
Reading symbols from /usr/X11R6/lib/libpango-1.0.so.399...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libpango-1.0.so.399
Reading symbols from /usr/local/lib/libgobject-2.0.so.400...
(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libgobject-2.0.so.400
Reading symbols from /usr/local/lib/libgmodule-2.0.so.400...
(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libgmodule-2.0.so.400
Reading symbols from /usr/local/lib/libglib-2.0.so.400...
(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libglib-2.0.so.400
Reading symbols from /usr/local/lib/libiconv.so.3...
(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libiconv.so.3
Reading symbols from /usr/local/lib/libxml2.so.5...
(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libxml2.so.5
Reading symbols from /usr/local/lib/libgthread-2.0.so.400...
(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libgthread-2.0.so.400
Reading symbols from /usr/lib/libpthread.so.1...(no debugging symbols found)...
done.
Loaded symbols for /usr/lib/libpthread.so.1
Reading symbols from /usr/local/lib/libgnet-2.0.so.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libgnet-2.0.so.0
Reading symbols from /usr/lib/libgnuregex.so.2...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgnuregex.so.2
Reading symbols from /lib/libc.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.5
---Type <return> to continue, or q <return> to quit---
Reading symbols from /usr/lib/libstdc++.so.4...(no debugging symbols found)...
done.
Loaded symbols for /usr/lib/libstdc++.so.4
Reading symbols from /usr/X11R6/lib/libpangoft2-1.0.so.399...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/libpangoft2-1.0.so.399
Reading symbols from /usr/local/lib/libexpat.so.5...
(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libexpat.so.5
Reading symbols from /usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2
Reading symbols from /usr/X11R6/lib/gtk-2.0/2.4.0/engines/libthinice.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/gtk-2.0/2.4.0/engines/libthinice.so
Reading symbols from /usr/X11R6/lib/gtk-2.0/2.4.0/engines/libredmond95.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/gtk-2.0/2.4.0/engines/libredmond95.so
Reading symbols from /usr/X11R6/lib/pango/1.4.0/modules/pango-basic-fc.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/X11R6/lib/pango/1.4.0/modules/pango-basic-fc.so
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...
done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x28a9291b in pthread_testcancel () from /usr/lib/libpthread.so.1
(gdb)
(gdb) where
#0  0x28a9291b in pthread_testcancel () from /usr/lib/libpthread.so.1
#1  0x28a83a77 in sigaction () from /usr/lib/libpthread.so.1
#2  0x28a7d264 in pthread_kill () from /usr/lib/libpthread.so.1
#3  0x28a7cae1 in raise () from /usr/lib/libpthread.so.1
#4  0x28b77482 in abort () from /lib/libc.so.5
#5  0x28837c91 in g_logv () from /usr/local/lib/libglib-2.0.so.400
#6  0x28837d54 in g_log () from /usr/local/lib/libglib-2.0.so.400
#7  0x28835605 in g_realloc () from /usr/local/lib/libglib-2.0.so.400
#8  0x28847419 in g_string_maybe_expand ()
   from /usr/local/lib/libglib-2.0.so.400
#9  0x28847540 in g_string_sized_new () from /usr/local/lib/libglib-2.0.so.400
#10 0x28847582 in g_string_new () from /usr/local/lib/libglib-2.0.so.400
#11 0x288384c3 in g_log_default_handler ()
   from /usr/local/lib/libglib-2.0.so.400
#12 0x28837c7c in g_logv () from /usr/local/lib/libglib-2.0.so.400
#13 0x28837d54 in g_log () from /usr/local/lib/libglib-2.0.so.400
#14 0x288354eb in g_malloc () from /usr/local/lib/libglib-2.0.so.400
#15 0x287a7310 in pango_attr_list_new ()
   from /usr/X11R6/lib/libpango-1.0.so.399
#16 0x287b1cb5 in pango_layout_get_effective_attributes ()
   from /usr/X11R6/lib/libpango-1.0.so.399
#17 0x287b1ef9 in pango_layout_check_lines ()
   from /usr/X11R6/lib/libpango-1.0.so.399
---Type <return> to continue, or q <return> to quit---
#18 0x287b04cf in pango_layout_get_extents_internal ()
   from /usr/X11R6/lib/libpango-1.0.so.399
#19 0x287b07bf in pango_layout_get_extents ()
   from /usr/X11R6/lib/libpango-1.0.so.399
#20 0x287b0a7a in pango_layout_get_pixel_size ()
   from /usr/X11R6/lib/libpango-1.0.so.399
#21 0x0809c328 in socket_pool_set_online ()
#22 0x0809c672 in socket_pool_set_online ()
#23 0x080a980a in pan_timeout_add ()
#24 0x080a96de in pan_error_dialog ()
#25 0x28831838 in g_timeout_dispatch () from /usr/local/lib/libglib-2.0.so.400
#26 0x2882ede4 in g_main_dispatch () from /usr/local/lib/libglib-2.0.so.400
#27 0x2882fd1d in g_main_context_dispatch ()
   from /usr/local/lib/libglib-2.0.so.400
#28 0x2883012e in g_main_context_iterate ()
   from /usr/local/lib/libglib-2.0.so.400
#29 0x28830871 in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.400
#30 0x28358d40 in gtk_main () from /usr/X11R6/lib/libgtk-x11-2.0.so.400
#31 0x08089f1a in main ()
#32 0x08062e52 in _start ()
(gdb)

I may be misunderstanding gdb's output, I'm no expert.

Just FYI, I do have this in my make.conf:

CPUTYPE=p3
CFLAGS= -O -pipe
COPTFLAGS= -O -pipe

But from what I've read, these are considered 'safe'. 

If you need more info, please let me know. I'm willing to do whatever
I can to help figure this out.

Thanks

>Fix:

	Wish I knew. :)


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200406190325.i5J3PIjZ040937>