ports/131664: [perl] Segfaults with p5-ReadLine-Gnu

Lucius Windschuh lwindschuh at googlemail.com
Fri Feb 13 21:50:01 UTC 2009


>Number:         131664
>Category:       ports
>Synopsis:       [perl] Segfaults with p5-ReadLine-Gnu
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Feb 13 21:50:00 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Lucius Windschuh
>Release:        -CURRENT
>Organization:
>Environment:
FreeBSD current 8.0-CURRENT FreeBSD 8.0-CURRENT #11: Fri Feb 13 12:27:30 CET 2009     root at current:/usr/obj/usr/src/sys/CURRENT  i386
>Description:
Using the new perl 5.8.9, I my scripts exit with a SEGFAULT when terminating:
 Assertion failed: ((run->regs_mask[elm] & (1U << bit)) == 0), function arena_run_reg_dalloc, file /usr/src/lib/libc/stdlib/malloc.c, line 2543.
 Abort (core dumped)

My scripts run normally until the end and then, the SEGFAULT occurs.
This bug occured with the perl 5.8.9 update.

Compiling perl and p5-ReadLine-Gnu with debugging did not give me reasonable results. Without debugging, I get:
.Assertion failed: ((run->regs_mask[elm] &
 (1U << bit)) == 0), function arena_run_reg_dalloc, file /usr/src/lib/libc/stdli
b/malloc.c, line 2543.

Program received signal SIGABRT, Aborted.
0x282c68d7 in kill () from /lib/libc.so.7
(gdb) bt
#0  0x282c68d7 in kill () from /lib/libc.so.7
#1  0x282c6836 in raise () from /lib/libc.so.7
#2  0x282c545a in abort () from /lib/libc.so.7
#3  0x282abad6 in __assert () from /lib/libc.so.7
#4  0x2824d17a in malloc_usable_size () from /lib/libc.so.7
#5  0x2824d550 in malloc_usable_size () from /lib/libc.so.7
#6  0x2824dc87 in free () from /lib/libc.so.7
#7  0x282c024b in wcrtomb () from /lib/libc.so.7
#8  0x282019b0 in ?? () from /lib/libc.so.7
#9  0x282d8000 in ?? () from /lib/libc.so.7
#10 0x28075878 in ?? () from /libexec/ld-elf.so.1
#11 0xbfbfe7b8 in ?? ()
#12 0x282c9f7c in ?? () from /lib/libc.so.7
#13 0x28085100 in ?? ()
#14 0x28075878 in ?? () from /libexec/ld-elf.so.1
#15 0xbfbfe7b8 in ?? ()
#16 0x2804e64f in dlsym () from /libexec/ld-elf.so.1
Previous frame inner to this frame (corrupt stack?)

>How-To-Repeat:
$ cd /usr/ports/devel/p5-ReadLine-Gnu && make install clean
$ rehash
$ cd
$ chmod a+x foo.pl
$ ./foo.pl
Assertion failed: ((run->regs_mask[elm] & (1U << bit)) == 0), function arena_run_reg_dalloc, file /usr/src/lib/libc/stdlib/malloc.c, line 2543.
Abort (core dumped)
>Fix:


Patch attached with submission follows:

#!/usr/bin/perl

use Term::ReadLine;

my $term = new Term::ReadLine 'foobar';


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



More information about the freebsd-ports-bugs mailing list