Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Grammar::Debugger busted (for reasons which seem to have to do with Rakudo internals) #3395

Closed
p6rt opened this issue May 26, 2014 · 6 comments
Labels

Comments

@p6rt
Copy link

p6rt commented May 26, 2014

Migrated from rt.perl.org#121966 (status was 'resolved')

Searchable as RT121966$

@p6rt
Copy link
Author

p6rt commented May 26, 2014

From @masak

<masak> has Grammar​::Debugger bitrotted?
https://gist.github.com/masak/d9bd70d9f196a39d30bb
* masak attempts to diagnose that error
<Ven> has $!auto-continue = False;
<masak> shouldn't be immutable.
<masak> that error looks very bogus.
<masak> let's see what I find during the golf after the update.
<masak> just upgraded my Rakudo. Grammar​::Debugger error persists.
* masak enjoys golfing something again
<masak> oh, "interesting" :/
<masak> it's related to publish_method_cache
<FROGGS> uhh
<masak> I think I've uncovered a second error under the first error.
<masak> maybe this will be a bigger clue for someone else than it is for me.
<masak> https://gist.github.com/masak/d9bd70d9f196a39d30bb updated
with the underlying error.
<masak> I think the original error is caused as part of reporting the
second one.
<lizmat> ah, maybe it is related to jnthn optimization where $_, $/
and friends are only allocated when used
<masak> https://gist.github.com/masak/d9bd70d9f196a39d30bb updated
with the golfiest version of Grammar​::Debugger that still triggers the
error.
<lizmat> and *that* may be related to the async $_ re-use issue
<masak> jnthn​: ^ when you have time, you definitely should have a look at this.
<masak> jnthn​: near as I can tell, at some point Grammar​::Debugger is
trying to call .TOP on the wrong object.
<masak> lizmat​: optimization and $/ sounds eerily correct.
<masak> lizmat​: since 8584dbea is now the prime suspect, I'm going to
build with 8584dbea^ and see if the error goes away. then with
8584dbea and see if it comes back.
<masak> another data point​: problem persists in a Rakudo from 2014-01-31.
<masak> so jnthn++'s recent optimizations are cleared of suspicion.
<masak> going back another year to try to build there.
<masak> (how long has Grammar​::Debugger been busted without anyone noticing?)
<masak> star​: my $*IN = role { method get() { "" } }; use
Grammar​::Debugger; grammar G { regex TOP { hi } }; G.parse("hi")
<camelia> star-p 2014.04​: OUTPUT«TOP␤> Cannot modify an immutable value [...]
<camelia> ..star-m 2014.04​: OUTPUT«TOP␤> No such method 'STORE' for
invocant of type 'Bool' [...]
<masak> ha!
* masak submits rakudobug
<masak> interesting, I thought this was a moar-only problem. but
that's the same issue manifesting slightly differently on two VMs.
<masak> ok, doing a bisect using parrot as a backend.

@p6rt
Copy link
Author

p6rt commented Sep 16, 2014

From @perlpilot

On Mon May 26 09​:53​:30 2014, masak wrote​:

<masak> has Grammar​::Debugger bitrotted?
https://gist.github.com/masak/d9bd70d9f196a39d30bb
* masak attempts to diagnose that error
<Ven> has $!auto-continue = False;
<masak> shouldn't be immutable.
<masak> that error looks very bogus.
<masak> let's see what I find during the golf after the update.
<masak> just upgraded my Rakudo. Grammar​::Debugger error persists.
* masak enjoys golfing something again
<masak> oh, "interesting" :/
<masak> it's related to publish_method_cache
<FROGGS> uhh
<masak> I think I've uncovered a second error under the first error.
<masak> maybe this will be a bigger clue for someone else than it is
for me.
<masak> https://gist.github.com/masak/d9bd70d9f196a39d30bb updated
with the underlying error.
<masak> I think the original error is caused as part of reporting the
second one.
<lizmat> ah, maybe it is related to jnthn optimization where $_, $/
and friends are only allocated when used
<masak> https://gist.github.com/masak/d9bd70d9f196a39d30bb updated
with the golfiest version of Grammar​::Debugger that still triggers the
error.
<lizmat> and *that* may be related to the async $_ re-use issue
<masak> jnthn​: ^ when you have time, you definitely should have a look
at this.
<masak> jnthn​: near as I can tell, at some point Grammar​::Debugger is
trying to call .TOP on the wrong object.
<masak> lizmat​: optimization and $/ sounds eerily correct.
<masak> lizmat​: since 8584dbea is now the prime suspect, I'm going to
build with 8584dbea^ and see if the error goes away. then with
8584dbea and see if it comes back.
<masak> another data point​: problem persists in a Rakudo from 2014-01-
31.
<masak> so jnthn++'s recent optimizations are cleared of suspicion.
<masak> going back another year to try to build there.
<masak> (how long has Grammar​::Debugger been busted without anyone
noticing?)
<masak> star​: my $*IN = role { method get() { "" } }; use
Grammar​::Debugger; grammar G { regex TOP { hi } }; G.parse("hi")
<camelia> star-p 2014.04​: OUTPUT«TOP␤> Cannot modify an immutable
value [...]
<camelia> ..star-m 2014.04​: OUTPUT«TOP␤> No such method 'STORE' for
invocant of type 'Bool' [...]
<masak> ha!
* masak submits rakudobug
<masak> interesting, I thought this was a moar-only problem. but
that's the same issue manifesting slightly differently on two VMs.
<masak> ok, doing a bisect using parrot as a backend.

Has this been fixed? I can't reproduce it on​:

This is perl6 version 2014.08-360-ge99b04b built on MoarVM version 2014.08-139-gb37f93e

-Scott (PerlJam)

@p6rt
Copy link
Author

p6rt commented Sep 16, 2014

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Dec 15, 2014

From @usev6

On Tue Sep 16 06​:33​:06 2014, duff wrote​:

[...]
Has this been fixed? I can't reproduce it on​:

This is perl6 version 2014.08-360-ge99b04b built on MoarVM version
2014.08-139-gb37f93e

-Scott (PerlJam)

I also can't reproduce the error with a current Rakudo (on Moar, Parrot and JVM)​:

$ PERL6LIB=lib perl6 -e 'my $*IN = role { method get() { "" } }; use Grammar​::Debugger; grammar G { regex TOP { hi } }; G.parse("hi")'
TOP

* MATCH "hi"

I'm closing this ticket now.

1 similar comment
@p6rt
Copy link
Author

p6rt commented Dec 15, 2014

From @usev6

On Tue Sep 16 06​:33​:06 2014, duff wrote​:

[...]
Has this been fixed? I can't reproduce it on​:

This is perl6 version 2014.08-360-ge99b04b built on MoarVM version
2014.08-139-gb37f93e

-Scott (PerlJam)

I also can't reproduce the error with a current Rakudo (on Moar, Parrot and JVM)​:

$ PERL6LIB=lib perl6 -e 'my $*IN = role { method get() { "" } }; use Grammar​::Debugger; grammar G { regex TOP { hi } }; G.parse("hi")'
TOP

* MATCH "hi"

I'm closing this ticket now.

@p6rt p6rt closed this as completed Dec 15, 2014
@p6rt
Copy link
Author

p6rt commented Dec 15, 2014

@usev6 - Status changed from 'open' to 'resolved'

@p6rt p6rt added the Bug label Jan 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant