# New Ticket Created by Nicholas Clark
# Please include the string: [perl #30241]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=30241 >
---
osname= linux
osvers= 2.4.26-ti1211
arch= i386-linux-thread-multi
cc= cc
---
Flags:
category=core
severity=high
ack=no
---
On this (Debian) x86 Linux system t/pmc/fixedfloatarray.t is going SEGV in
tests 7 and 8. On another x86 system (RedHat) it's going SEGV on tests 4 and 7
Here:
not ok 7 - Set via PMC keys, access via INTs
# Failed test (t/pmc/fixedfloatarray.t at line 183)
# got: 'ok 1
# ok 2
# '
# expected: 'ok 1
# ok 2
# ok 3
# '
# '(cd . && ./parrot "/home/nick/Parrot/parrot02/t/pmc/fixedfloatarray_7.pasm")'
failed with exit code 139
not ok 8 - Set via INTs, access via PMC Keys
# Failed test (t/pmc/fixedfloatarray.t at line 220)
# got: 'ok 1
# ok 2
# '
# expected: 'ok 1
# ok 2
# ok 3
# ok 4
# '
# '(cd . && ./parrot "/home/nick/Parrot/parrot02/t/pmc/fixedfloatarray_8.pasm")'
failed with exit code 139
# Looks like you failed 2 tests of 8.
I can't successfully run valgrind on either system (thread library stupidity
on the RedHat system, valgrind bug on this one) but under gdb I see backtraces
such as:
ok 1
ok 2
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 17487)]
0x40220d45 in mallopt () from /lib/libc.so.6
(gdb) where
#0 0x40220d45 in mallopt () from /lib/libc.so.6
#1 0x40220703 in calloc () from /lib/libc.so.6
#2 0x0813eca4 in xcalloc (n=1, size=144) at src/res_lea.c:86
#3 0x0813ebed in Parrot_allocate_string (interpreter=0x82ccd78,
str=0x41411de4, size=144) at src/res_lea.c:249
#4 0x0809cc92 in string_make_empty (interpreter=0x82ccd78,
representation=enum_stringrep_one, capacity=128) at src/string.c:322
I suspect a memory corruption bug, as it it doesn't look like the specific
arguments to this malloc are bogus. I can't recreate this problem at all
on x86 FreeBSD or on OS X. I find the x86 FreeBSD non-recreatability
surprising.
Nicholas Clark
---
Summary of my parrot 0.1.0 configuration:
configdate='Sat Jun 12 19:51:58 2004'
Platform:
osname=linux, archname=i686-linux
jitcapable=1, jitarchname=i386-linux,
jitosname=LINUX, jitcpuarch=i386
execcapable=1
perl=/home/nick/Install/bin/perl5.8.4
Compiler:
cc='ccache gcc', ccflags=' -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
Linker and Libraries:
ld='gcc', ldflags=' -L/usr/local/lib',
cc_ldflags='',
libs='-lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt'
Dynamic Linking:
so='.so', ld_shared='-shared -L/usr/local/lib -fPIC',
ld_shared_flags=''
Types:
iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
ptrsize=4, ptr_alignment=4 byteorder=1234,
nv=double, numvalsize=8, doublesize=8
---
Environment:
HOME LANG LANGUAGE LD_LIBRARY_PATH LOGDIR PATH SHELL