Parrot Bug Summary

2008-03-24 Thread Parrot Bug Summary
Parrot Bug Summary

http://rt.perl.org/rt3/NoAuth/parrot/Overview.html
Generated at Mon Mar 24 13:00:04 2008 GMT
---

  * Numbers
  * New Issues
  * Overview of Open Issues
  * Ticket Status By Version
  * Requestors with most open tickets

---

Numbers

Ticket Counts: 71 new + 739 open = 810
Created this week: 24
Closed this week: 35

---

New Issues

New issues that have not been responded to yet

1 - 2 weeks old
51634 docs/parrotbyte.pod && docs/pdds/pdd13_bytecode.pod are either incorrect/
  unclear
2 - 3 weeks old
51464 [TODO] [PDD] add date stamps to PDD's
3 - 4 weeks old
51350 [PATCH] correction and extension of the pair implementation
51330 [TODO] dynext - dll versioning
51206 Tail call into PIR compiler broken?
4 - 5 weeks old
5 - 6 weeks old
50894 parrot -O Fails Tests
6 - 7 weeks old
50642 [CAGE] refactor init_class_from_hash & parrot_class_register
50596 [PATCH][PCT] Add basic "tests"
7 - 8 weeks old
50508 [PATCH] evaluate the first child of a PAST::Var :scope('attribute') as
  the object
50500 [PROPOSAL][PAST] add PAST::Var :scope('attribute')
50448 [Memory Leak] IMCC Can Leak Lexer Data on Exception
50424 [PROPOSAL][PCT] allow empty PAST::Stmts nodes
50360 Redesign Parrot NCI callback functionality
8 - 9 weeks old
50092 [TODO] pct - explicit transcode in PCT::Grammar::string_literal
50090 [TODO] pge - throw useful exception on non-quoted non-word characters
50068 Configure doesn't detect backtrace* on ubuntu gutsy
9 - 10 weeks old
49970 [BUG] -O1 and -O2 don't turn on -Ot as per docs
49968 [BUG] 'parrot -O2 oofib.pir' errors out, when -O1 succeeds
49966 [BUG] parrot -v -O2 segfaults, when -v and -O2 separately both work
10 - 11 weeks old
49718 JIT Core Needs to Handle Scheduler Tasks
11 - 12 weeks old
49328 [BUG] problem between PBC loading and garbage collection
49258 Parrot::Test with --run-exec assumes "." is in $PATH
12 - 13 weeks old
49177 [TODO] pct - PAST::Val node should throw exception if :value attribute
  not set
13 - 14 weeks old
49001 [PROPOSAL][DOCS] Change word "compilation_unit" into something else (like
  "sub")
48877 [TODO] Don't generate .constant declarations for vtable method names.
14 - 15 weeks old
48749 [BUG] t/examples/tutorial.t if_unless failure (Win32)
48645 [CAGE] Make PMCs depend on Parrot::Pmc2c::* Modules
48587 [BUG] pmc.num contains missing PMCs
48581 [DEPRECATED] vtable type_keyed_str
48549 [RFC][PIR] Let .namespace (no args) have empty brackets
48513 [TODO][PCT] Use of int registers in PCT.
48507 [BUG] oo - n_add, n_sub, etc. don't work with objects
48467 [BUG] assignment of objects creates Ref instead of copy
48445 [TODO] [NQP] - report undeclared variable usage
48439 [TODO] [configure] compiling Parrot with LLVM
15 - 16 weeks old
48367 intlist_get could be dereferencing NULL
48286 [TODO] [C] Warnings aren't emitted if a var isn't initialised and -w flag
  is on in propagate_need()
48282 [TODO] [C] Check that invoke is ok near the set_addr instruction in
  bb_findadd_edge()
48280 [TODO] [C] Check for a sub with more up-to-date unit->type lookup
48274 [TODO] [C] Stop ignoring the known errors in Parrot_dlopen()
48264 [TODO] [C] Write file-level documentation
48150 [DOCS] pdd23 doesn't document obtaining thrown exception object
16 - 17 weeks old
48034 [BUG] examples/streams/Bytes.pir runtime error
47992 [RFE] 'parrot foo' automatically finds and invokes foo.pbc
47974 [DOCS] What are valid characteristics for 'inspect_str' vtable
47966 [DOCS] pdd23 doesn't list exception;death as a standard exception
47940 [CAGE] mk_native_pbc stale
47930 [RFC] Remove comma separated keys [a,b]
47894 [BUG] Non-existent lexical throws exception
47888 [TODO] gc - possibly merge gmc branch back into trunk
17 - 18 weeks old
47764 [TODO] COW for one or all users of a modified string
18 - 19 weeks old
19 - 20 weeks old
20 - 21 weeks old
---

Overview of Open Issues

Platform   Severity   Tag  Lang
aix   0abandoned 05005threads   0  Amber0
All   2fatal 3bounce0  BASIC0
bsdos 0High  0Bug  78  bc   0
cygwin4low   0compiler  0  befunge  0
cygwin_nt 0medium0configure 2  bf   0
darwin3none  1core  2  cola 0
dec_osf   0Normal1dailybuild0  forth0
dgux  0unknown   0docs  3  jako 0
dos   0Wishlist  3duplicate 0  Lisp 0
dynixptx  0  install   2  lolcode  0
freebsd

[perl #40817] [TODO] track generated files during the configure/make process

2008-03-24 Thread James Keenan via RT
Alright, take 3:  Store the fact that this is real configuration in the
Parrot::Configure object just before calling runsteps().
Index: lib/Parrot/Configure/Compiler.pm
===
--- lib/Parrot/Configure/Compiler.pm(revision 26526)
+++ lib/Parrot/Configure/Compiler.pm(working copy)
@@ -258,6 +258,11 @@
 my $conf = shift;
 my ( $source, $target, %options ) = @_;
 
+my $calling_sub = (caller(1))[3] || q{};
+if ( $calling_sub !~ /cc_gen$/ ) {
+$conf->append_configure_log($target);
+}
+
 open my $in,  '<', $source   or die "Can't open $source: $!";
 open my $out, '>', "$target.tmp" or die "Can't open $target.tmp: $!";
 
@@ -303,7 +308,9 @@
 
 # OUT was/is used at the output filehandle in eval'ed scripts
 # e.g. feature.pl or feature_h.in
+no warnings 'once';
 local *OUT = $out;
+use warnings;
 my $text = do { local $/; <$in> };
 
 # interpolate @foo@ values
@@ -418,6 +425,18 @@
 move_if_diff( "$target.tmp", $target, $options{ignore_pattern} );
 }
 
+sub append_configure_log {
+my $conf = shift;
+my $target = shift;
+if ( $conf->{active_configuration} ) {
+my $generated_log = 'MANIFEST.configure.generated';
+open my $GEN, '>>', $generated_log
+or die "Can't open $generated_log for appending: $!";
+print $GEN "$target\n";
+close $GEN or die "Can't close $generated_log after appending: $!";
+}
+}
+
 =head1 SEE ALSO
 
 =over 4
Index: lib/Parrot/Configure/Utils.pm
===
--- lib/Parrot/Configure/Utils.pm   (revision 26526)
+++ lib/Parrot/Configure/Utils.pm   (working copy)
@@ -44,7 +44,7 @@
 auto  => [
 qw(capture_output check_progs)
 ],
-gen => [qw(copy_if_diff move_if_diff)]
+gen => [qw( copy_if_diff move_if_diff )]
 );
 
 =item C<_run_command($command, $out, $err)>
@@ -311,6 +311,8 @@
 
 =back
 
+=cut
+
 =head1 SEE ALSO
 
 =over 4
Index: Configure.pl
===
--- Configure.pl(revision 26526)
+++ Configure.pl(working copy)
@@ -58,6 +58,7 @@
 
 # Run the actual steps
 # from Parrot::Configure
+$conf->{active_configuration} = 1;
 $conf->runsteps or exit(1);
 
 # build tests will only be run if you requested them
Index: config/init/manifest.pm
===
--- config/init/manifest.pm (revision 26526)
+++ config/init/manifest.pm (working copy)
@@ -19,6 +19,7 @@
 use base qw(Parrot::Configure::Step);
 
 use Parrot::Configure::Step;
+use Parrot::Configure::Utils ':gen';
 use ExtUtils::Manifest qw(manicheck);
 
 
@@ -33,6 +34,7 @@
 sub runstep {
 my ( $self, $conf ) = @_;
 
+$conf->append_configure_log('MANIFEST.configure.generated');
 if ( $conf->options->get('nomanicheck') ) {
 $self->set_result('skipped');
 return 1;
Index: config/gen/platform.pm
===
--- config/gen/platform.pm  (revision 26526)
+++ config/gen/platform.pm  (working copy)
@@ -19,7 +19,7 @@
 
 use base qw(Parrot::Configure::Step);
 
-use Parrot::Configure::Utils qw(copy_if_diff);
+use Parrot::Configure::Utils ':gen';
 
 sub _init {
 my $self = shift;
@@ -74,8 +74,10 @@
 string.h
 /;
 
-open my $PLATFORM_H, ">", "include/parrot/platform.h"
-or die "Can't open include/parrot/platform.h: $!";
+my $plat_h = q{include/parrot/platform.h};
+$conf->append_configure_log($plat_h);
+open my $PLATFORM_H, ">", $plat_h
+or die "Can't open $plat_h: $!";
 
 print {$PLATFORM_H} <<"END_HERE";
 /* ex: set ro:
@@ -176,8 +178,10 @@
 misc.c
 /;
 
-open my $PLATFORM_C, ">", "src/platform.c"
-or die "Can't open src/platform.c: $!";
+my $plat_c = q{src/platform.c};
+$conf->append_configure_log($plat_c);
+open my $PLATFORM_C, ">", $plat_c
+or die "Can't open $plat_c: $!";
 
 print {$PLATFORM_C} <<"END_HERE";
 /*
Index: config/gen/makefiles/root.in
===
--- config/gen/makefiles/root.in(revision 26526)
+++ config/gen/makefiles/root.in(working copy)
@@ -225,7 +225,8 @@
 $(GEN_MAKEFILES) \
 ext/Parrot-Embed/Makefile.PL \
 myconfig  \
-$(GEN_PASM_INCLUDES)
+$(GEN_PASM_INCLUDES) \
+MANIFEST.configure.generated
 
 
 ###
Index: config/gen/core_pmcs.pm
===
--- config/gen/core_pmcs.pm (revision 26526)
+++ config/gen/core_pmcs.pm (working copy)
@@ -43,6 +43,7 @@
 my ( $self, $conf ) = @_;
 
 my $file = "include/parrot/core_pmcs.h";
+$conf->append_confi

[perl #38194] [TODO] build - optimize pmc2c.pl

2008-03-24 Thread James Keenan via RT
On Sun Mar 23 21:32:47 2008, [EMAIL PROTECTED] wrote:

> 
> Off hand, that sounds right.  To see real gains here we need to avoid
> loading FindBin.pm completely.  So it'll need to be require()'d if the
> correct information hasn't been passed in.
> 
> -J
> 
> --


Okay.  I am going to apply my patch as an interim solution.  Applied in
r26527.  Ticket remains open.

kid51


[perl #52046] .hllmacros.pir needs tests

2008-03-24 Thread via RT
# New Ticket Created by  Will Coleda 
# Please include the string:  [perl #52046]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=52046 >


This file suffers from bitrot (using the old .local macro syntax
instead of the current .label)

fix and add a test.

-- 
Will "Coke" Coleda


[perl #52044] [PATCH] Trailing space in src/builtin.c

2008-03-24 Thread via RT
# New Ticket Created by  Matt Kraai 
# Please include the string:  [perl #52044]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=52044 >


Howdy,

src/builtin.c contains a trailing space on line 213, which causes a
test in t/codingstd/trailing_space.t to fail.  The attached patch
removes the trailing space.

-- 
Matt
>From 85e37ca00f0f06027dcf0c26ef6e47b297ff93d1 Mon Sep 17 00:00:00 2001
From: Matt Kraai <[EMAIL PROTECTED]>
Date: Mon, 24 Mar 2008 07:25:05 -0700
Subject: [PATCH] Remove trailing space

---
 src/builtin.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/builtin.c b/src/builtin.c
index b6c6b56..6fd41ee 100644
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -210,7 +210,7 @@ Takes the builtin's index, a signature string, and a flag indicating
 if conversion to PMCs is allowed.
 Compares the builtin's signature to the supplied string.
 Returns 1 if they match where it matters, (voids are ignored),
-returns 0 if they don't. 
+returns 0 if they don't.
 
 =cut
 
-- 
1.5.4.4



[perl #52048] tools/util/pgegrep broken, needs tests

2008-03-24 Thread via RT
# New Ticket Created by  Will Coleda 
# Please include the string:  [perl #52048]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=52048 >


This tool doesn't currently run (depends on the borked hllmacros.pir,
perhaps other issues)

This tool needs tests.

-- 
Will "Coke" Coleda


[perl #40653] [CAGE] [TODO] test pdd format

2008-03-24 Thread James Keenan via RT
particle and Coke said output looked okay for first pass, so I'm
committing t/codingstd/pdd_format.t in r26528.


[tutorial] Squaak implementation

2008-03-24 Thread Klaas-Jan Stol
Hi,

Attached are the 4 most important files of my implementation of the
PCT tutorial language, "Squaak".

Ideally, these files would be accessible online through the tutorial
(on parrotblog), but I don't know if that's possible.


kjs


grammar.pg
Description: Binary data


actions.pm
Description: Binary data


squaak.pir
Description: Binary data


say.pir
Description: Binary data


[perl #52054] [CAGE]: Make all PDDs conform to coding standards

2008-03-24 Thread via RT
# New Ticket Created by  James Keenan 
# Please include the string:  [perl #52054]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=52054 >


Parrot Design Documents (PDDs) are found in docs/pdds/ and docs/pdds/ 
draft/.  All PDDs are supposed to conform to coding standards per  
docs/pdds/pdd00_pdd.pod.  As of r26528 today, we now have a coding  
standards test which identifies where particular PDDs fail to live up  
to the standards (cf. http://rt.perl.org/rt3/Ticket/Display.html? 
id=40653).

As you might expect, quite a few of the PDDs don't live up to the  
standards, which means that this new file, t/codingstd/pdd_format.t,  
fails.  (It will only pass when all PDDs meet the standard.)

So we have a cage-cleaning opportunity here -- an opportunity  
particularly for anyone who has not yet contributed to the Parrot  
project, as the only skill you need to fix this is a little Perl 5  
and a little knowledge of POD.

See the attachment for PDD formatting errors.

kid51
t/codingstd/pdd_format..
#   Failed test '
# pdd00_pdd.pod lacks 'head1' SYNOPSIS section
# 
# pdd03_calling_conventions.pod has 3 lines > 78 chars:  96 144 148
# pdd03_calling_conventions.pod lacks 'head1' IMPLEMENTATION section
# pdd03_calling_conventions.pod lacks 'head1' SYNOPSIS section
# 
# pdd07_codingstd.pod has 21 lines > 78 chars:  118 588 593 601 602 603 612 617 
623 637 669 672 678 736 747 797 850 852 896 960 961
# pdd07_codingstd.pod lacks 'head1' SYNOPSIS section
# 
# pdd09_gc.pod has 31 lines > 78 chars:  39 56 58 111 119 126 167 169 170 171 
200 201 241 259 267 283 311 348 380 388 438 441 502 508 538 593 595 597 599 601 
603
# pdd09_gc.pod lacks 'head1' SYNOPSIS section
# 
# pdd13_bytecode.pod has 3 lines > 78 chars:  57 89 102
# pdd13_bytecode.pod lacks 'head1' SYNOPSIS section
# 
# pdd15_objects.pod has 24 lines > 78 chars:  52 73 137 143 336 374 548 761 983 
993 1042 1043 1065 1066 1119 1153 1261 1271 1282 1283 1327 1362 1379 1380
# pdd15_objects.pod lacks 'head1' SYNOPSIS section
# 
# pdd17_pmc.pod has 23 lines > 78 chars:  83 87 170 181 251 254 257 332 465 529 
658 1164 1213 1229 1280 1281 1368 1382 1545 1608 1633 1661 1841
# pdd17_pmc.pod lacks 'head1' SYNOPSIS section
# 
# pdd18_security.pod has 15 lines > 78 chars:  24 28 35 45 67 71 72 143 157 171 
177 188 192 200 206
# pdd18_security.pod lacks 'head1' SYNOPSIS section
# 
# pdd20_lexical_vars.pod has 2 lines > 78 chars:  65 323
# pdd20_lexical_vars.pod lacks 'head1' IMPLEMENTATION section
# 
# pdd21_namespaces.pod has 2 lines > 78 chars:  484 528
# pdd21_namespaces.pod lacks 'head1' ABSTRACT section
# pdd21_namespaces.pod lacks 'head1' SYNOPSIS section
# 
# pdd22_io.pod lacks 'head1' SYNOPSIS section
# 
# pdd23_exceptions.pod has 2 lines > 78 chars:  67 138
# pdd23_exceptions.pod lacks 'head1' SYNOPSIS section
# 
# pdd24_events.pod has 8 lines > 78 chars:  90 193 205 261 275 283 328 369
# pdd24_events.pod lacks 'head1' SYNOPSIS section
# 
# pdd25_concurrency.pod has 14 lines > 78 chars:  226 235 245 248 335 337 340 
346 414 417 420 423 426 432
# pdd25_concurrency.pod lacks 'head1' SYNOPSIS section
# 
# pdd26_ast.pod lacks 'head1' SYNOPSIS section
# pdd26_ast.pod lacks 'head1' REFERENCES section
# 
# pdd27_multiple_dispatch.pod lacks 'head1' SYNOPSIS section
# 
# draft/pdd01_overview.pod has 4 lines > 78 chars:  76 83 86 151
# draft/pdd01_overview.pod lacks 'head1' IMPLEMENTATION section
# draft/pdd01_overview.pod lacks 'head1' SYNOPSIS section
# draft/pdd01_overview.pod lacks 'head1' REFERENCES section
# 
# draft/pdd04_datatypes.pod has 10 lines > 78 chars:  35 65 66 88 105 143 149 
156 195 641
# draft/pdd04_datatypes.pod lacks 'head1' SYNOPSIS section
# 
# draft/pdd05_opfunc.pod has 2 lines > 78 chars:  68 152
# draft/pdd05_opfunc.pod lacks 'head1' SYNOPSIS section
# 
# draft/pdd06_pasm.pod has 38 lines > 78 chars:  14 15 31 36 41 42 46 47 52 64 
87 113 154 155 162 176 239 263 409 415 416 418 497 506 567 780 831 845 864 903 
916 950 951 973 1024  1257 1278
# draft/pdd06_pasm.pod lacks 'head1' SYNOPSIS section
# 
# draft/pdd08_keys.pod has 7 lines > 78 chars:  53 113 114 117 143 151 187
# draft/pdd08_keys.pod lacks 'head1' SYNOPSIS section
# draft/pdd08_keys.pod lacks 'head1' REFERENCES section
# 
# draft/pdd10_embedding.pod has 5 lines > 78 chars:  145 154 203 207 217
# draft/pdd10_embedding.pod lacks 'head1' SYNOPSIS section
# 
# draft/pdd11_extending.pod has 13 lines > 78 chars:  11 16 17 18 20 28 31 32 
40 110 142 174 286
# draft/pdd11_extending.pod lacks 'head1' IMPLEMENTATION section
# draft/pdd11_extending.pod lacks 'head1' SYNOPSIS section
# 
# draft/pdd14_bignum.pod has 12 lines > 78 chars:  81 106 183 235 250 252 256 
257 298 299 304 400
# draft/pdd14_bignum.pod lacks 'head1' SYNOPSIS section
# 
# draft/pdd16_native_call.pod has 3 lines > 78 chars:  64 172 177
# draft/pdd16_native_call.pod lacks 'head1' IMPLEMENTATION section
# draft/pdd16_native_call.pod lacks 'head1' SYNOPSIS

[perl #43334] [TODO] config/auto/icu.pm: Write unit tests

2008-03-24 Thread James Keenan via RT
Name of ticket changed to reflect change in name of configuration step
class from gen::icu to auto::icu (r26529).


[perl #51860] [BUG]: Failures in t/manifest/*.t in a release

2008-03-24 Thread James Keenan via RT
On Wed Mar 19 16:17:28 2008, [EMAIL PROTECTED] wrote:

> 
> We don't include the DEVELOPING file in releases, right?  We could
> check for
> that.
> 


Yes, that's what we do for the t/postconfigure/*.t tests as well.  So
I've revised the manifest_tools tests to, essentially, be disabled when
not run in a checkout from the repository.  See
http://parrotvm.org/svn/parrot/revision/?rev=26530.

Barney:  Can you confirm?

Thank you very much.
kid51