# 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

Reply via email to