i386/63670: 'Unable to read from thread kernel pipe' abort while
running perl Makefile.PL for Gtk2 module, perl 5.8.2
Ross McFarland
rwmcfa1 at neces.com
Tue Mar 2 16:50:12 PST 2004
>Number: 63670
>Category: i386
>Synopsis: 'Unable to read from thread kernel pipe' abort while running perl Makefile.PL for Gtk2 module, perl 5.8.2
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-i386
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue Mar 02 16:50:11 PST 2004
>Closed-Date:
>Last-Modified:
>Originator: Ross McFarland
>Release: 5.2
>Organization:
Gtk2-Perl Team
>Environment:
FreeBSD gamma.local 5.2-RELEASE FreeBSD 5.2-RELEASE #0: Sun Jan 11 04:21:45 GMT 2004 root at wv1u.btc.adaptec.com:/usr/obj/usr/src/sys/GENERIC i386
>Description:
this happened long ago on 5.1, still happens on 5.2. happens when perl 5.8.2 from pkgs, from ports WITH_THREADS and ports default.
i'm a memeber of the Gtk2-Perl team and was going to look into getting the Gtk2-Perl set of modules into the ports tree. those modules will build and work on the 4.9 series after perl is upgraded to a new enough version.
output of fatal/problem command:
$ perl Makefile.PL
Fatal error 'Unable to read from thread kernel pipe' at line 1100 in file /usr/src/lib/libc_r/uthread/uthread_kern.c (errno = 0)
Abort trap (core dumped)
this is happening in one of a set of perl system calls in the ExtUtils::PkgConfig module. this problem hasn't been seen on any other os. the call would be something rather simple and look something like this:
system ("pkg-config --modversion gtk+-2.0");
the Glib module uses similar calls (with glib-2.0 instead of gtk+-2.0) that have no problems. the pkg-config command on the command line work fine as well.
output and bt of gdb on the core file dumped:
$ gdb perl perl.core GNU gdb 5.2.1 (FreeBSD)...#0 0x281f9d4f in kill () from /lib/libc.so.5(gdb) bt#0 0x281f9d4f in kill () from /lib/libc.so.5#1 0x281ee7f8 in raise () from /lib/libc.so.5#2 0x28266f02 in abort () from /lib/libc.so.5#3 0x28473565 in _thread_exit () from /usr/lib/libc_r.so.5#4 0x28471345 in _thread_kern_sig_undefer () from /usr/lib/libc_r.so.5#5 0x28470a94 in _thread_kern_sched_state_unlock () from /usr/lib/libc_r.so.5#6 0x28470445 in _thread_kern_scheduler () from /usr/lib/libc_r.so.5#7 0x65736961 in ?? ()#8 0xbfbfe588 in ?? ()Cannot access memory at address 0xb
>How-To-Repeat:
install the perl 5.8.2 pkg (5.8.x is required by Gtk2-Perl)
after building and installing ExtUtils::Depends, ExtUtils::PkgConfig, and Glib run 'perl Makefile.PL' with the Gtk2 module.
easiest way to repeat would probably be to check out gtk2-perl-xs from the gtk2-perl project on sourceforge. http://gtk2-perl.sourceforge.net/ and just make from the toplevel directory.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-i386
mailing list