Camelia, the Perl 6 bug

IRC log for #parrot, 2011-06-29

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 pmichaud see also the definition of Scalar in src/Perl6/Metamodel/BOOTSTRAP.pm
00:01 pmichaud anyway, the key for us is to have an explicit and well-defined container type
00:15 Kulag joined #parrot
00:19 Drossel left #parrot
00:20 whiteknight we had talked about that idea too, of a proxy PMC that would act like a ptr/container
00:20 whiteknight is that a direction parrot should take?
00:26 whiteknight I may want to start playing with 6model sooner rather than later. I'm turning out to be a little bit useless when it comes to profiling
00:26 dukeleto whiteknight: i think we need better tutorials to teach parrot hackers to profile
00:26 whiteknight that's very possible
00:27 dukeleto whiteknight: we are in a bad spot now. We have very few tuits and hackers doing that, but we all recognize it is important
00:27 cotto whiteknight, ok.  I'll consider it my responsibility to move that forward.  Jump in when the water warms up.
00:28 whiteknight I'm happy to grind out code, but I still can't really figure out what we have and what we are missing
00:34 whiteknight also, it turns out there are humorous pictures of cats on the internet, and that's eating up a lot of my time recently
00:34 whiteknight who would believe there are so many cat pictures with witty captions? It's like pokemon, I gotta catch em all
00:34 benabik The Itty Bitty Whiteknight Distracting Committee?
00:35 whiteknight :)
00:35 dukeleto Ceiling Cat Disapproves
00:35 atrodo You've never seen lolcats?  I don't think I can make a witty comment scathing enough
00:35 whiteknight I'm kidding. I've been addicted to the cute devil for years
00:36 atrodo whiteknight++ then
00:37 theory left #parrot
00:39 benabik ...  Lexical Int, Str, and Num?!?  Awesome!  jnthn++
00:44 dmalcolm left #parrot
00:48 colomon As long as I'm in here... what is the status of GMP and Parrot?  BigIntegers are looking very very appealing for Rakudo at the moment (besides being p6 spec, of course).
00:54 whiteknight blah, C# is ruining me. 4 times since yesterday I've spelt NULL as "null"
00:54 whiteknight I need to get my mind right
00:55 soh_cah_toa left #parrot
01:01 dukeleto colomon: the parrot-gmp project is proceedingly nicely, it is bubaflub++'s gsoc project
01:01 dukeleto colomon: he has almost all of the integer functions implemented
01:02 colomon sweeet!
01:02 dukeleto colomon: and he has a framework that generates the necessary code, so it should be much easier to get access to rationals and numerics
01:02 dukeleto colomon: we can talk in person :
01:02 dukeleto colomon: :)
01:03 colomon left #parrot
01:04 benabik left #parrot
01:04 sorear but if you do that, I can't eavesdrop
01:05 dalek parrot/whiteknight/packfilewrapper: f7e135f | Whiteknight++ | / (7 files):
01:05 dalek parrot/whiteknight/packfilewrapper: Parrot_pf_read_pbc_file now returns a PackFile* instead of a PMC. We have a routine to wrap it in a PMC if needed. Delete the PackfileManager PMC type. It was worthless. Move most of the functionality to PackfileView. Move the ability to get the current packfileview pmc from the interpreter
01:05 dalek parrot/whiteknight/packfilewrapper: review: https://github.com/parrot/parrot/commit/f7e135f37b
01:05 dalek parrot/whiteknight/packfilewrapper: 93921fd | Whiteknight++ | src/pmc/packfileview.pmc:
01:05 dalek parrot/whiteknight/packfilewrapper: Add a constant_counts method to PackfileView to return the counts of the different types of constants in the packfile. cotto++ for the idea
01:05 dalek parrot/whiteknight/packfilewrapper: review: https://github.com/parrot/parrot/commit/93921fda11
01:08 cotto left #parrot
01:09 colomon joined #parrot
01:15 rurban left #parrot
01:15 hercynium joined #parrot
01:28 lichtkind left #parrot
01:32 whiteknight cotto: two example programs for you:
01:32 whiteknight https://gist.github.com/1052714
01:34 whiteknight I have been kicking around the idea of adding an interface to get Opcode PMCs by index too.
01:34 whiteknight although, that might be a lot more trouble than it's worth
01:35 whiteknight I would really like to get to the point where we can rewrite pbc_dump in PIR or higher
01:35 whiteknight the ability to iterate constants is the first half of that. ability to index and decode opcodes is the next part
01:36 whiteknight of course, I don't want to add an interface that is going to be PASM/PBC specific with M0 on the horizon
01:37 whiteknight Maybe, instead of decoding, I add a method that returns a StructView or similar over the bycode buffer, and let the user index into it
01:37 whiteknight or add a dynpmc for decoding bytecode
01:41 * whiteknight angrily mumbles something about variadic opcodes
01:45 dalek parrot/whiteknight/packfilewrapper: 9e7e0a2 | Whiteknight++ | src/pmc/parrotinterpreter.pmc:
01:45 dalek parrot/whiteknight/packfilewrapper: Fix interp['packfile'] to work
01:45 dalek parrot/whiteknight/packfilewrapper: review: https://github.com/parrot/parrot/commit/9e7e0a2e57
01:45 whiteknight left #parrot
02:06 bubaflub joined #parrot
02:26 wagle left #parrot
02:39 theory joined #parrot
02:56 wagle joined #parrot
03:04 dalek parrot-gmp: 7dfe1af | bubaflub++ | src/GMP/Common. (2 files):
03:04 dalek parrot-gmp: update to gmp_randstate_t struct
03:04 dalek parrot-gmp:
03:04 dalek parrot-gmp: actually it's declared as a single item in an array, so just store
03:04 dalek parrot-gmp: one pointer
03:04 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/7dfe1afc93
03:04 dalek parrot-gmp: 18076e1 | bubaflub++ | t/random/urandom.t:
03:04 dalek parrot-gmp: tests for gmp_urandom functions
03:04 dalek parrot-gmp:
03:04 dalek parrot-gmp: this covers gmp_urandomb_ui and gmp_urandomm_ui
03:04 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/18076e1f07
03:04 dalek parrot-gmp: 9768be3 | bubaflub++ | t/integer/random.t:
03:04 dalek parrot-gmp: tests for mpz_random functions
03:04 dalek parrot-gmp:
03:04 dalek parrot-gmp: this covers mpz_urandomb, mpz_urandomm, and mpz_rrandomb
03:04 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/9768be337c
03:04 dalek parrot-gmp: 92a50db | bubaflub++ | conf/blacklist.yml:
03:04 dalek parrot-gmp: add two obsolete mpz_random functions to the blacklist
03:04 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/92a50dbb23
03:04 dalek parrot-gmp: 65cce8c | bubaflub++ | src/GMP/Integer. (2 files):
03:04 dalek parrot-gmp: update GMP::Integer after blacklisting two obsolte random functions
03:04 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/65cce8cb16
03:06 bubaflub msg dukeleto parrot-gmp now has complete test coverage over all integer functions.  woot.
03:06 aloha OK. I'll deliver the message.
03:14 contingencyplan joined #parrot
03:22 bluescreen left #parrot
03:48 colomon bubaflub++
03:48 cotto joined #parrot
03:51 colomon left #parrot
03:51 colomon_ joined #parrot
03:51 colomon_ is now known as colomon
03:53 cotto ~~
03:59 benabik joined #parrot
04:09 dukeleto bubaflub: nice work
04:10 * dukeleto finally attempts to finish his slides that he is presenting in the morning
04:10 dukeleto bubaflub: colomon is very interested in using parrot-gmp in rakudo. Looks like he will be one of your first users
04:13 cotto watch out.  Those users can be ruthless.  They might even expect your code to work.
04:14 soh_cah_toa joined #parrot
04:18 soh_cah_toa cotto or dukeleto: are you going to the breakfast tomorrow?
04:21 colomon cotto: expect it to work and be Awesome
04:21 cotto soh_cah_toa, I might be there.  I literally have no idea.
04:21 cotto well, no useful idea
04:22 cotto I did notice that it's after midnight.  That's an important data point.
04:22 colomon yes, time for sleep
04:22 soh_cah_toa yeah
04:23 soh_cah_toa left #parrot
04:23 benabik Is there a special breakfast tomorrow or just the normal "there's a buffet over there"
04:25 theory left #parrot
04:25 hercynium left #parrot
04:27 dukeleto sorear: i like to eat breakfast
04:27 dukeleto sorear: oops, meant soh_cah_toa
04:27 dukeleto benabik: probably the normal buffet
04:36 theory joined #parrot
04:42 * dukeleto goes into the late-night-slide-making-delirium
04:45 JaphMalik left #parrot
04:45 hercynium joined #parrot
04:50 dukeleto ack doesn't search .nqp files by default. I think it should.
04:50 dukeleto I wonder who we could bug about that...
04:51 dalek parrot: 1f22953 | dukeleto++ | / (3 files):
04:51 dalek parrot: Give dedeprecator an .nqp extension to match all the other nqp scripts in tools/dev
04:51 dalek parrot: review: https://github.com/parrot/parrot/commit/1f22953408
04:52 sorear dukeleto: your IRC client is failing pretty hard
05:00 hercynium_ joined #parrot
05:00 hercynium left #parrot
05:00 hercynium_ is now known as hercynium
05:13 fperrad joined #parrot
05:17 NotFound joined #parrot
05:38 hercynium left #parrot
05:52 theory left #parrot
05:57 benabik left #parrot
05:57 woosley joined #parrot
05:59 benabik_ joined #parrot
06:05 benabik_ left #parrot
06:08 cotto left #parrot
06:14 zby_home_ left #parrot
06:16 benabik joined #parrot
06:56 benabik left #parrot
07:01 contingencyplan left #parrot
07:01 UltraDM joined #parrot
07:30 mj41 joined #parrot
07:33 Demin left #parrot
07:44 JaphMalik joined #parrot
08:10 JimmyZ joined #parrot
08:13 benabik joined #parrot
08:22 fperrad left #parrot
08:24 fperrad joined #parrot
08:33 contingencyplan joined #parrot
09:20 kj joined #parrot
09:22 kj is now known as kjs
09:24 contingencyplan left #parrot
09:29 JimmyZ left #parrot
09:39 ambs joined #parrot
09:41 dodathome joined #parrot
09:50 moritz http://www.serpentine.com/blog/2011/​06/29/here-be-dragons-advances-in-pr​oblems-you-didnt-even-know-you-had/ this might be very interesting for parrots num -> string conversion
10:04 dodathome left #parrot
10:06 kjs left #parrot
10:06 dodathome joined #parrot
10:14 dodathome left #parrot
10:15 woosley left #parrot
10:15 dalek rakudo/nom: cf7f01f | moritz++ | src/ (3 files):
10:15 dalek rakudo/nom: make Int/Int a Rat.
10:16 dalek rakudo/nom:
10:16 dalek rakudo/nom: Also moves some of the Rat definition into BOOTSTRAP.pm
10:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cf7f01f4a9
10:37 SHODAN joined #parrot
10:37 SHODAN left #parrot
10:39 SHODAN joined #parrot
10:39 dalek rakudo/nom: a04dd6f | moritz++ | t/spectest.data:
10:39 dalek rakudo/nom: 5 more passing spectest files
10:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a04dd6f3de
10:39 dalek rakudo/nom: 4db1c8a | moritz++ | src/ (3 files):
10:39 dalek rakudo/nom: No need to move Rat to BOOTSTRAP
10:39 dalek rakudo/nom:
10:39 dalek rakudo/nom: This mostly reverts cf7f01f4a9d05d53d5cbc8a8530d52ae45eed8e7
10:39 dalek rakudo/nom: jnthn++ for pointing out that the BOOTSTRAP thing isn't necessary.
10:39 dalek rakudo/nom: It turns out the correct infix:</> was already in Rat.pm, just
10:39 dalek rakudo/nom: commented out. No idea why.
10:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4db1c8ab66
10:51 particle joined #parrot
10:55 particle1 left #parrot
11:30 JaphMalik left #parrot
11:38 JaphMalik joined #parrot
11:40 cotto joined #parrot
11:43 JimmyZ joined #parrot
11:45 kid51 joined #parrot
11:46 JimmyZ left #parrot
11:49 ambs left #parrot
11:49 JimmyZ joined #parrot
11:57 JimmyZ_ joined #parrot
12:01 JimmyZ__ joined #parrot
12:02 JimmyZ left #parrot
12:02 JimmyZ__ is now known as JimmyZ
12:06 JimmyZ_ left #parrot
12:17 whiteknight joined #parrot
12:17 whiteknight good morning, #parrot
12:17 cotto good morning, whiteknight
12:17 kid51 good morning
12:18 whiteknight hello cotto. It's extremely weird seeing you online this early in the morning
12:18 whiteknight kid51: hello. It's less weird to see you :)
12:18 JimmyZ good morning where is morning :)
12:18 whiteknight JimmyZ: I think it got lost somewhere
12:18 cotto whiteknight, back at you
12:18 kid51 Usually I'm just about headed out the door to work at this time.
12:19 JimmyZ whiteknight: where is lost ?
12:19 kid51 whiteknight:  Welcome your responses to what we've been posting on parrot-directors in recent days.
12:20 whiteknight ki51: Yeah, I've been reading and mulling over
12:21 whiteknight I'll put out a response today
12:21 kid51 thx
12:23 kid51 Linux/i386: all-g++ build: make test PASS; make codetest PASS
12:24 kid51 whiteknight: If you can comment on http://trac.parrot.org/parrot/ticket/1682, that would be appreciated
12:24 whiteknight kid51: I'll review and maybe apply the patch tonight. Mind if I own the ticket?
12:25 kid51 Steal away
12:27 Drossel joined #parrot
12:27 kid51 Big Parrot day here at YAPC: dukeleto at 10 and cotto at 11; colomon (rakudo) in afternoon
12:28 benabik left #parrot
12:28 colomon all in the same room, too
12:29 kid51 Last night: 2-1/2 hour BOF with P6; 12 total attendees
12:29 cotto wheeee
12:29 * moritz envious
12:30 * mikehh me too
12:30 * kid51 particularly impressed with benabik's and atrodo's depth of knowledge about Parrot
12:30 kid51 They were fully able to keep up with chromatic and TimToady
12:31 cotto quite
12:31 kid51 (which kid51 is *not*)
12:32 whiteknight I am looking forward to seeing rewriteups or summaries about these meetings, what kinds of things users say they want, what things people want to do, etc
12:32 Kulag left #parrot
12:32 whiteknight When I was at YAPC two years ago, we had a few meetings that I thought were pretty transformative
12:33 kid51 whiteknight: Some of what's been discussed so far has been substantive, i.e., the technological content of parrot ...
12:33 whiteknight That's when we first started serious talking about Lorito (although back then we referred to it as "L1")
12:33 cotto A couple people were taking notes.
12:33 whiteknight kid51: and what's the concensus opinion on that front?
12:33 kid51 ... but much of it has been process/community-oriented
12:33 whiteknight process is important too
12:34 whiteknight YAPC two years ago was when we started making changes to #parrotsketch meeting formats as well, and I think that has been successful
12:34 kid51 The question dukeleto posted on parrot-dev last night (which I think originally came from particle), is one we'd like everybody to think about
12:34 whiteknight heh, I've been thinking about that
12:35 kid51 whiteknight: We need to adjust time of #ps to get you in there on regular basis
12:35 whiteknight If I were paid to work on Parrot, I would do a lot of the same stuff I already do, but a heck of a lot more of it and I would never stop smiling
12:35 moritz unless when cursing IMCC guts again :-)
12:36 whiteknight moritz: I'd be smiling while cursing. I would be thrilled to be paid to work on IMCC
12:36 whiteknight right now I have to pick my battles, because I have limited time and a huge TODO list. If I had 40 hours a week, I would be much less averse to picking up a huge project like that
12:36 whiteknight I'd rewrite the whole thing and rename it to WKBFPA: Whiteknight's big freaking PIR assembler
12:37 kid51 We also talked about the Parrot-Rakudo relationship manager process.
12:37 whiteknight well, at least put that last part up for a vote
12:38 kid51 In addition to the designated managers (whiteknight, cotto for Parrot; pmichaud and moritz (I think) for Rakudo), we want to encourage those people who hang out in both channels to communicate their sense of how the two projects are interacting.
12:39 kid51 People like util and benabik reported that they were trying to attend both #parrotsketch and #phasers, so we encouraged them to develop a sense of the two groups are doing.  Grass-roots level feedback.
12:40 kid51 Also, the designated relationship managers are encouraged to consider whether they want periodic conference calls ...
12:40 kid51 ... much like the former Perl 6 calls, which TimToady said had fallen into disuse because it was almost all Parrot people attending!
12:41 bluescreen joined #parrot
12:41 kid51 We're also encouraging more people to blog ...
12:42 whiteknight I'm giving it all I've got, captain!
12:42 kid51 ... looking forward to the day when total number of words blogged by all !whiteknight > whiteknight
12:42 kid51 :-)
12:42 whiteknight when that day comes, I'll have to turn on my A-game
12:42 whiteknight put the pressure back on
12:44 kid51 darwin/PPC: make test PASS
12:44 JimmyZ can parrot people establish a grant submission to Ian Hague Perl 6 Development Grants, for improve rakudo ?
12:45 kid51 JimmyZ: We (Parrot Foundation) first have to get our act together so that we can administer grants properly.
12:45 dukeleto left #parrot
12:45 cotto JimmyZ, I believe that Hague grants need to be directly related to a Perl 6 implementation.
12:45 kid51 We have to file certain tax-related papers so that we know on what basis we can ask people for money.
12:47 cotto JimmyZ, I'd love to be wrong about that though.
12:47 kid51 JimmyZ:  We will then have to develop a way of (a) identifying the type of efforts that would benefit from someone working on them for $$$; (b) prioritizing those tasks; (c) administrering grants.
12:49 kid51 JimmyZ: Once we are better at identifying and prioritizing our needs, we'll be in a position to raise money to get people to work on those needs.
12:50 whiteknight I don't see any reason why the grant would need to go through PaFo. A hacker can apply to TPF directly, and receive money from them
12:50 moritz anybody familiar with pcre related build failures? https://gist.github.com/1053747 reported by flussence in #perl6
12:50 whiteknight Is there even still Hague-related money to be applied for?
12:50 whiteknight moritz: I haven't heard about that. I'll take a look
12:50 moritz that's the configure.pl output: https://gist.github.com/1053756
12:51 moritz whiteknight: yes, > 20k USD last I looked
12:52 whiteknight I wasn't aware of that. I may have to look into that
12:52 moritz note that the grant was two fold
12:52 moritz 100k for actual hacking
12:52 moritz no wait1
12:52 moritz 100k in total, iirc
12:52 moritz half for hacking
12:53 moritz half for improving the infrastructure to acquire more funds
12:53 whiteknight so when you say there's 20K left, which part is that from?
12:53 moritz that second half is nearly all still there
12:53 moritz and 20K left from the hacking grant
12:53 kid51 moritz: PCRE:  http://trac.parrot.org/parrot/ticket/2107
12:54 moritz kid51++ thanks
12:54 cotto colomon is here at yapc.  Perhaps it'd be good to poke at his machine this afternoon or tomorrow.
12:55 moritz cotto: that would be awesome. Seems to be pretty widespread
12:55 cotto moritz, always on gentoo or not?
12:55 moritz cotto: I think it was reported on OS X too, but I'm not sure
12:56 cotto ok
12:58 dukeleto joined #parrot
12:58 * kid51 to lobby for more coffee
12:58 dukeleto ~~
13:00 JimmyZ :)
13:01 moritz http://irclog.perlgeek.de/​perl6/2011-06-29#i_4024212
13:02 bubaflub ~~
13:04 dukeleto bubaflub: mornin'
13:04 bubaflub morning dukeleto
13:05 bubaflub dukeleto: i saw your note about asserting if a random number falls within a given range - i can add that.  currently the test will fail if those NCI calls fail or blow up.
13:05 whiteknight tests for random number generators are notoriously difficult
13:06 whiteknight You have to run enough tests to show you have a good sample set, and you need to design your tests in a way that you don't occasionally get false-positives or false negatives
13:08 kid51 left #parrot
13:09 JimmyZ__ joined #parrot
13:09 moritz luckily there are good, open source test suites for (pseudo) random numbers already
13:10 moritz but you usually don't run them as regular regression tests
13:10 moritz they just take up way too much CPU
13:11 colomon cotto: unfortunately from the pcre bug perspective, I upgraded my machine and OS since that bug report, and have a pcre that parrot is perfectly happy with now.
13:12 whiteknight colomon: What OS did you have before? What do you have now?
13:12 JimmyZ left #parrot
13:12 JimmyZ__ is now known as JimmyZ
13:12 bubaflub moritz and whiteknight: i can set the algorithm and the seed, but i still don't think testing the direct output is a good idea
13:13 colomon whiteknight: OS X 10.5....8?  (Exact value should be in the bug report, I think.) and now OS X 10.6.7.
13:15 cotto It looks like disabling the svn repo on trac broke all our links to commits on github
13:18 dukeleto blarg
13:18 dukeleto bubaflub: we just need some simple rng tests. Just make sure you get a random number in the range that you expect
13:19 dukeleto bubaflub: no need to reimplement the DIEHARD tests just yet :)
13:19 bubaflub dukeleto: roger that.  i'll add those today.  next up: setup.pir.
13:19 dukeleto bubaflub: woot
13:20 whiteknight kid51: that patch from #1682 does not apply cleanly. I worked around that, I'll be able to fix anything that is broked
13:20 whiteknight I'm building now
13:24 JimmyZ_ joined #parrot
13:26 Coke I just donated money to TPF. Can I do that with Pafo yet?
13:27 Coke the donate link on our site goes to:
13:27 whiteknight t/src/extend_vtable.t takes forever now
13:27 Coke https://co.clickandpledge.com/​include/Warning.aspx?wid=26715 "Account cannot be located."
13:28 whiteknight I think that button is under construction
13:28 JimmyZ left #parrot
13:28 JimmyZ_ is now known as JimmyZ
13:28 dukeleto Coke: particle is trying to fix our donate button
13:28 dukeleto Coke: sadly, it wasn't noticed that it was broken
13:29 dukeleto since we like running tests so much, we really should have a script to verify all the links on our site work correctly
13:29 dukeleto whiteknight: define forever
13:29 dukeleto whiteknight: it is compiling and running over 100 C programs
13:29 kid51 joined #parrot
13:32 whiteknight dukeleto: I'm not suggesting it can be improved. There's a penalty we pay for awesome test coverage
13:33 dalek parrot/vtable_substr: 286326f | Whiteknight++ | / (11 files):
13:33 dalek parrot/vtable_substr: apply patch from kid51++ to remove VTABLE_substr and rename the old VTABLE_substr_str to VTABLE_substr. His patch did not apply cleanly in t/src/extend_vtable.t, so I did a quick-n-dirty replace of my own
13:33 dalek parrot/vtable_substr: review: https://github.com/parrot/parrot/commit/286326fd07
13:34 kid51 Hmm, yes there were probably changes to t/src/extend_vtable.t after I wrote that branch
13:35 whiteknight testing on that branch would be appreciated
13:35 kid51 Oh, you haven't actually merged it yet.
13:35 cotto left #parrot
13:36 Coke left #parrot
13:36 Coke joined #parrot
13:36 kid51 whiteknight: Did you fork?
13:37 whiteknight branch
13:38 whiteknight "vtable_substr" branch
13:38 kid51 Okay, I just did git pull and now see the new branch
13:41 whiteknight I haven't reviewed the patch deeply yet. But it builds and passes tests for me so that's  a good sign
13:41 whiteknight I'll give it a much closer look tonight and then merge if there are no problems reported
13:42 kid51 k; I will delete the earlier branch
13:43 whiteknight oh, was there an earlier branch? I didn't even see that
13:43 whiteknight my apologies
13:43 * kid51 prepares to go downstairs to dukeleto talk
13:44 whiteknight kid51: Did your talk make it online?
13:44 cotto joined #parrot
13:44 kid51 git branch -a | grep -i vtable   -- is your friend?
13:44 kid51 Yes:  I posted links to it in post to parrot-dev
13:44 kid51 http://thenceforward.net/perl/yapc/YAPC-NA-2011/
13:44 whiteknight ...I don't seem to have gotten that email
13:45 kid51 Went out at 5:06 PM ET yesterday.
13:45 cotto I replied to it.
13:45 kid51 cotto posted audio
13:46 benabik joined #parrot
13:46 benabik ~~
13:46 kid51 linux/i386: vtable_substr branch PASS
13:47 kid51 left #parrot
13:49 whiteknight I'm listening to it now
13:51 dukeleto left #parrot
13:52 contingencyplan joined #parrot
13:56 colomon left #parrot
13:58 atrodo =~ Morning!
13:59 colomon joined #parrot
14:00 benabik left #parrot
14:00 atrodo dukeleto++ Yay Visuals!
14:01 benabik joined #parrot
14:03 atrodo dukeleto++ TimToady++ particle++ cotto++ benabik++ chromatic++ soh_cah_toa++ kid51++ Util++ colomon++ # Nice BOF/Dinner
14:03 colomon atrodo++ too!
14:04 whiteknight ++ for everybody!
14:08 NotFound Why perl6 people want pcre? They don't have enogh with its own kind of regexes?
14:08 moritz NotFound: we just want parrot to build out of the box
14:08 kid51 joined #parrot
14:09 NotFound That's easy: put pcre out of the repo.
14:09 moritz NotFound: it's fine for us not to have PCRE, but if configure detects its presence, and then the build fails, our users have a problem
14:09 whiteknight I agree with NotFound++. I don't think we need pcre bindings included in Parrot build
14:10 whiteknight It could easily be moved out to an extension project, and probably get a lot more love there
14:10 moritz I'll have to ask jnthn__ and pmichaud if removing PCRE would be a problem for us, but to the best of my knowledge it's not
14:10 NotFound Build fails? That's new, I tought there are just the old known test failures.
14:10 whiteknight it seems to fail on certain versions of Mac OSX
14:10 whiteknight Maybe other places
14:10 moritz NotFound: http://trac.parrot.org/parrot/ticket/2107
14:10 moritz and gentoo
14:11 kid51 IIRC There are 4 active Trac tickets with PCRE -- which suggests we don't have resources to maintain it in master
14:11 whiteknight ah yes, gentoo
14:11 kid51 I'm not sure why we ever had it in the first place.
14:11 NotFound kid51: yes, that's the reason to propose get rid on it. Lots od diagnostic but looks like nobody care enough to look at it.
14:11 kid51 There was a period when anyone could say "Parrot ought to look for X" and no one would say no.
14:13 NotFound I asked several times if it was a real problem for somenone. No answers.
14:13 kid51 The Trac tickets are circumstantial evidence that people have problems.
14:15 NotFound kid51: I mean real problems like need to use pcre for something.
14:15 kid51 Ah, yes.
14:16 NotFound Failure to build is a real problem, but for that one I already know the appropiate solution.
14:16 whiteknight what is the appropriate solution? Remove pcre bindings from core?
14:16 NotFound Yeah
14:17 kid51 We will probably need to file deprecation notice.
14:17 kid51 :-(
14:17 NotFound I don't feel like working on fixing something that nobody uses and nobody care.
14:17 kid51 Agreed
14:18 moritz does lua use PCRE regexes?
14:18 kid51 msg fperrad Does Lua use PCRE regexes?  We're pondering deprecating them.
14:18 aloha OK. I'll deliver the message.
14:19 NotFound Also, we don't need C bindings, core or not. It's probably easier and more versatile to write a NCI one.
14:19 whiteknight is that what it uses, c bindings?
14:20 NotFound If not, using configure infrastructure for it a lose of time.
14:20 NotFound is
14:20 bubaflub i thought plobsing said they were NCI: runtime/parrot/library/pcre.pir
14:21 whiteknight so then yes, the configure step might be unnecessary
14:21 NotFound So yes, the way of detecting and configuring is a big mistake.
14:21 whiteknight We need to see what it is doing before we declare it a mistake
14:21 NotFound whiteknight: I've looked at it several times.
14:21 whiteknight oh, okay. I haven't. I'll trust you then
14:22 NotFound It has that logic in configure, and then ignores it in the tests.
14:23 NotFound Well, maybe I've been to rude. The mistake is in the testing logic.
14:23 atrodo isparrotfastyet is getting a data reset, so it's bare
14:24 moritz so it will display a big NO? :-)
14:24 atrodo hopefully this will help data to start flowing
14:24 moritz SCNR
14:24 moritz atrodo: is there an easy way to contribute data to it?
14:25 NotFound Looking at that failure report, it seems that parrot_nci_thunk_gen uses (or at least tries to load) pcre.
14:25 atrodo moritz: if you have a free, underused, non-vm machine, possibly.  but not yet
14:25 moritz atrodo: I have, but it's only running occasionally
14:26 atrodo moritz: specs?
14:27 moritz atrodo: amd64 with Debian GNU/Linux, 6GB RAM. Don't remember the exact processor family (nothing fancy)
14:27 atrodo moritz: more than what's running now.  yea, when I get all this figured out and ready to have more machines, i'll get a hold of you
14:27 hercynium joined #parrot
14:27 atrodo it's running on an old p4, 512M LFS machine right now
14:28 NotFound Confirmed, parrot_nci_thunk_gen uses pcre: tools/dev/nci_thunk_gen.pir line 860
14:30 moritz looks like it could be rewritten in nqp - somebody just[tm] has to do it
14:30 lichtkind joined #parrot
14:30 benabik moritz: Use nqp-rx instead of PCRE bindings?
14:31 moritz benabik: aye
14:31 atrodo Hey benabik! Pay attention! ;)
14:31 * kid51 opened TT #2139 for consideration of deprecation of PCRE
14:31 atrodo (say the guy that's doing more on irc)
14:31 NotFound Did we have some regex engine not candidate for deprecation and accesible from pir?
14:32 bubaflub kid51: what about http://trac.parrot.org/parrot/ticket/2028?
14:32 moritz NotFound: is nqp-rx candidate for deprecation?
14:32 bubaflub (also a ticket for deprecation of pcre)
14:32 NotFound kid51: ETOOMUCHPCRETICKETS
14:32 NotFound moritz: Is nqp-rx directly accesible from pir?
14:32 benabik I can poke at converting nci_thunk_whatever... If someone reminds me. (e-mail or ticket assignment or something)
14:32 moritz NotFound: yes, iirc
14:33 moritz benabik: feel reminded :-)
14:33 UltraDM left #parrot
14:33 benabik If we don't use PCRE in core, we can move it into plumage.
14:33 benabik Actually, if someone here can remind me at the hackathon...
14:34 kid51 I'm finding that I can't retain my Trac login between posts to trac.parrot.org.  Is anyone *not* at YAPC experiencing that problem?
14:35 NotFound moritz: that depends on what you mean by 'directly'. Can I just load_language 'nqp' ?
14:36 kid51 After every post to Trac, my browser is reverting to the http:// version of the URL
14:36 dalek TT #2139 created by jkeenan++: Deprecate PCRE in Parrot core
14:36 dalek TT #2139: http://trac.parrot.org/parrot/ticket/2139
14:36 dalek TT #2139 closed by jkeenan++: Deprecate PCRE in Parrot core
14:36 dalek TT #2139: http://trac.parrot.org/parrot/ticket/2139
14:40 benabik Note to self (or others): Add definition of VTABLE to docs.
14:41 atrodo Or, rename vtable because that term is very confusing to people
14:42 moritz only if we find a better name :-)
14:42 benabik I was familiar with the term from other languages (C++, others)
14:42 NotFound Recursive definition: VTABLE: set of vtable functions. vtables functions: functions contained in VTABLE.
14:42 benabik So renaming it isn't necessarily a good idea.
14:42 atrodo i originally heard it in the object pascal world, but that's me
14:43 benabik Pascal--
14:43 moritz I've heard that C++ does virtual method dispatch via vtables
14:43 atrodo Old school pascal or new school pascal?  Big difference
14:43 moritz so seems to fit, in a rough sense
14:44 NotFound moritz: in fact implementations does that way, but is no mandatory.
14:44 PerlJam isn't "new school pascal" called delphi these days?
14:44 atrodo but it's a foreign concept to people that don't know c++ very well
14:44 atrodo PerlJam: Mostly, yes
14:44 NotFound PerlJam: I think the tendence is to call it 'Lazarus'
14:45 atrodo although, I try to distance myself from my bastard child that is the newest versions of Delphi
14:45 atrodo Lazarus is the framework that is available on freepascal
14:45 PerlJam just calling something "lazarus" isn't enough to raise it from the dead  ;)
14:46 NotFound PerlJam: no, but looks like it's more live than Delphi.
14:46 atrodo aye, never cared to try it
14:46 fperrad kid51, lua doesn't use pcre
14:47 bubaflub i saw some discussion yesterday about it, but how up to date is http://trac.parrot.org/parrot​/wiki/PerformanceImprovements ?
14:48 benabik I think best dep plan for PCRE is to move nci-blah to nap-rx and make a plumage project for it.
14:49 NotFound +1
14:50 benabik I guess I get to learn plumage.
14:51 atrodo dukeleto++ Nice talk!
14:52 kid51 bubaflub: That page is definitely *not* up-to-date ... even if many of the table entries are still valid.
14:52 kid51 bubaflub: Note reference to RT tickets rather than Trac.
14:52 benabik dukeleto++, indeed. Especially for putting it on github so I can steal bits for later.
14:53 bubaflub right.  i ask because i'd be willing to hack on some post-GSoC given some guidance or hand-holding
14:53 kid51 bubaflub++
14:53 benabik bubaflub++
14:54 kid51 IIRC from last night's discussion ... we've asked chromatic to write a series of blog posts identifying problems like these.
14:54 kid51 Then we can work them into Roadmap Goals.
14:54 bubaflub cause it seems like speed is a big complaint, and with pmichaud's rak-bench we can measure improvements and what not. and some of these straightforward though deep in the guts of parrot.
14:54 kid51 Perhaps we can pair you up with him to work on some of them.
14:54 kid51 bubaflub: Exactly
14:55 cotto left #parrot
14:55 bubaflub kid51: that'd be great.  after GSoC i am *completely* done with school and will have nights free.  i'm working with plobsing on getting some NCI stuff straightened out as well.
14:55 fperrad left #parrot
14:55 whiteknight is dukeleto's talk going to end up online eventually? I want to see!
14:56 benabik github.com/Leto
14:56 kid51 I suspect all the talks will be online very soon
14:57 dukeleto joined #parrot
14:58 benabik https://github.com/leto/presentations specifically. Looks like the last commit was 2hrs ago with that talk
15:00 kid51 cotto's talk starting now; slides will be at mksig.org/slides/yapcna11
15:01 * dukeleto will post a direct link to my talk in a sec
15:02 dukeleto https://github.com/leto/presentations/blob/master/​2011/YAPCNA/visual_intro_parrot/pres.pdf?raw=true
15:02 dukeleto https://github.com/leto/presentations/blob/ma​ster/2011/YAPCNA/visual_intro_parrot/pres.tex if you want to see the LaTex source
15:03 benabik LaTeX++
15:03 PerlJam parrot only has ~1100 ops?
15:03 PerlJam ;)
15:03 dukeleto PerlJam: we are saving up for less
15:03 dukeleto or fewer.
15:04 * kid51 recommends 30g of LaTex source every day before breakfast
15:04 whiteknight dukeleto: Your slides are making me hungry
15:04 benabik 30 gig of LaTeX? That's a LOT of slides,
15:05 whiteknight how many gigs weigh a gram?
15:06 dukeleto whiteknight: good!
15:06 dukeleto whiteknight: also, i dedicated the rube goldberg picture to you during the talk :)
15:08 dukeleto whiteknight: the recording that cotto will hopefully post will make the slides make a bit more sense :)
15:09 NotFound I like the parrot cookie picture.
15:09 benabik Cookie++
15:09 benabik imcc--
15:11 benabik Karma imcc
15:11 aloha imcc has karma of -21.
15:11 benabik still too high. Imcc--
15:11 JimmyZ rakudo: loop { imcc -- }
15:11 p6eval rakudo 1fcb14: OUTPUT«Could not find sub &imcc␤  in main program body at line 22:/tmp/6_YhxcK0ey␤»
15:12 benabik whiteknight++ # not dying to GC
15:12 benabik when did  get p6eval?
15:12 moritz this sentece no subject
15:13 benabik s/  / we /
15:13 bubaflub looks like you accidentally a whole word there
15:13 benabik Lack of real keyboard confuses me sometimes.
15:14 bubaflub ah, you're still on an iPad?
15:14 benabik My laptop doesn't have anything near the battery life toilet me heckle people on IRC all day
15:14 benabik *to let
15:14 moritz bubaflub: according to my logs, p6eval first spoke on #parrot on 2010-07-26
15:15 moritz sorry, meant benabik
15:15 moritz too many b's :-)
15:15 benabik moritz: I had guessed.
15:19 whiteknight dukeleto: Awesome. The slides are pretty great
15:19 whiteknight but I'm already starving and they aren't helping with that
15:20 benabik svn--
15:20 benabik git++
15:20 * kid51 still uses svn for slideshows
15:21 benabik kid51: I'm sorry?
15:21 * benabik never really liked SVN
15:21 tadzik hah, my dedeprecator got into the talks :)
15:21 whiteknight benabik: svn isn't bad most of the time. We used it for parrot for many years
15:22 kid51 Authors of Subversion are nicer people than author of git
15:22 whiteknight I wouldn't say that the common flow is any better with git than it was with svn. It's the uncommon cases and some of the more exotic uses where git really shines
15:22 benabik kid51: Linus is... Opinionated, yes
15:22 NotFound Yes, we have problems only the rest of the time ;)
15:22 kid51 NotFound just got a shoutout in cotto's talk
15:22 whiteknight I don't miss SVN, I'm just saying it wasn't horrible
15:23 benabik I had to use RCS for school...
15:23 tadzik yeah, it's mostly "It's Linus' way or you're an idiot"
15:23 whiteknight tadzik: And occasionally "Linus' way AND you're an idiot"
15:23 tadzik that too, yes
15:23 benabik Then I tried to move to SVN for my own projects and maintaining the databases was... Problematic,
15:23 NotFound kid51: Oh, I can say that now I'm a Perl celebrity, then?
15:23 benabik SVN doesn't scale down very well, IMHO
15:23 * PerlJam likes the "not owned by Oracle!" reason for using parrot
15:23 PerlJam :-)
15:23 SHODAN left #parrot
15:24 tadzik it's like with Diaspora :)
15:24 benabik and it doesn't scale side to side.
15:24 benabik Handles large corporate style, but not large OSS style.
15:24 benabik Anyway, this is #parrot, not #benabikcomplainsaboutsvn
15:25 whiteknight benabik: sometimes it appears to be #whiteknightcomplainsaboutparrot
15:25 whiteknight or #whiteknightcomplainsaboutimcc
15:25 tadzik . o O ( did you do your imcc-- today? )
15:25 whiteknight imcc--
15:25 whiteknight One of those and a vitamin D pill every day!
15:25 benabik Everyone complains about imcc. Or hasn't tried to deal with it.
15:26 whiteknight ha! I love that those are the two options
15:26 tadzik I don't mind it, I never had to work with it
15:26 tadzik I just echo what I tend to hear here :)
15:26 NotFound There are two kinds of people: the ones that hate Larry Ellison and Larry Ellison.
15:28 kid51 vtable_substr branch: darwin/ppc: make test PASS
15:28 kid51 fperrad gets a shoutout in cotto talk
15:28 kid51 also bacek
15:28 dmalcolm joined #parrot
15:29 dukeleto well, Linus didn't get his way forever: Git used to bomb out if you attempted to commit something with trailing whitespace.
15:30 benabik fperrad++ bacek++ NotFound++ # useful stuff mentioned in cotto++'s talk
15:30 dukeleto also, imcc--
15:30 NotFound kid51: Did he mention winxed? I need some sound file to give to people that ask how to pronouce it.
15:30 benabik Parrotlet. New name for M0?
15:30 dukeleto NotFound: i mentioned Winxed and pronounced it "winged"
15:30 benabik NotFound: Yes
15:31 benabik I think cotto is following dukeleto's lead
15:31 kid51 NotFound: winxed mentioned numerous times at YAPC ... with numerous pronunciations
15:31 NotFound Good.
15:31 NotFound Confusion will be my epitaph (King Crimson)
15:32 * moritz would pronounce it with the same x as in 'extra'
15:32 benabik I keep wanting to say win-zed.
15:32 dukeleto benabik: well, we already have "Lorito" which means little parrot in spanish
15:33 benabik dukeleto: I was unaware of the origin. Neat
15:33 moritz "it's parrots all the way down" :-)
15:34 kid51 NotFound: Have you ever given any presentations about Parrot in Spanish?  Or in Spain?
15:34 dukeleto http://www.smallestparrots.com/
15:34 NotFound kid51: no
15:34 whiteknight benabik: I say "win-zed"
15:35 kid51 I would love to see that.  Give me a chance to refresh my Spanish in a tech context.
15:35 whiteknight of course, I only pronounce it in my head, I don't have anybody in shouting range who wants to hear me talk about parrot
15:35 benabik whiteknight: I talk to people about parrot anyway. My wife and housemates are probably a little sick of it.
15:36 NotFound kid51: in Spain is usual to give more appreciation to foreigners than to nationals.
15:36 benabik I think my wife has picked up a hatred of IMCC just from hearing me talk about it.
15:36 whiteknight If I talk to my kid about anything while he's watching The Wonder Pets, I get the evil eye and promptly stop
15:36 dukeleto evidently the Pygmy Parrots are the smallest parrots in the world: https://secure.wikimedia.org/w​ikipedia/en/wiki/Pygmy_parrot
15:37 whiteknight talking to my wife about anythign tech gets me the blank-as-an-empty-wall stare
15:37 benabik dukeleto: No pictures? :-(
15:37 dukeleto which happen to have the genus Micropsitta, M0 = Micropsitta 0 doesn't have the same nice ring as "magic level 0"
15:38 benabik whiteknight: My wife seems to enjoy it for some reason, although she's not very technical herself.
15:40 colomon left #parrot
15:41 cotto joined #parrot
15:43 dukeleto Lorikeet is a pretty cool name.
15:45 colomon joined #parrot
15:47 kid51 left #parrot
15:48 dukeleto This might be useful for developing parrot on android: http://www.android-x86.org/
15:50 * dukeleto just added a link to his slides from the YAPC talk page: http://www.yapc2011.us/yn2011/talk/3303
15:51 benabik left #parrot
15:53 mtk left #parrot
15:55 hercynium left #parrot
15:55 daniel-s left #parrot
15:56 cotto left #parrot
16:11 JimmyZ left #parrot
16:18 theory joined #parrot
16:18 ambs joined #parrot
16:19 Kovensky joined #parrot
16:25 zby_home joined #parrot
16:35 atrodo Anyone every see a "dead object found" error when compiling rakudo?
16:37 dukeleto left #parrot
16:38 mj41 left #parrot
16:40 whiteknight no, not since the gms was still in testing
16:40 alester joined #parrot
16:43 colomon parrot on android!
16:45 JaphMalik left #parrot
16:47 bubaflub colomon: word is you're interested in Parrot-GMP
16:47 colomon bubaflub: oh yes.
16:47 colomon we'd like to have it in nqp-nom, and therefore in rakudo-nom
16:48 bubaflub colomon: i'm fixin' to get a nice setup.pir (for building and dependency checking) and getting it on plumage.  any features you'd like to see after that?
16:48 colomon you have the integer operations all implemented, right?
16:48 bubaflub colomon: yes*
16:49 benabik joined #parrot
16:49 bubaflub colomon: * there are a few exceptions - functions that take var args, for example.  but the vast majority are there
16:49 colomon sweet.
16:49 bubaflub colomon: i've also not implemented a few functions that were marked in the docs as deprecated or obsolete
16:50 colomon I've got to get ready to give my talk in a few minutes here (YAPC), but would absolutely love to go into this in more detail with you later today or tomorrow.
16:50 colomon I'll need to consult with pmichaud and jnthn to figure out how to put it in nqp-nom.
16:50 colomon But this will be a very big help to us, I think.
16:50 bubaflub colomon: ok, i'll be here till 4 PM CST
16:51 colomon bubaflub++
16:51 bubaflub colomon: i think next step for me (beyond what i already mentioned) are some more friendly docs and examples in nqp or rakudo
16:56 benabik colomon: Haven't forgotten the connector.  Finishing lunch now, will be down in 10-15 min.
17:01 colomon left #parrot
17:04 fperrad joined #parrot
17:05 atrodo https://gist.github.com/1054323
17:05 atrodo bacek_at_work: ping
17:05 atrodo whiteknight: ping
17:11 whiteknight atrodo: pong
17:11 whiteknight oi
17:12 atrodo whiteknight: any idea what could be causing "dead object found"?
17:13 benabik left #parrot
17:17 benabik joined #parrot
17:18 benabik left #parrot
17:18 benabik_ joined #parrot
17:21 whiteknight atrodo: my first guess is a missing write barrier somewhere
17:22 benabik_ It worked!
17:22 benabik_ Awh.
17:22 atrodo parrot: 643dba012b5182b39bf40c2b1a58e721b5c50ae7 rakudo: b2bc994069e39a9265fce88e42d3d2bafd883a29
17:22 benabik_ Sorry, #parrot was on screen, but colomon was logged off.
17:23 atrodo parrot from two days ago and rakudo from 6 days ago
17:23 atrodo but it's not just those two days.  that's been preventing ipfy from updating any new data
17:24 atrodo brb
17:24 elmex_ joined #parrot
17:25 whiteknight atrodo: is it using any extensions, dynoplibs, etc?
17:25 elmex left #parrot
17:30 elmex joined #parrot
17:31 elmex_ left #parrot
17:33 lucian joined #parrot
17:35 elmex left #parrot
17:35 elmex joined #parrot
17:35 atrodo whiteknight: not that I know of.  It's the master branch of rakudo
17:44 elmex left #parrot
17:44 soh_cah_toa joined #parrot
17:47 elmex joined #parrot
17:48 atrodo whiteknight: I'm trying an earlier parrot, just just realized that the rakudo version is 2011.06.  so if this doesn't working, i'm going to do 3.5.0 and 2011.06
17:48 whiteknight definitely upgrade Parrot, to make sure you have the latest stuff from there
17:50 atrodo i'm actually trying an older, by a few days, version of parrot
17:52 whiteknight Like I said, http://morepypy.blogspot.com/2011/06/glo​bal-interpreter-lock-or-how-to-kill.html
17:52 whiteknight s/Like I said,//
17:52 whiteknight that's a post about PyPy trying to get rid of GIL with STM
17:55 whiteknight atrodo: oh, if it's only a few days older I doubt that's a problem
17:55 whiteknight does ipfy use any custom libraries? dynpmcs? anything fancy or special?
17:55 atrodo whiteknight: me either, but i have no skills to figure out what's happening
17:55 atrodo no, i build stock parrot and rakudo
17:56 atrodo (is going to make sure whiteknight knows we're talking about isparrotfastyet.com)
18:05 whiteknight yes
18:05 whiteknight If it's stock parrot and stock rakudo, that means we have a GC bug in one of them somewhere
18:06 plobsing is there a way to query and force all relevant GC parameters? if so, other devs might be able to reproduce the problem.
18:06 whiteknight I'm a little surprised that only ipfy triggers it, and we haven't heard any other reports
18:06 atrodo okay.  Yea, i'm just building stock, nothing special.  git clean and checkout and build
18:06 atrodo i don't run tests, so I may try that next too
18:06 whiteknight upgrade parrot to the today master. Sometimes changing the memory layout a little bit will hide or exacerbate these kinds of problems
18:07 whiteknight That reminds me, I have to add write barriers to my packfilewrapper branch
18:07 hercynium joined #parrot
18:07 atrodo whiteknight: You mean the memory on the box?
18:08 atrodo *memory layout
18:09 bubaflub whiteknight: what exactly is a write barrier?  is it telling the GC not to run while certain code is executing?
18:10 mj41 joined #parrot
18:11 whiteknight bubaflub: Generational GC breaks objects into groups called generations. Generations get marked more or less frequently depending on statistics
18:11 plobsing bubaflub: a write barrier is a checked write. they maintain the assertions required to make generational GC consistent. unchecked writes into GCable slots of GCables are potential leaks, breaking these assertions.
18:11 whiteknight so objects that have been alive for longer, statistically speaking, means the object will continue to live and doesn't need to be marked as often
18:12 whiteknight however, if I take an object from a young generation, and put it inside an object from an older generation, the younger one will be swept before the older one gets marked
18:12 whiteknight so we write barrier the older PMC, to make sure it gets marked early
18:13 whiteknight basically, it's just a flag
18:13 bubaflub ok, so it's just there to maintain consistency in the GC
18:13 whiteknight When the GC runs, it marks all items in the current-to-mark generation PLUS all objects marked with a write barrier
18:13 whiteknight right
18:13 bubaflub hmmm, how do we track down these kinds of errors?
18:13 bubaflub (probably with great pain)
18:13 whiteknight so if we are missing a write barrier, a young PMC could be collected early, and we get errors like what atrodo is seeing
18:14 whiteknight bubaflub: we have to figure out which PMC is being collected, then figure out where it was, then figure out who is missing the write barrier
18:14 bubaflub could a tool like valgrind help out with that or are we on our buried neck deep in stack traces?
18:15 whiteknight valgrind probably cannot help much here, because Parrot manages all it's own memory
18:15 bubaflub ok, so valgrind would only detect memory leaking in a very bad way, not objects marked incorrectly
18:15 plobsing bubaflub: probably something like valgrind (but not valgrind) could help, but it would need to be parrot-specific, and that would be a lot of work
18:18 whiteknight I'm not even sure how we would do that. We would have to run GC mark twice: Once for the current generation, once for all generations, and see if anything is missed in one that would be caught in the other
18:18 plobsing you could achieve similar functionality by collecting all the locations which prviously allocated the object
18:18 plobsing you can do that with a gdb script (and a lot of patience)
18:19 bubaflub could we modify the runcore to do that - like a gc debug run core?  it would be slow as all get out.
18:20 plobsing the problem with GC debug is that many of these bugs are tied to state. if you keep GCing, you wipe your slate clean too frequently to accumulate bad state.
18:20 lucian whiteknight: i thought valgrind had an API for working with GCs
18:22 atrodo whiteknight: running tests, if it fails, i'll smoke
18:23 plobsing bubaflub: just to confirm - can you reliably reproduce the problem? is the dead PMC always the same address? is the code raising the error always the same stacktrace?
18:24 bubaflub plobsing: er, that's atrodo with the problem i believe
18:24 cotto joined #parrot
18:24 plobsing oops. sorry. you asked about WBs and I got confused
18:24 atrodo plobsing: https://gist.github.com/1054323 It happens when building rakudo
18:24 bubaflub plobsing: mine was just a theoretical question
18:25 atrodo plobsing: I'm not sure how far back it when, but it wasn't just one version that this happened on
18:26 plobsing atrodo: that looks like a corrupted stack. fun.
18:26 benabik_ left #parrot
18:26 colomon joined #parrot
18:26 plobsing atrodo: can you run that in gdb and find out the address of the dead object?
18:27 bubaflub welcome back colomon; how'd the talk go?
18:27 atrodo not right now, but at somepoint, maybe
18:27 atrodo i'm runing make test right now to see what happens
18:28 cottoo joined #parrot
18:28 plobsing after that, you can set a conditional breakpoint on the allocator to break when it allocates an object with that address.
18:28 colomon bubaflub: reasonably well, I hope.  ran late because they didn't let us into the room until the start time, then couldn't get the microphone to work reasonably for me.
18:28 plobsing then attach an automatic action to the breakpoint which prints the stacktrace
18:28 plobsing and continues
18:28 bubaflub colomon: bummer.  slides online somewhere?
18:29 cotto left #parrot
18:29 atrodo nope, only test that fails is threads.t
18:29 colomon bubaflub: I more or less promised we'd get your stuff integrated in the near future.  ;)
18:29 bubaflub colomon: no pressure.
18:29 colomon bubaflub: http://www.harmonyware.com/perl/p6numerics/
18:30 benabik joined #parrot
18:31 bubaflub colomon: what's Niecza
18:32 bubaflub ?
18:32 atrodo perl6 on mono
18:32 colomon sorear's implementation of p6 on mono, yup.
18:33 bubaflub ah, cool.
18:33 colomon otherwise known as a good practical example of how handy big ints are (among other things)
18:34 bubaflub colomon: completely random, but i've thought about implementing a Rational number framework based on Continued Fractions... maybe i'll get around to do it in Rakudo
18:37 colomon bubaflub: I'd love to see it there.  Seems like it would be a lovely test case for an interestingly different Real type.
18:39 elmex left #parrot
18:49 lucian_ joined #parrot
18:52 atrodo tests work, so i'm going to try 3.5.0 and 2011.06 together
18:52 lucian left #parrot
19:10 hercynium left #parrot
19:11 cottoo left #parrot
19:13 dukeleto joined #parrot
19:13 colomon left #parrot
19:13 colomon joined #parrot
19:14 colomon left #parrot
19:14 colomon joined #parrot
19:24 soh_cah_toa left #parrot
19:31 benabik left #parrot
19:33 colomon left #parrot
19:33 benabik joined #parrot
19:38 colomon joined #parrot
19:39 atrodo 3.5.0 and 2011.06 is a no-go
19:39 atrodo plobsing: ping
19:40 whiteknight atrodo: What combination were you trying before?
19:41 atrodo whiteknight: 2011.06 and a two day old parrot
19:42 whiteknight and that had the same failure?
19:42 whiteknight and 3.5.0 had the failure
19:43 hercynium joined #parrot
19:45 elmex joined #parrot
19:46 atrodo same problem
19:46 soh_cah_toa joined #parrot
19:46 atrodo pretty sure it's been an issue on this machine for a while, just can't qualify "for a while"
19:47 atrodo ipfy wasn't producing data for any run and it ran for about 2 days
19:48 bluescreen left #parrot
19:50 whiteknight left #parrot
19:52 mj41 left #parrot
19:58 * atrodo trying 3.4.0
20:00 zby_home left #parrot
20:14 Coke left #parrot
20:14 Coke joined #parrot
20:18 plobsing atrodo: pong
20:19 atrodo plobsing: you going to be around for a while?  I may need help with the gdb stuff
20:19 plobsing atrodo: I think I have time to help you out
20:20 atrodo i'm building 2011.05 right now, so we'll see how that goes
20:27 atrodo 3.4.0 and 2011.05 works
20:27 plobsing did 3.4.0 have gengc as the default? when did we switch over?
20:28 atrodo so i have to rebuild again, so it'll be more time
20:28 atrodo plobsing: quick way to tell?
20:30 plobsing atrodo: I expected someone in the channel to know that off the top of their head (so many helpful people on #parrot most of the time)
20:31 plobsing I'm grepping for the commit that switched it over now
20:31 atrodo gms is default
20:31 atrodo in 3.4.0
20:32 plobsing yes. confirmed with gitk.
20:33 atrodo okay, goign to build 3.5.0 and i'll ping you again if it builds before i leave here
20:33 dalek parrot/soh-cah-toa/hbdb: 05418bd | soh_cah_toa++ | / (7 files):
20:33 dalek parrot/soh-cah-toa/hbdb: Organized Parrot::Test::HBDB into an OO-interface and moved testlib into t/tools/hbdb. All tests pass
20:33 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/05418bddee
20:35 perlite_ joined #parrot
20:36 bubaflub soh_cah_toa++ - looks like your tests are really great
20:37 soh_cah_toa yeah, it's getting there
20:39 perlite left #parrot
20:39 perlite_ is now known as perlite
20:41 cotto joined #parrot
20:46 soh_cah_toa cotto: https://github.com/parrot/parrot/commit/05418bddee
20:47 dukeleto left #parrot
20:47 * cotto looks
20:48 cotto soh_cah_toa, i'm excited to look closely at that after lightning talks
20:49 soh_cah_toa ok
20:50 cotto are you watching them?
20:50 soh_cah_toa yeah
20:51 cotto where at?
20:51 colomon next to me
20:52 cotto where in relation to TimToady?
20:52 atrodo not near me
20:53 cotto ;)
20:53 soh_cah_toa back of the room, second monitor from the left
20:53 cotto ok
20:54 tadzik LAIRC
20:54 cotto tadzik, ?
20:54 tadzik nothin :) Just came to my mind
20:55 cotto what does that stand for?
20:55 tadzik it's like LARP, Live-Action RPG, but for IRC
20:55 atrodo tadzik++
21:03 hercynium left #parrot
21:05 atrodo plobsing: ping, gdb ready
21:07 plobsing atrodo: ok
21:08 atrodo what's my first start.  i've started the program
21:09 plobsing you'll want to use gdb --args <command that was failing>
21:09 atrodo Right
21:09 atrodo i got in gdb and did start
21:09 plobsing and it failed, correct?
21:09 atrodo (and ran it once in gdb to make sure it still dies)
21:09 plobsing ok good
21:10 plobsing now first, we need the address of the dead object (and preferably the live object that references it)
21:10 atrodo suggestions on how to?
21:10 plobsing to get that, break on the confess function
21:10 plobsing I believe it is called Parrot_confess
21:11 plobsing and get it to print a backtrace (which gdb doesn't cut off at 32 entries)
21:11 atrodo yep, i've broken on that function
21:11 plobsing now run
21:11 atrodo okay, i'm there
21:12 plobsing 'bt' and nopaste the output
21:12 atrodo entire trace?
21:12 atrodo it's deep
21:12 plobsing please
21:12 atrodo okay, hold on
21:16 atrodo https://gist.github.com/1054323 325 stack frames
21:18 plobsing atrodo: that looks like the same nopaste we saw before
21:19 atrodo it is
21:19 atrodo https://gist.github.com/1055004
21:19 plobsing there we go
21:20 atrodo not even sure how that was still in my paste buffer
21:24 plobsing can you look at src/pmc/object.c:2690? that line doesn't look right on my up-to-date copy
21:26 atrodo hold on, my term just crashed
21:27 atrodo Parrot_gc_mark_PMC_alive(interp, obj->_class);
21:29 atrodo and i'm going to have to shutdown here in a few minutes
21:30 benabik left #parrot
21:31 plobsing ok, this is just weird. it looks like an Object PMC is in an older generation than its corresponding Class PMC. I'm pretty sure that can't happen in vanilla Parrot. I'm about 90% confident that's some Rakudo magic doing that.
21:32 atrodo that's possible
21:32 benabik joined #parrot
21:32 atrodo not sure if this would affect it, but the machine only has 512M
21:33 atrodo and a really old gcc, 3.3.3
21:33 plobsing atrodo: GC is adaptive to memory size, so yes, that will affect things
21:33 atrodo will doing the ulimit magic change it?
21:33 plobsing old gcc (while I'm surprised our code works on it) shouldn't affect much
21:34 atrodo didn't figure, but thought i'd mention it
21:34 ambs left #parrot
21:37 plobsing one of two things is happening: (1) the class object is being demoted to a younger gen (which IIRC doesn't happen) we'd need a GC expert to work on that
21:37 sorear only two things?
21:37 plobsing (2) the object's _class attribute is being mutated after object creation
21:37 sorear (3) the object is promoted but the class is somehow held behind
21:37 atrodo okay.  I'll try and catch bacek sometime, but it could be a few days
21:37 Drossel left #parrot
21:38 plobsing sorear: ok more than 2 if you allow for invariants to be broken
21:38 Kulag joined #parrot
21:38 sorear but yes, Perl 6 allows for changing an object's class post-creation
21:39 jnthn__ (object's _class attribute is being mutated) - yes, sure that happens. It's how mix-ins are done.
21:39 sorear see rebless_subclass in src/ops/perl6.ops
21:39 plobsing jnthn__: does that have a wb on it?
21:39 atrodo okay, i've got to head, so i''ll be on late tonight
21:39 jnthn__ plobsing: I'm pretty sure that code was write-barriered when all the Rakudo guts were.
21:40 sorear what does a write barrier look like?
21:40 colomon left #parrot
21:40 plobsing jnthn__: there is no wb there
21:41 sorear there are no wbs in perl6.ops
21:41 sorear at all
21:41 jnthn__ plobsing: Maybe it's missing it then.
21:41 jnthn__ plobsing: The code certainly pre-dates the need for WBs.
21:41 jnthn__ It's possible it got missed.
21:42 sorear set_llsig_elem - also no WBs
21:42 Psyche^ joined #parrot
21:42 sorear etc.
21:45 plobsing We could develop a static check for this problem if we created a macro for GCable assignment and outlawed the raw form (x = y, where types of x and y are PMC*)
21:46 colomon joined #parrot
21:47 Patterner left #parrot
21:47 Psyche^ is now known as Patterner
21:47 benabik_ joined #parrot
21:50 benabik left #parrot
21:50 benabik_ is now known as benabik
21:57 colomon left #parrot
21:57 dukeleto joined #parrot
21:59 fperrad left #parrot
22:05 dukeleto left #parrot
22:08 soh_cah_toa left #parrot
22:13 whiteknight joined #parrot
22:14 cotto left #parrot
22:14 lucian_ left #parrot
22:18 bubaflub does anyone have a good example of a distutils setup.pir lying around for me to steal from?
22:19 whiteknight I moved all mine to winxed or nqp
22:19 whiteknight rosella uses distutils from winxed. PLA uses a .nqp version
22:20 bubaflub whiteknight: yeah, i was thinking of switching to winxed.  should be less verbose and easier to use.
22:21 whiteknight winxed has a nice hash-literal syntax, which makes this kind of application much less verbose
22:23 bubaflub whiteknight: is there anything i need to get this on plumage?
22:23 whiteknight that's easy. Create your setup program with distutils. then, it creates the plumage metadata for you
22:23 whiteknight winxed setup.winxed plumage
22:23 whiteknight it will generate a ports/plumage/whatever.json file, and you give that to me
22:25 bubaflub also, i'm bummed that parrot_config has both 'gmp' and 'HAS_GMP' in it but neither hold a version number.
22:27 whiteknight :)
22:30 bubaflub whiteknight: i'm looking at parrot/runtime/parrot/library/disutils.pir but i'm confused on how to create stuff from this - just a $load_bytecode('distutils.pbc'); ?
22:33 preflex left #parrot
22:36 cotto joined #parrot
22:38 preflex joined #parrot
22:40 davidfetter joined #parrot
22:47 cotto left #parrot
22:51 bubaflub left #parrot
22:52 whiteknight yes. It's a data-driven system. You put all your data in a big hash and pass that to the setup() routine
22:52 whiteknight it's hard to navigate at first. I suggest you find an example and borrow liberally
22:55 pmichaud looks like I'm definitely going to be at FOSSCON in Philadelphia on Jul 23.
22:55 pmichaud Anyone else going to be around?  I'm staying until late on Sunday for hacking/meeting/whatever if anyone else will be around
22:56 whiteknight I wanted to  be there, but we're closing on a house that weekend so I probably won't be able to
22:56 pmichaud so far I'm arriving late on Friday, but I can arrive earlier if people prefer to get together on Friday before the conference
22:59 whiteknight what is "late" on friday?
23:00 pmichaud 8:30p
23:00 pmichaud (flight arrival time)
23:01 pmichaud so far "earlier" either means much earlier (leave here early morning, arrive noon) or $100 increased airfare
23:01 pmichaud which I can easily do if there's a reason to do so :)
23:02 whiteknight I work that day, so I won't be able to do any entertaining until afternoon
23:03 dalek rakudo/nom: 53b20a8 | jonathan++ | src/ (2 files):
23:03 dalek rakudo/nom: Add a way to flag blocks that need fresh magicals, rather than looking to steal them from outer.
23:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/53b20a8264
23:03 dalek rakudo/nom: ad94941 | jonathan++ | src/ (2 files):
23:03 dalek rakudo/nom: Get enough in place to have on-demand creation of $_, $! and $/ in routines. Stub in outer finding of them for other blocks, but that's NYI.
23:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ad9494127a
23:15 cotto joined #parrot
23:15 cotto benabik, ping
23:18 benabik_ joined #parrot
23:19 whiteknight Coke ping
23:19 whiteknight seen rohit_nsit08
23:19 whiteknight seen rohit_nsit08?
23:19 whiteknight seen aloha?
23:22 benabik_ aloha: seen rohit_nsit08
23:22 benabik_ aloha--
23:23 bacek_at_work ~~
23:23 aloha left #parrot
23:23 whiteknight bacek_at_work!
23:24 bacek_at_work whiteknight, aloha
23:24 aloha joined #parrot
23:24 benabik_ bacek_at_work: \o/
23:24 whiteknight hello bacek_at_work, how are you doing today?
23:24 bacek_at_work benabik, hi
23:24 whiteknight I haven't seen you a lot recentl
23:24 bacek_at_work whiteknight, quite busy with $work and rl
23:24 benabik_ bacek_at_work: I raise a glass in your general direction.
23:24 whiteknight bacek_at_work: yeah, I know what you mean. That is the important stuff
23:24 bacek_at_work sorear, we do need WB in rebless_subclass op. On C<value> which was bit-busted by memmove.
23:25 bacek_at_work sorear, somewhere on line 156.
23:25 bacek_at_work whiteknight, indeed.
23:25 bacek_at_work benabik_, how is going with GSoC?
23:26 benabik_ bacek_at_work: Slowly at the moment. YAPC is distracting. :-D
23:26 bacek_at_work benabik_, fair enough :)
23:26 benabik_ bacek_at_work: Should have a blog post tomorrow about my next steps.
23:26 benabik_ (hackathon tomorrow)
23:26 bacek_at_work benabik_, ok.
23:26 whiteknight aloha seen rohit_nsit08?
23:26 aloha whiteknight: rohit_nsit08 was last seen in #parrot 2 days 20 hours ago joining the channel.
23:28 dmalcolm left #parrot
23:30 bacek_at_work atrodo, sorear, see http://nopaste.snit.ch/56222
23:30 sorear bacek_at_work: I think you want jnthn.  I don't even have a Rakudo commitbit.
23:31 bacek_at_work sorear, ok.
23:31 bacek_at_work msg jnthn__ http://nopaste.snit.ch/56222
23:31 aloha OK. I'll deliver the message.
23:32 bubaflub joined #parrot
23:32 dalek parrot/whiteknight/packfilewrapper: b16bd24 | Whiteknight++ | src/pmc/packfileview.pmc:
23:32 dalek parrot/whiteknight/packfilewrapper: Add writebarrier to PackfileView
23:32 dalek parrot/whiteknight/packfilewrapper: review: https://github.com/parrot/parrot/commit/b16bd24177
23:40 bluescreen joined #parrot
23:52 bubaflub left #parrot
23:59 whiteknight I'm working on a commit right now that I've been wanting to do for a LONG time

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced