Skip Menu |
Report information
Id: 131481
Status: open
Priority: 0/
Queue: perl6

Owner: Nobody
Requestors: rnhainsworth [at] gmail.com
Cc:
AdminCc:

Severity: (no value)
Tag: testneeded
Platform: (no value)
Patch Status: (no value)
VM: (no value)



Date: Fri, 2 Jun 2017 13:25:45 +0800
From: Richard Hainsworth <rnhainsworth [...] gmail.com>
Subject: [BUG] No perl6-debug
To: rakudobug [...] perl.org
Download (untitled) / with headers
text/plain 987b
Here is a copy of my session. No perl6-debug. All the documentation implies I should have the executable. I'm running Ubuntu 16.04 $ rakudobrew build moar <normal output> Rakudo has been built and installed. Updating shims Done, moar-nom built $ perl6-debug perl6-debug: command not found $ perl6 -v This is Rakudo version 2017.05-332-gb667e81 built on MoarVM version 2017.05-25-g62bc54e implementing Perl 6.c. $cd ~/.rakudobrew $ ls bin lwp-download.pl lwp-get.pl-j nqp-m panda-build-m panda-fetch panda-install-j panda-test perl6-debug-m rakudobrew zef-m lwp-download.pl-j lwp-get.pl-m panda panda-cpanize panda-fetch-j panda-install-m panda-test-j perl6-gdb-m rakudobrew.bat lwp-download.pl-m moar panda-build panda-cpanize-j panda-fetch-m panda-j panda-test-m perl6-m zef lwp-get.pl nqp panda-build-j panda-cpanize-m panda-install panda-m perl6 perl6-valgrind-m zef-j
RT-Send-CC: perl6-compiler [...] perl.org
Download (untitled) / with headers
text/plain 546b
On Thu, 01 Jun 2017 22:25:55 -0700, rnhainsworth@gmail.com wrote: Show quoted text
> Here is a copy of my session. No perl6-debug. > > All the documentation implies I should have the executable. I'm running > Ubuntu 16.04
Which documentation, out of curiosity? rakudobrew is mostly for core hackers, not end users, so it'd likely be best to remove that documentation. As for the perl6-debug. It's likely called perl6-debug-m However, it bitrotted a bit and even if you find it, it won't work ATM. Hoping someone will find tuits to fix it before next release.
From: Brandon Allbery <allbery.b [...] gmail.com>
Date: Sun, 4 Jun 2017 02:26:56 +0000
CC: perl6-compiler <perl6-compiler [...] perl.org>
Subject: Re: [perl #131481] [BUG] No perl6-debug
To: Carl Mäsak via RT <perl6-bugs-followup [...] perl.org>
Download (untitled) / with headers
text/plain 1.1k
I would argue that perl6-debug shouldn't exist; if you are debugging, you pretty much need to know the specific backend that's involved. Which is likely why rakudobrew killed the generic one (the directory listing, while mangled, *did* show perl6-debug-m).

On Sun, Jun 4, 2017 at 2:12 AM, Zoffix Znet via RT <perl6-bugs-followup@perl.org> wrote:
Show quoted text
On Thu, 01 Jun 2017 22:25:55 -0700, rnhainsworth@gmail.com wrote:
> Here is a copy of my session. No perl6-debug.
>
> All the documentation implies I should have the executable. I'm running
> Ubuntu 16.04

Which documentation, out of curiosity? rakudobrew is mostly for core hackers, not end users, so it'd likely be best to remove that documentation.

As for the perl6-debug. It's likely called perl6-debug-m

However, it bitrotted a bit and even if you find it, it won't work ATM. Hoping someone will find tuits to fix it before next release.



--
brandon s allbery kf8nh                               sine nomine associates
allbery.b@gmail.com                                  ballbery@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net
From: Richard Hainsworth <rnhainsworth [...] gmail.com>
Date: Sun, 4 Jun 2017 19:35:35 +0800
Subject: Re: [perl #131481] [BUG] No perl6-debug
To: perl6-bugs-followup [...] perl.org
Download (untitled) / with headers
text/plain 2.4k

If rakudobrew is only for core hackers, then why is it on the rakudo site as the best way to get rakudo?

As for documentation, I googled perl6 debug and find perl6-debug. I am informed that it is available when perl6 is installed.

I now know that perl6-debug-m is bit rotted, but I quote from 5 December 2012 (https://perl6advent.wordpress.com/2012/12/05/a-perl-6-debugger/):

"The debugger has been included with the last few Rakudo * releases. If you have one of those, you’re all set. Just run perl6-debug instead of perl6. It takes the same set of options, so if your normal invocation involves, for example, using the -I flag to set the include path for modules, it’ll Just Work Like Usual."

I have problems with the debugger because I have not been able to get it to work from within a module, even one that I have written. The only way I could get the debugger to work was to include the code of the module within the text of the program, which makes putting things in modules a bit silly.


However, I also quote from the same blog: "There’s much more to the developer experience of a language than its design, features and implementations. While the language and its implementations are perhaps the thing developers will spend most time with, the overall experience will also involve interaction with the community, reading documentation, using modules and employing various development tools. Thus, it’s important that Perl 6 make progress on these fronts too."

It seems to me that rather than trying to remove all mention of the debugger, would be to place a notice on perl6.org or on rakudo.org, and a notice to the perl6-user forum that perl6-debug has not keep up with changes to the language and currenlty is not working.

It is a shame that this has happened because it seems a step backwards.

Richard


On Sunday, June 04, 2017 10:12 AM, Zoffix Znet via RT wrote:
Show quoted text
On Thu, 01 Jun 2017 22:25:55 -0700, rnhainsworth@gmail.com wrote:
Here is a copy of my session. No perl6-debug.

All the documentation implies I should have the executable. I'm running 
Ubuntu 16.04
Which documentation, out of curiosity? rakudobrew is mostly for core hackers, not end users, so it'd likely be best to remove that documentation.

As for the perl6-debug. It's likely called perl6-debug-m

However, it bitrotted a bit and even if you find it, it won't work ATM. Hoping someone will find tuits to fix it before next release.

RT-Send-CC: perl6-compiler [...] perl.org
Download (untitled) / with headers
text/plain 1.4k
On Mon, 05 Jun 2017 14:45:26 -0700, rnhainsworth@gmail.com wrote: Show quoted text
> If rakudobrew is only for core hackers, then why is it on the rakudo > site as the best way to get rakudo?
Is that on rakudo.org? I see some mention of rakudobrew on http://rakudo.org/how-to-get-rakudo/ pending updates to the page[^1], but the very first sentence of even that page reads "The recommended way to use Rakudo is by downloading Rakudo Star" [1] https://rt.perl.org/Ticket/Display.html?id=130500#ticket-history Show quoted text
> I now know that perl6-debug-m is bit rotted, but I quote from 5 > December > 2012 (https://perl6advent.wordpress.com/2012/12/05/a-perl-6- > debugger/):
You should probably double check the dates on posts that show up in Google. This one for example was written 5 years ago, which is 3 years before the first stable language version was even released. Lots of things changed. Show quoted text
> It seems to me that rather than trying to remove all mention of the > debugger, would be to place a notice on perl6.org or on rakudo.org, > and
I think you misunderstood. I was talking about removing rakudobrew, not the debugger. Rakudobrew has many quirks and people never bother to read its documentation to learn about them. Not to mention it builds a HEAD commit by default, leaving the user open to (potentially serious) bugs. Show quoted text
> It is a shame that this has happened because it seems a step > backwards.
This project is largely driven by volunteers. You're welcome to join the effort to keep broken things unbroken :)
Subject: Re: [perl #131481] [BUG] No perl6-debug
To: perl6-bugs-followup [...] perl.org
Date: Wed, 7 Jun 2017 10:49:55 +0800
From: Richard Hainsworth <rnhainsworth [...] gmail.com>
Download (untitled) / with headers
text/plain 2.6k
I would like to work on perl6-debug. But where to start? I am daunted by the prospect. Some questions - hopefully easy to answer. 1) In earlier updates there was a perl6-debug executable. Was this just a link to perl6-debug-m? 2) perl6-debug worked before, and then stopped working. You said 'bit-rotted'. I would think that it would help to discover at what point the debug version stopped working and then to look at the commits to see what changed. That would narrow down what needs modifying. Do you think this is a good strategy? More difficult questions, but you may know answer. 3) Why is it not possible to arrange for a break inside a module? I realise it is because modules are 'pre-compiled', but is there a way either (1) to prevent pre-compilation (that is for the module to be included so that it is compiled with the main programe, or (2) to arrange for a module to be compiled with debug information (sort of like -dev modules in Debian). Finally, I was thinking about making a GUI or perhaps linking it to Atom. Your comments would be helpful. Richard On Tuesday, June 06, 2017 06:43 AM, Zoffix Znet via RT wrote: Show quoted text
> On Mon, 05 Jun 2017 14:45:26 -0700, rnhainsworth@gmail.com wrote:
>> If rakudobrew is only for core hackers, then why is it on the rakudo >> site as the best way to get rakudo?
> Is that on rakudo.org? I see some mention of rakudobrew on http://rakudo.org/how-to-get-rakudo/ > pending updates to the page[^1], but the very first sentence of even that > page reads "The recommended way to use Rakudo is by downloading Rakudo Star" > > [1] https://rt.perl.org/Ticket/Display.html?id=130500#ticket-history >
>> I now know that perl6-debug-m is bit rotted, but I quote from 5 >> December >> 2012 (https://perl6advent.wordpress.com/2012/12/05/a-perl-6- >> debugger/):
> You should probably double check the dates on posts that show up in Google. > This one for example was written 5 years ago, which is 3 years before the > first stable language version was even released. Lots of things changed. >
>> It seems to me that rather than trying to remove all mention of the >> debugger, would be to place a notice on perl6.org or on rakudo.org, >> and
> I think you misunderstood. I was talking about removing rakudobrew, > not the debugger. Rakudobrew has many quirks and people never bother > to read its documentation to learn about them. Not to mention it builds > a HEAD commit by default, leaving the user open to (potentially serious) bugs. >
>> It is a shame that this has happened because it seems a step >> backwards.
> This project is largely driven by volunteers. You're welcome to join the > effort to keep broken things unbroken :)
RT-Send-CC: perl6-compiler [...] perl.org
Download (untitled) / with headers
text/plain 1.4k
On Tue, 06 Jun 2017 19:50:32 -0700, rnhainsworth@gmail.com wrote: Show quoted text
> I would like to work on perl6-debug. But where to start? > > I am daunted by the prospect. > > Some questions - hopefully easy to answer. > > 1) In earlier updates there was a perl6-debug executable. Was this > just > a link to perl6-debug-m?
Most likely. Show quoted text
> 2) perl6-debug worked before, and then stopped working. You said > 'bit-rotted'. I would think that it would help to discover at what > point > the debug version stopped working and then to look at the commits to > see > what changed. That would narrow down what needs modifying. > > Do you think this is a good strategy?
Maybe. It broke around slang rework (around 2017.02-2017.03 releases). On our dev IRC channel ( https://webchat.freenode.net/?channels=#perl6-dev ) we have a bisectable bot ( https://github.com/perl6/whateverable/wiki/Bisectable ) that can take a chunk of code and tell you when its output changed. perl6-debug-m currently dies with this error. Hunting what's causing it is a good start: ``` Non ast passed to WANTED: NQPMu ===SORRY!=== Cannot find method 'named' on object of type NQPMu ``` Show quoted text
> More difficult questions, but you may know answer. > > 3) Why is it not possible to arrange for a break inside a module?
No idea. Never used perl6-debug-m Show quoted text
> I realise it is because modules are 'pre-compiled', but is there a way > either (1) to prevent pre-compilation
Yes, use `no precompilation` pragma.
Subject: Re: [perl #131481] [BUG] No perl6-debug
To: perl6-bugs-followup [...] perl.org
From: Richard Hainsworth <rnhainsworth [...] gmail.com>
Date: Thu, 8 Jun 2017 16:38:54 +0800
Download (untitled) / with headers
text/plain 292b
Thanks for feedback. A follow up: <snip> Show quoted text
> Yes, use `no precompilation` pragma. > >
So I would have in the topmost program: use v6.c; no precompilation; In the documentation (https://docs.perl6.org/language/pragmas), precompilation is labelled [TBD] So is it ignored ? Regards, Richard
From: Will Coleda <will [...] coleda.com>
Date: Thu, 8 Jun 2017 19:34:08 -0400
CC: Will Coleda via RT <perl6-bugs-followup [...] perl.org>
Subject: Re: [perl #131481] [BUG] No perl6-debug
To: Richard Hainsworth <rnhainsworth [...] gmail.com>
Download (untitled) / with headers
text/plain 494b
TBD there indicates that the documentation is yet to be done. On Thu, Jun 8, 2017 at 4:38 AM, Richard Hainsworth <rnhainsworth@gmail.com> wrote: Show quoted text
> Thanks for feedback. A follow up: > > <snip>
>> >> Yes, use `no precompilation` pragma. >> >>
> So I would have in the topmost program: > > use v6.c; > no precompilation; > > In the documentation (https://docs.perl6.org/language/pragmas), > precompilation is labelled [TBD] > > So is it ignored ? > > Regards, > Richard
-- Will "Coke" Coleda
Subject: Re: [perl #131481] [BUG] No perl6-debug
To: perl6-bugs-followup [...] perl.org
Date: Fri, 9 Jun 2017 10:49:33 +0800
From: Richard Hainsworth <rnhainsworth [...] gmail.com>
This is slightly different to what is in documentation. ' "[TBD]" are to be defined later' is in the file <language/pragmas> I took "defined" to mean "done" rather than "documented". In other words, something that did not exist, but should exist. What seems to be the case is that "defined" means "exists, but is not specified", or "exists, but could change", or "exists, but we haven't told anybody much about it". I'm not quite sure which of these is meant. TBI = to be implemented => on the wish list, but we haven't got around to it. (I think) On Friday, June 09, 2017 07:34 AM, Will Coleda via RT wrote: Show quoted text
> TBD there indicates that the documentation is yet to be done. > > On Thu, Jun 8, 2017 at 4:38 AM, Richard Hainsworth > <rnhainsworth@gmail.com> wrote:
>> Thanks for feedback. A follow up: >> >> <snip>
>>> Yes, use `no precompilation` pragma. >>> >>>
>> So I would have in the topmost program: >> >> use v6.c; >> no precompilation; >> >> In the documentation (https://docs.perl6.org/language/pragmas), >> precompilation is labelled [TBD] >> >> So is it ignored ? >> >> Regards, >> Richard
> >
Subject: Re: [perl #131481] [BUG] No perl6-debug
To: perl6-bugs-followup [...] perl.org
Date: Fri, 9 Jun 2017 15:34:30 +0800
From: Richard Hainsworth <rnhainsworth [...] gmail.com>
Download (untitled) / with headers
text/plain 2.4k

Just started work on getting perl6-debug to work again.

Some help:

There is a commit to rakudo-debug - pmurias committed on 26 Mar

This is about the time the debugger went AWOL. So I thought to reverse the commit locally to verify.

But I'm having a problem getting the local version to work.

I used rakudobrew to set up my system.

I tried to change perl6-debug.nqp in a subdirectory of .rakudobrew/moar-nom

The change went through, but the executable (perl6-debug-m) was not changed in .rakudobrew/bin

It seems the executable in .rakudobrew/bin is a complex script and is different from the executable in .rakudobrew/moar-nom

Is there some documentation about the build process?

Or how do I get an executable in the form in .rakudobrew/bin


No need for a full description, just some clues that I can work on.

I am working through the Makefile in .rakudobrew/moar-nom, but it is not simple.

Regards,

Richard


On Wednesday, June 07, 2017 06:12 PM, Zoffix Znet via RT wrote:
Show quoted text
On Tue, 06 Jun 2017 19:50:32 -0700, rnhainsworth@gmail.com wrote:
I would like to work on perl6-debug. But where to start?

I am daunted by the prospect.

Some questions - hopefully easy to answer.

1) In earlier updates there was a perl6-debug executable. Was this
just
a link to perl6-debug-m?
Most likely.

2) perl6-debug worked before, and then stopped working. You said
'bit-rotted'. I would think that it would help to discover at what
point
the debug version stopped working and then to look at the commits to
see
what changed. That would narrow down what needs modifying.

Do you think this is a good strategy?
Maybe. It broke around slang rework (around 2017.02-2017.03 releases).

On our dev IRC channel ( https://webchat.freenode.net/?channels=#perl6-dev )
we have a bisectable bot ( https://github.com/perl6/whateverable/wiki/Bisectable )
that can take a chunk of code and tell you when its output changed.

perl6-debug-m currently dies with this error. Hunting what's causing it is a good start:

```
Non ast passed to WANTED: NQPMu
===SORRY!===
Cannot find method 'named' on object of type NQPMu
```

More difficult questions, but you may know answer.

3) Why is it not possible to arrange for a break inside a module?
No idea. Never used perl6-debug-m

I realise it is because modules are 'pre-compiled', but is there a way
either (1) to prevent pre-compilation
Yes, use `no precompilation` pragma.



RT-Send-CC: perl6-compiler [...] perl.org
Download (untitled) / with headers
text/plain 569b
On Fri, 09 Jun 2017 00:34:52 -0700, rnhainsworth@gmail.com wrote: Show quoted text
> It seems the executable in .rakudobrew/bin is a complex script and is > different from the executable in .rakudobrew/moar-nom > > Is there some documentation about the build process?
Yes, forget rakudobrew. It's not for working on rakudo. Clone from the repo and build the compiler: https://github.com/rakudo/rakudo/ git clone https://github.com/rakudo/rakudo/ cd rakudo perl Configure.pl --gen-moar --gen-nqp --backends=moar make make install You'll have ./perl6-debug-m then in the current dir.
RT-Send-CC: perl6-compiler [...] perl.org
Download (untitled) / with headers
text/plain 148b
The debugger's fixed now in https://github.com/rakudo/rakudo/commit/6d4691fbd91d7f54b8af55522845633e7adf4736 Tests (in rakudo's test suite) needed.


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