Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Mar 2004 16:48:46 -0800 (PST)
From:      Ross McFarland <rwmcfa1@neces.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   i386/63670: 'Unable to read from thread kernel pipe'  abort while running perl Makefile.PL for Gtk2 module, perl 5.8.2
Message-ID:  <200403030048.i230mkJI055223@www.freebsd.org>
Resent-Message-ID: <200403030050.i230oCT7056027@freefall.freebsd.org>

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

>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@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:



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