---
osname= linux
osvers= 2.4.27-ti1211
arch= i386-linux-thread-multi
cc= cc
---
Flags:
category=core
severity=medium
ack=no
---
Runing make test with parrot compiled with gcc 3.3.5 is failing the following test.
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/library/md5.t 4 1024 4 4 100.00% 1-4
t/pmc/mmd.t 6 1536 18 6 33.33% 10-15
t/pmc/object-meths.t 2 512 29 2 6.90% 28-29
2 tests and 63 subtests skipped.
Failed 3/145 test scripts, 97.93% okay. 12/2370 subtests failed, 99.49% okay.
These seem to be failing with linux gcc 2.72 , 3.2 , 3.3 and 3.4 but not 2.95
gcc3.3 on free bsd is also failing. From a quick look at the cores and based
on them all starting to fail around the same time they seem to be caused by the
same thing. Failure started about 5pm gmt(or maybe ist,whatever we are now)
http://unlinked.vm.bytemark.co.uk/tinder//parrot/status.html
Backtrace
#0 0x08161abd in fixup_bsrs (interpreter=0x82f9f08) at imcc/pbc.c:482
482 assert(s1->unit);
(gdb) backtrace
#0 0x08161abd in fixup_bsrs (interpreter=0x82f9f08) at imcc/pbc.c:482
#1 0x08163471 in e_pbc_close (interpreter=0x82f9f08, param=0x0) at imcc/pbc.c:1180
#2 0x08159ba7 in emit_close (interp=0x82f9f08, param=0x0) at imcc/instructions.c:561
#3 0x08156a93 in imc_compile_all_units (interp=0x82f9f08) at imcc/imc.c:46
#4 0x0809d9c9 in main (argc=1, argv=0xbffff75c) at imcc/main.c:538
I have looked at the object meth failures and isolated the failures to
.sub main @MAIN
.local pmc o, m, cl
o = getstdout
$I0 = "puts"(o, "ok 3\n")
.end
.sub main @MAIN
.local pmc x, y, cl, m
x = new Float
x = 1.0
print "function "
y = "cos"(x)
print y
print "\n"
.end
If I run either of these ie ./parrot eg.imc parrot cores
If I run ./parrot -o eg.pasm eg.imc and then run ./parrot eg.pasm
I get error:imcc:undefined identifier 'puts' or error:imcc:undefined identifier 'cos'
If I replace set_p_pc P0, puts with find_name P0 , "puts" in the pasm the
programs work.
With parrot compiled with gcc 295 I can run the imc above but parrot generates the same pasm
as with the broken parrots and fails with the same error message error:imcc:undefined identifier 'puts'
---
Summary of my parrot 0.1.2 configuration:
configdate='Wed Mar 30 18:12:42 2005'
Platform:
osname=linux, archname=i386-linux-thread-multi
jitcapable=1, jitarchname=i386-linux,
jitosname=LINUX, jitcpuarch=i386
execcapable=1
perl=/usr/bin/perl
Compiler:
cc='cc', ccflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
Linker and Libraries:
ld='cc', ldflags=' -L/usr/local/lib',
cc_ldflags='',
libs='-ldl -lm -lpthread -lcrypt -lrt -lgmp'
Dynamic Linking:
share_ext='.so', ld_share_flags='-shared -L/usr/local/lib -fPIC',
load_ext='.so', ld_load_flags='-shared -L/usr/local/lib -fPIC'
Types:
iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
ptrsize=4, ptr_alignment=1 byteorder=1234,
nv=double, numvalsize=8, doublesize=8
---
Environment:
HOME LANG LANGUAGE LD_LIBRARY_PATH LOGDIR PATH SHELL
> Failed Test Stat Wstat Total Fail Failed List of Failed
> -------------------------------------------------------------------------------
> t/library/md5.t 4 1024 4 4 100.00% 1-4
> t/pmc/mmd.t 6 1536 18 6 33.33% 10-15
> t/pmc/object-meths.t 2 512 29 2 6.90% 28-29
> These seem to be failing with linux gcc 2.72 , 3.2 , 3.3 and 3.4 but not 2.95
> gcc3.3 on free bsd is also failing.
As well as with gcc 3.3 on OSX (which passed md5.t, though)
> #0 0x08161abd in fixup_bsrs (interpreter=0x82f9f08) at imcc/pbc.c:482
> 482 assert(s1->unit);
Slightly wrong assertion test. Fixed (s1->unit was undefined in some
cases).
Thanks for reporting,
leo
Does that cover both the segmentation fault and the (I presume)incorect pasm that was
being generated?
> Thanks for reporting,
>
> leo
--
It's our responsibility to enthusiastically foster diverse catalysts for
change and conveniently disseminate cost effective materials in order to
solve business problems
jens