Skip Menu |
Report information

Date: Fri, 10 Jun 2016 11:26:16 -0700
To: rakudobug [...] perl.org
From: "? ?" <drforr [...] pobox.com>
Subject: precompilation bug
Download (untitled) / with headers
text/plain 1020b
This bug is a touch complex. First, file layout - bug/bin/perl6-prolog-lrep bug/lib/Prolog/{Actions.pm6,Grammar.pm6,LREP.pm6} As it stands, running: perl6 -Ilib bin/perl6-prolog-lrep # displays the prompt '> ' with Linenoise. Perl6 precompiles the .pm6 modules so things will run faster next time. Now, open Grammar.pm and add a '#" comment at the point marked '#^-- Add a comment here, rerun bin/perl6-prolog-lrep'. Rerun bin/perl6-prolog-lrep, and now you get this random-seeming error message: --cut here-- Could not find symbol '&here' in block <unit> at bin/perl6-prolog-lrep line 5 Actually thrown at: in block <unit> at bin/perl6-prolog-lrep line 5 --cut here-- Delete the lib/.precomp directory and the problem goes away. I suspect the precompilation routines should expire the old .precomp files, but aren't because the change is in a 'grammar' block, and not a 'class' block. I have no proof of that, but that's my suspicion. If you have questions, the easiest way to get hold of me is on IRC.
Download perl6-prolog-lrep
application/octet-stream 61b

Message body not shown because it is not plain text.

Download Actions.pm6
application/octet-stream 97b

Message body not shown because it is not plain text.

Download Grammar.pm6
application/octet-stream 116b

Message body not shown because it is not plain text.

Download LREP.pm6
application/octet-stream 1.1k

Message body not shown because it is not plain text.

To: perl6-compiler [...] perl.org, bugs-bitbucket [...] rt.perl.org
From: Lloyd Fournier <lloyd.fourn [...] gmail.com>
Subject: Re: [perl #128371] precompilation bug
Date: Fri, 10 Jun 2016 22:37:51 +0000
Download (untitled) / with headers
text/plain 1.4k

On Sat, Jun 11, 2016 at 4:27 AM via RT <perl6-bugs-followup@perl.org> wrote:
Show quoted text
# New Ticket Created by
# Please include the string:  [perl #128371]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=128371 >


This bug is a touch complex.

First, file layout -

bug/bin/perl6-prolog-lrep
bug/lib/Prolog/{Actions.pm6,Grammar.pm6,LREP.pm6}

As it stands, running:

perl6 -Ilib bin/perl6-prolog-lrep

# displays the prompt '> ' with Linenoise.

Perl6 precompiles the .pm6 modules so things will run faster next time.
Now, open Grammar.pm and add a '#" comment at the point marked '#^-- Add
a comment here, rerun bin/perl6-prolog-lrep'.

Rerun bin/perl6-prolog-lrep, and now you get this random-seeming error
message:

--cut here--
Could not find symbol '&here'
  in block <unit> at bin/perl6-prolog-lrep line 5

Actually thrown at:
  in block <unit> at bin/perl6-prolog-lrep line 5
--cut here--

Delete the lib/.precomp directory and the problem goes away.

I suspect the precompilation routines should expire the old .precomp
files, but aren't because the change is in a 'grammar' block, and not a
'class' block. I have no proof of that, but that's my suspicion.

If you have questions, the easiest way to get hold of me is on IRC.
Download (untitled) / with headers
text/plain 129b
DrForr, can you please re-test this issue? Should be fixed along with #128156 but I cannot test, since I'm missing Prolog::Query.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org