|
Parrot 4.0.0 "Hyperstasis" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 18 January 2012. |
|||
|
00:18
dmalcolm joined
00:21
Crazyjavahacking joined
|
|||
| Crazyjavahacking | hi | 00:21 | |
| anybody online? | |||
| tadzik | I guess so | ||
| Crazyjavahacking | great | ||
| few weeks ago I was chatting and talking about GCSpy, garbage collection visualization tool | 00:22 | ||
| and some of the guys were interested | |||
| now i have posted quite detailed proposal on their mailing list | |||
| and I would like to ask how should I contact the parrot guys about that? | 00:23 | ||
| post it on your mailing list/forum? what will be the best way? | |||
| tadzik | parrot-dev mailing list would probably be the best choice | ||
| Crazyjavahacking | ok thanks | 00:24 | |
|
01:31
benabik joined
|
|||
| benabik | o/ | 01:33 | |
| How do you load dynpmc libraries? | 01:37 | ||
| sorear | loadlib | 01:43 | |
| it's an op | 01:44 | ||
| I think you can also use a .loadlib PIR directive | |||
| benabik | Hah. | ||
| loading the tcl dynpmcs helps a lot | 01:45 | ||
|
01:47
whiteknight joined
|
|||
| benabik | ... I fixed it, but never hit the memory corruption. Is this a good thing | 01:49 | |
|
01:50
dmalcolm joined
|
|||
| Coke | benabik: memory corruption was only happening for me on feather. | 02:11 | |
| (not OS X, e.g.) | |||
| whiteknight | what was the problem | 02:19 | |
| benabik | Coke: Ah. I highly suspect it's a GC issue. The bisected commit is probably just what changed the allocation enough to make it explode. | 02:20 | |
| whiteknight: github.com/parrot/parrot/issues/185 | |||
| whiteknight | yeah, bt what was the cause? | 02:21 | |
| benabik | I don't know? I know at the very least it was having a NULL PMC issue because it was calling interp.hll_map(Integer, PMCNULL) | 02:22 | |
| whiteknight | ok | 02:28 | |
| benabik | Marked the bug with GC, since that's my suspicion. (Bisected to apparently unrelated changes, only happens on certain platforms, etc) | 03:04 | |
| As a random note, I think marking bugs with a tag based on what HLL they're causing problems with is a good idea. | 03:06 | ||
| Coke | b: say 19409-19357; # 01/25/2012 - niecza at 100.26% | 03:09 | |
| p6eval | b 1b7dd1: OUTPUTĀ«52ā¤Ā» | 03:10 | |
| Coke | niecza has 20 new failures. | ||
| benabik | Coke: check your channel. ;-) | 03:11 | |
| (Not that I'm not interested.) | |||
| Coke | whoops. danke. | ||
| benabik | Oh. partcl and partcl-nqp are two different things. Fascinating. | 03:13 | |
| benabik clones a different project. | |||
| Coke | partcl is the original PIR only one, -nqp is the rewrite in nqp-rx | 03:14 | |
| benabik | ... Oh. Oh, dear. Parrot_pmc_reuse? | 03:15 | |
| This sounds like a portion of the code that's broken by design. | 03:17 | ||
| Okay, that's one I definitely don't have the time to pursue. :-( | 03:18 | ||
| Coke: Well, I put in a pull request for some fixed to partcl, but I don't think I can help with the partcl-nqp issue. ENOTUITS | 03:20 | ||
| *fixes | |||
| Coke | odd. wonder why the loadlib needs to be there also. | 03:26 | |
| benabik | Otherwise it never loads the dynpmc library with the Tcl* classes and gets... very confused. | ||
| I don't know how it would have loaded it prior. Perhaps some bit of magic autoloading got removed. | 03:27 | ||
| Coke | benabik: your pull request has no impact on my failures on feather. | 03:28 | |
| benabik | Sadface. | 03:29 | |
| Coke tries a clean. | |||
| benabik | I'll have to boot up a VM. | ||
| Coke | nope. | ||
| you can always get an account on feather. | |||
| benabik | That had not occurred to me. | 03:30 | |
| dalek | rtcl: bdc2fee | Benabik++ | src/ (4 files): pmc_type now called Parrot_pmc_get_type_str pmc_type was an old compatability macro removed in Nov 2011 by dffbd93: Remove very old 'compatibilty macros'. The new way to say that is Parrot_pmc_get_type_str. Longer, but it matches Parrot's naming conventions. |
03:31 | |
| Coke | aloha, seen juerd? | ||
| aloha | Coke: juerd was last seen in #perl6 5 days 8 hours ago saying "Fixed". | ||
| rtcl: 2696c86 | Benabik++ | runtime/tcllib.pir: Load tcl_group dynpmcs |
|||
| rtcl: 6f3c072 | coke++ | / (5 files): Merge pull request #3 from Benabik/master Update partcl to recent parrot |
|||
| benabik | Well, I have a debian VM just sitting around. | ||
|
03:38
Psyche^ joined
|
|||
| benabik | It's much easier to build partcl if I remember to _install_ parrot.) | 04:12 | |
| Hm. Also easier if I remember to install icu4c. Bah-humbug | 04:13 | ||
| Oh yes, look at the pretty memory corruption. | 04:28 | ||
| msg whiteknight I replicated the memory corruption in #185. The backtrace looks like mem_sys_alloc_0, imcc_new, ?, ?, pmc_new, imcc_get_pir_compreg_api - I'm not sure - github.com/parrot/parrot/issues/185 | 04:33 | ||
| aloha | OK. I'll deliver the message. | ||
| benabik | msg whiteknight that it's not some odd GC issue, but it looks like it's happening _awfully early_ and mainly in IMCC land, which I know you love to visit. | 04:34 | |
| aloha | OK. I'll deliver the message. | ||
| benabik | Coke: Replicated the corruption. Looks like it's something inside IMCC, which is "exciting". | ||
| msg whiteknight Yeah, I've looked at the backtrace libc gave me... It's happening when the fronted is setting up IMCC. I have no idea why this is happening with partcl and nobody else... | 04:54 | ||
| aloha | OK. I'll deliver the message. | ||
| benabik | Coke: "good" news. It's not partcl. It's a memory bug caused by anyone using attached options like --output=blah.pbc. glibc on Linux is just smart enough to notice us overrunning an array by one. | 05:19 | |
| dalek | rrot: 03b3d5f | benabik++ | frontend/parrot2/main.c: frontend: Be pessimistic about arguments The code to handle -o added two arguments to the final array. However, longopt allows "-o file" to also be passed as "--output=file". This causes one argument to cause two to be added. This means that we can't have the destination array be the same size as the original. I've decided to use the most pessimistic case for allocation, one where every argument causes two to be added (parrot --output=file1 --output=file2 etc). Alternative solutions include passing it as "-o=file" instead and having prt0 handle breaking it apart, but this is the fastest way to fix the memory overrun. |
05:41 | |
| benabik | msg Coke I believe 03b3d5f fixes the problem with partcl | 05:45 | |
| aloha | OK. I'll deliver the message. | ||
| benabik | I worry that Rakudo Star will ship a version of parrot with this bug in it. :-/ | 05:50 | |
| msg whiteknight see 03b3d5f about the memory corruption bug | |||
| aloha | OK. I'll deliver the message. | ||
| dukeleto | ~~ | 05:52 | |
| dalek | rrot: d712500 | alvis++ | ChangeLog: Fixed typo. |
06:56 | |
| moritz | benabik: don't worry, there'll be another star release that ships without that bug | 07:16 | |
|
07:24
benabik_ joined
|
|||
| dalek | kudo/nom: 2e1c5d1 | moritz++ | src/core/Exception.pm: fix printing of typed exceptions in the REPL |
07:32 | |
| kudo/nom: 88c330c | moritz++ | src/ (2 files): throw X::Syntax::Name::NotNull from Grammar.pm |
|||
|
07:56
mj41 joined
09:13
muixirt joined
09:19
lucian joined
|
|||
| muixirt | hi folks, can anyone confirm if plumage works with Parrot version 3.11? | 09:20 | |
| to be more precise : typing help in interactive mode crashes with 'Method 'usage' not found for invocant of class 'Undef'' | 09:38 | ||
|
09:48
bacek joined
|
|||
| dalek | kudo/nom: 16f7623 | moritz++ | src/Perl6/Grammar.pm: more typed redeclaration errors |
10:13 | |
| rrot/ayardley/mk_html_docs: efc7d2e | alvis++ | tools/docs/m (2 files): Make 'make_html_docs.pl' name conform to other 'make' tools. |
10:37 | ||
| rrot/ayardley/mk_html_docs: 497978a | alvis++ | tools/docs/mk_html_docs.pl: Enable mk_html_docs.pl to pass html headers and links to Parrot::Docs::HTMLPage |
|||
| rrot/ayardley/mk_html_docs: 1af5323 | alvis++ | tools/docs/mk_html_docs.pl: Minor edit |
|||
| rrot/ayardley/mk_html_docs: 659ec6f | alvis++ | lib/Parrot/Docs/HTMLPage.pm: Added a simple body subroutine to process html passed to the module. |
|||
| rrot/ayardley/mk_html_docs: 56f32cf | alvis++ | / (2 files): Renamed make_html_docs.pl to mk_html_docs.pl to conform with other make named tools. |
|||
| rrot/ayardley/mk_html_docs: 5472b91 | alvis++ | / (2 files): Added comments to clarify the reason for the code updates. |
|||
| rrot/ayardley/mk_html_docs: 93f24ff | alvis++ | MANIFEST: Fixed typo |
|||
| kudo/nom: 569f9d0 | moritz++ | src/ (3 files): rename exception classes jnthn++ noted some inconsistency. Now all the names describe the error condition (and not some how it should be) |
10:47 | ||
| alvis | msg not_gerd i did get your messages about cygwin and, hopefully, i'll get a chance to work on your suggestions a'bit next week. | 11:06 | |
| aloha | OK. I'll deliver the message. | ||
| alvis | msg not_gerd to belabor the point: i'm very unfamiliar with cygwin, but i would like to get everything working just to help out with testing. | 11:08 | |
| aloha | OK. I'll deliver the message. | ||
|
11:44
mj41 joined
|
|||
| Coke | benabik: testing now. | 12:33 | |
|
13:03
bluescreen joined
|
|||
| Coke | benabik++ # thank you for fixing the error. | 13:47 | |
| I am glad that the original bisect did, in fact, point to the issue. | 13:52 | ||
| benabik | Coke: Yeah. Memory corruption is generally a GC issue. But once I saw the backtrace, it was just too early for that. I guess you're the only person who uses --output= instead of -o | 13:58 | |
| Coke | benabik: thanks again for tracking it down. I really appreciate the extra effort you put in. | 14:01 | |
| I think a lot of the remaining failures are just tracking a function rename. testing now. | 14:05 | ||
| dalek | rtcl: e0eb829 | coke++ | src/ (3 files): address bitrot (#4) pmc_new -> Parrot_pmc_new |
14:11 | |
| rtcl: 0f33083 | coke++ | src/pmc/tcl (3 files): address bitrot (#4) pmc_reuse -> Parrot_pmc_reuse |
14:27 | ||
| Coke | benabik: the remaining failures seem to be due to a renumbing of exceptions. | 14:28 | |
| $meetings now, but should be an easy fix. | |||
|
14:34
mj41 joined
14:42
muixirt joined
14:48
PacoAir joined
|
|||
| Coke | well, it's not an easy FIND, anyway. :P | 15:11 | |
| ah. at one point, I could use "die" and "tcl_error" interchangably. now [catch] is not catching exceptions thrown with "die" | 15:16 | ||
| (or, rather, it is, and is using a different error code for them.) | 15:17 | ||
| ah. github.com/parrot/parrot/commit/56f0d98f is probably the offending commit there. | 15:20 | ||
| Coke wonders why that was done. | 15:25 | ||
| dalek | rtcl: 5561d4d | coke++ | runtime/builtin/catch.pir: Fixes #4 (bitrot) Originally broken by github.com/parrot/parrot/commit/56...cade6c669b This commit reorders things so we don't specifically rely on the parrot exception type for an error, which allows us to catch both the tcl-style CONTROL_ERROR, and the new parrot default, EXCEPTION_DIE |
15:31 | |
| Coke | There. partcl-old has been resurrected. | 15:32 | |
| msg cotto see comment on github.com/parrot/parrot/commit/56...cade6c669b | |||
| aloha | OK. I'll deliver the message. | ||
| Coke | benabik++ | 15:35 | |
| muixirt | partcl is undead? :-) | ||
| Coke | partcl-old, the PIR/C version. | 15:36 | |
| partcl-nqp still has some breakages. | 15:37 | ||
| dalek | kudo/nom: 052cc6a | moritz++ | src/Perl6/ (3 files): moving boxing of error arguments to Perl6::World previously they were scattered all over Actions.pm and Grammar.pm, and annoyed me to no end. Now it happens centrally No visible functional changes. |
||
|
15:55
dmalcolm joined
15:59
benabik joined
|
|||
| benabik | o/ | 16:02 | |
|
16:15
dmalcolm_ joined
16:16
dmalcolm__ joined
17:22
fperrad joined
|
|||
| dukeleto | ~~ | 17:51 | |
| aloha | (parrot/parrot) Issues opened : 707 (Update TT# in source to github issue #s) by Benabik : github.com/parrot/parrot/issues/707 | 17:52 | |
| PerlJam | benabik: I believe that number is as small as possible given that we don't have all trac tickets on github. | 17:53 | |
| benabik | PerlJam: Nope. When I finish what I'm working on, it'll go down by at least one. | ||
| PerlJam | reality trumps my beliefs any day :) | 17:54 | |
| benabik | I think we updated URLs, not raw ticket numbers. :-/ | ||
| PerlJam | yeah, I'm just slowly realizing | ||
| benabik | Didn't someone collect a map of trac <-> github #s? | 17:55 | |
| PerlJam | moritz had one | ||
| benabik | Did he put it somewhere we can get at it? :-D | ||
| PerlJam | It was on a gist | 17:56 | |
| moritz | benabik: moritz.faui2k3.org/tmp/parrot-trac-github.txt | ||
| moritz just commented on the ticket | |||
| benabik | moritz: Awesome. Now I just need to write a sed/perl script that'll do that conversion for ticket numbers. | ||
| PerlJam | benabik++ | 17:57 | |
| moritz | benabik: gist.github.com/1684048 is what I used for substituting the links | 17:58 | |
| benabik | moritz++ | ||
| moritz | where the file i just linked to was avilable as ../issue-map | ||
| probably only the substitution needs updating | 18:00 | ||
| (and maybbe the file name) | |||
| oh, and it's called as ack -l 'regex here'|xargs perl subst2.pl | 18:01 | ||
| dukeleto | ~~ | 18:02 | |
| Coke | benabik++ # still excited that partcl(old) is not dead. ;) | 18:05 | |
| benabik | Coke: I'm tempted to work on migrating some/all of partcl from PIR to winxed. | ||
| These tuits brought to you by me spinning my wheels on my thesis and just wanting to get something done. | 18:06 | ||
| Coke | benabik: I can support that plan if the roadmap includes 1) killing PIR, and 2) keeping winxed as one of the bundled languages. | 18:08 | |
| benabik | Coke: I think that 2 is defiantly the case, and 1 is in the long-term plan. | 18:09 | |
| Although I'd probably prefer keeping _a_ PIR compiler around, just not the in-core IMCC. | |||
|
18:10
bluescreen joined
|
|||
| Coke | benabik: I could get behind that, then; want a commit bit? | 18:11 | |
| (same terms as parrot) | |||
| benabik | Oh, sure! I was just going to use the fork, Luke. | 18:12 | |
| I'll probably work in a branch for safety, at least at first. | |||
| But I'm also ticket hunting in parrot and should probably get back to my thesis RSN. | |||
| Coke | benabik: done. | 18:15 | |
| I imagine it would be easier to be able to do this piecemeal, replacing runtime/builtin/foo.pir with .winxed | |||
| NotFound: iwbni -? == --help on winxed | 18:17 | ||
| does winxed support .HLL, and .namespace ? | 18:18 | ||
| and dynops ? | |||
| benabik | ... Apple has iwbni in the Japanese-English dictionary, but nowhere else. Odd. | 18:19 | |
| I know it supports namespaces. I'm pretty sure it has a $loadlib directive. | |||
| Less sure about HLL | |||
| But if not, it's good to know! | |||
| Coke | ah, it supports inlining PIR, anyway. | 18:20 | |
| benabik | I'm not sure it supports arbitrary PIR, or if it parses it in some way. | 18:22 | |
| Coke kicks off a partcl spectest, wonder how long it's been since that was run. | 18:23 | ||
|
18:26
mj41 joined
18:36
not_gerd joined
|
|||
| not_gerd | hello, #parrot | 18:36 | |
| benabik | hello, not_gerd | 18:39 | |
| not_gerd | should dyncall (which is currently bundled with NQP) be moved into Parrot to replace the optional libffi bindings? | 18:42 | |
| what's the policy on including 3rd party libs? | |||
| benabik | I'm personally a bit of a fan of moving a lot of the "infrastructure" bits of NQP into core, dyncall included. I don't know the policy on it though. | 18:43 | |
| not_gerd | msg alvis my Cygwin fixes have all been merged into Parrot/NQP/Rakudo - in particular, Rakudo's Configure.pl --gen-nqp=master --gen-parrot=master shoould work | 18:45 | |
| aloha | OK. I'll deliver the message. | ||
| Coke | benabik: my goal for partcl is to keep partcl (old) on life support, but to get partcl-nqp up to where partcl is, and then do more development on it. | 19:22 | |
| (to followup on the old winxed question you asked.) | |||
| benabik | Coke: I'm personally somewhat disenchanted with using NQP for anything other than grammars and perl6. It adds a pretty large amount of overhead. | 19:23 | |
| Coke: It's been lessened, but it's still notable. | 19:24 | ||
| OTOH, if the NQP object, everything a lexical way of life works for your language, than it's probably great. | |||
| Although I bet 6model would make it easier to keep P6 methods from leaking into the target language. | 19:25 | ||
|
19:27
dmalcolm joined
|
|||
| Coke | when the choice is raw PIR vs. nqp, the overhead is worth it. | 19:33 | |
| benabik | The overhead from PIR to nqp-rx was 2-3x. | ||
| nqp is probably better with liberal use of native variables | |||
| (And other improvements like direct access of lexicals.) | 19:34 | ||
| Coke | nqp-latest has non PMC vars, yes? | ||
| benabik | But I'd say the better choice today is Winxed. It's PIR-like direct access but much easier to read and write. | 19:35 | |
| Yes, NQP has int, num, and (I think) str variables. | |||
| Between that and stopping using find_lex and store_lex everywhere, I think a lot of the overhead has come down. | |||
| Coke | pretty sure there's a memory leak partcl(PIR) is triggering. | 19:49 | |
| (running the tcl spectests is just chewing memory) | |||
| aloha | (parrot/parrot) Issues closed : 694 (Docs still refer to trac.parrot.org) by Benabik : github.com/parrot/parrot/issues/694 | 19:53 | |
| benabik | git++ # making automated changes much safer. | 20:00 | |
|
20:03
bluescreen joined
|
|||
| dalek | rrot/gh707: 18f3b94 | benabik++ | / (53 files): Auto-replace TT# with GH# as per GH #707 This takes us from 316 to 145 references to trac tickets. I suspect they are all closed tickets. |
20:05 | |
| benabik | Oh. moritz++ for the very useful script | ||
| dukeleto | ~~ | 20:07 | |
|
20:10
contingencyplan joined
|
|||
| cotto | ~~ | 20:10 | |
| not_gerd | cotto: irclog.perlgeek.de/parrot/2012-01-26#i_5056106 | 20:16 | |
| benabik | Does anyone else want to check 18f3b94, or should I just put it in master? After some random sampling, the remaining tickets referenced all seem to be closed. | 20:18 | |
| cotto | not_gerd, looking | 20:19 | |
| moritz | benabik: looks good | 20:24 | |
| cotto | not_gerd, do you know why nqp went with dyncall instead of libffi? | 20:25 | |
| benabik | cotto: IIRC, Windows compatability. | ||
| not_gerd | MSVC support, probably | ||
| libffi needs a gcc-compatible compiler, ie MinGW or Clang | |||
| dalek | rrot: 18f3b94 | benabik++ | / (53 files): Auto-replace TT# with GH# as per GH #707 This takes us from 316 to 145 references to trac tickets. I suspect they are all closed tickets. |
||
| cotto | that's a very valid reason | 20:26 | |
| aloha | (parrot/parrot) Issues closed : 707 (Update TT# in source to github issue #s) by Benabik : github.com/parrot/parrot/issues/707 | 20:28 | |
| benabik | Opening and closing issues all day. | 20:29 | |
| Coke | partcl's spectest hasn't been run since parrot switched to git. | ||
| benabik | That's... a while. | ||
| Coke | it did complete, modulo 2 tests that were very slow. I killed them rather than wait, though they probably would have finished eventually. | 20:30 | |
| cotto | all_hll_test just does make test | ||
| dalek | p: 173935c | moritz++ | src/HLL/Compiler.pm: missing downcase for %adverbs<target> |
20:37 | |
| benabik | Huh. Why was I messing around in hash.pmc? Anybody remember? | 20:51 | |
| Wow. Lion Time Machine keeps around backups on my laptop while I'm not at home. This is most useful. | 20:55 | ||
| (I had deleted my parrot build script.) | 20:56 | ||
| I should probably version control that thing. | 21:00 | ||
|
21:27
perlite_ joined
21:36
lucian joined
21:37
schmooster joined
|
|||
| dalek | rrot: 15dd3bf | benabik++ | frontend/parrot2/main.c: codeingstd: don't use C++ comments, benabik-- |
21:38 | |
| benabik | Oh, and I can't spell codingstd. Awesome. | 21:48 | |
| tadzik | google code-ing | ||
|
21:50
not_gerd left
|
|||
| dalek | p: c9a8997 | jnthn++ | src/PAST/Regex.pir: Fix what appears to be an inverted condition in the old regex engine's charlist prefix computation. |
21:50 | |
|
22:24
estrabd joined
|
|||
| dalek | rrot: 2d8947b | dukeleto++ | .travis.yml: Add a Travis CI config file |
22:24 | |
| benabik | Okay, I have to head out. But I'd like to point out my work on #346: github.com/benabik/parrot/tree/gh346 | 22:28 | |
| Also, if anyone knows a easy and reliable way to trigger a warning, let me know. | 22:29 | ||
| (via aloha, since I have to leave) | |||
| dalek | rrot: 7e7e8f4 | dukeleto++ | .travis.yml: [ci] Do a configure at 'script' time, not 'before_script' |
22:40 | |
| rrot: bed6acf | dukeleto++ | .travis.yml: [ci] We use Configure.pl, not ./configure |
22:48 | ||
|
22:50
estrabd joined
22:55
wknight-phone joined
|
|||
| dukeleto | booya! travis-ci.org/#!/parrot/parrot | 23:01 | |
|
23:07
bacek joined
23:39
whiteknight joined
|
|||
| dukeleto | about.travis-ci.org/ | 23:43 | |
| bacek | ~~ | 23:45 | |
|
23:46
bluescreen joined
|
|||
| whiteknight | good evening, #parrot | 23:53 | |
|
23:54
benabik joined
|
|||