Camelia, the Perl 6 bug

IRC log for #parrot, 2009-08-20

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:18 dalek parrot: r40668 | whiteknight++ | branches/context_pmc2/src (3 files):
00:18 dalek parrot: [context_pmc2] fix some order-of-initialization issues in creating the first context. running into a segfault now whwere it appears a context is being freed prematurely
00:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40668/
00:18 Whiteknight bacek: ping
00:19 theory joined #parrot
00:19 theory joined #parrot
00:19 bacek_at_work Whiteknight: short pog
00:19 bacek_at_work pong
00:20 Whiteknight bacek: I fixed that order-of-initialization thing in r40668
00:20 Whiteknight segfaults in the runloop, looks like a context is getting collected somewhere
00:20 Whiteknight some of the pointers are 0xdeadbeef, and I dont know where they are getting set like that
00:22 Whiteknight so we're making progress, slowly
00:22 bacek_at_work Whiteknight: "slowly"? I'll finish it today!
00:22 Whiteknight you're some kind of magical robot
00:23 Whiteknight I've got a whole bag of karma here for you if you can
00:23 Coke sure, lisa. some wonderful, MAGICAL robot.
00:24 bacek_at_work Can I convert karma to beer?
00:26 Whiteknight you ever make it to USA-PA, I'll do the conversion :)
00:28 * Coke still needs to make it to Sofia one of these years for a pub crawl.
00:32 patspam joined #parrot
00:34 chromatic Coke, did that PGE patch make a difference for you?
00:34 Coke let me try with a simple 'make test' instead of a full test. moment.
00:37 kid51 joined #parrot
00:41 jonathan .oO( that probably isn't Sofia in Bulgaria, but if it is, I'm joining! )
00:50 Whiteknight irclogs?
00:50 purl irclogs is http://irclog.perlgeek.de/parrot/today or see also: infrared clogs
00:51 Coke chromatic: doesn't seem to have helped at all.
00:51 Coke version I had lying about: 2m43 - updated version with your patch: 3m16s
00:51 nathanmccauley joined #parrot
00:52 * jonathan -> sleep
00:55 bacek_at_work ... no suitable candidate found for MMD ($jonathan, $sleep)
00:55 ash_ joined #parrot
00:56 chromatic I wouldn't know; I can't run Partcl or Rakudo against an installed Parrot.  I keep getting "Direct creation of Iterator" errors.
00:57 chromatic ... so maybe I'll uninstall Parrot and reinstall it.
00:58 slavorg joined #parrot
01:04 Coke jonathan: yes, I had an offshore team working with me a few years ago out there.
01:04 Coke great guys.
01:09 davidfetter did you figure out how to bound time? i've worked with offshore teams many times, and the issue we always ran into was latency
01:09 davidfetter i.e. something that could have been dealt with locally in minutes never took less than a day
01:09 davidfetter send the message (it's 3am there), wait 'til they wake up, get the message, do something about it...and by then it's 3am here
01:37 dalek rakudo: 929a700 | (Kyle Hasselbacher)++ | docs/announce/2009-08:
01:37 dalek rakudo: announce/2009-08: passing 82% of spectests
01:37 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​29a7005721bc8ec2dd258814641fd4609f8c38e
01:40 chromatic 82%?
01:40 purl well, 82% is extra dark? Wimps! Lindt 99% all the way! :)
01:41 chromatic 82% seems high.
01:46 chromatic ... unless 2380 spectests went missing.
01:47 chromatic 71% I can believe.
01:53 Coke davidfetter: you don't rely on offshore for stuff like that, IMO.
01:54 Coke they were awesome for things that were going to take a few days; you had to have work queued up.
01:54 * davidfetter has this dark suspicion that the entire offshoring thing is a scheme for stealing some big chunk of several first-world salaries by people with corner offices
01:54 * Coke supposes that watching the episode of buffy called _the body_ was probably not a good choice for light entertainment.
02:01 dalek rakudo: 7685eb3 | pmichaud++ | docs/spectest-progress.csv:
02:01 dalek rakudo: spectest-progress.csv update: 430 files, 12339 passing, 0 failing
02:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​685eb30e9341157b0b1378a99ef59d4b875fc0e
02:01 dalek rakudo: 8d8ffc7 | pmichaud++ | :
02:01 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
02:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​d8ffc71ebe9829af1eb7f97e1097815836666d5
02:08 mokurai joined #parrot
02:22 Coke is there a string equivalent to Parrot_run_meth_fromc_args_reti ?
02:23 allison String equivalent how?
02:23 allison string return?
02:23 allison no
02:23 ruoso joined #parrot
02:23 theory joined #parrot
02:24 Coke how does one get a string ret, then. (STRING *) Parrot_run_meth_from_c_args ?
02:24 allison yup
02:24 Coke k.
02:24 allison (pretty evil, that's why it's going away)
02:27 Coke (I only need it because I can't replace all my PMCs with pir objects due to issues there, so I have to override some methods by hand.)
02:36 janus joined #parrot
02:37 dalek rakudo: 82ef264 | pmichaud++ | docs/announce/2009-08:
02:37 dalek rakudo: More 2009-08 announcements.
02:37 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​2ef264a1018f09391b086d3ec73fcb69d88a5c9
02:42 dalek rakudo: 3d5359d | pmichaud++ | docs/ (2 files):
02:42 dalek rakudo: More text updates in preparation for release.
02:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​d5359dda772cf9db538a682942a22f3475e1b6b
02:48 dalek rakudo: c88002f | (Kyle Hasselbacher)++ | docs/announce/2009-08:
02:48 dalek rakudo: announce text edits
02:48 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​88002f671d0a51259b867178ecd2bbc23ec4390
02:48 dalek rakudo: bffd1ca | (Kyle Hasselbacher)++ | :
02:48 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
02:48 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​ffd1cae7d8fb647d5e7bb275df3c25011b4dfa5
02:52 * Coke tries to talk himself out of writing .EQ, .AND, and .OR hllmacros.
03:06 nopaste "coke" at 72.228.52.192 pasted "Rewrite C into PIR..." (21 lines) at http://nopaste.snit.ch/17608
03:07 Coke can someone double check my conversion there?
03:08 cotto Coke, sure
03:08 * cotto looks into copy opcode
03:09 Coke getting segfaults... ah, might be because I need to start looking up TclFloat at runtime.
03:10 Coke (hurm, nope.)
03:11 Coke oh, whee, segfault in Parrot_mmd_sort_candidates
03:12 cotto It looks like it'd work, but there could be nuances I'm missing.
03:12 Coke ok. next, can you see where that C method could segfault? =-)
03:12 Coke I'm running with --optimize, so I don't have the line #.
03:13 Coke I'll rebuild...
03:17 Coke segfault is in src/multidispatch:941
03:18 Coke type_call is 1431655765
03:18 dalek rakudo: 42d8ebd | pmichaud++ | README:
03:18 dalek rakudo: Some README refactorings.
03:18 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​2d8ebdd97490c5c95ae2dae24366235feeb80d4
03:18 dalek rakudo: 0e5e157 | pmichaud++ | :
03:18 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
03:18 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​e5e157921525d33e2e9c498508a66ec3ca5d959
03:24 dalek rakudo: fd8fc8a | pmichaud++ | docs/announce/2009-08:
03:24 dalek rakudo: More announcement bikesh^H^H^H^H^H^Hupdates.
03:24 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​d8fc8a8e4ea0db44928b0da0bbf0a9bd0adb745
03:52 TimToady joined #parrot
04:10 MikHel joined #parrot
04:29 nathanmccauley joined #parrot
04:32 beta poor leno
04:46 pmichaud Looks like Rakudo no longer builds against Parrot trunk.  :-|   Probably to be expected with the recent branch merges.
04:53 cotto purl, bacek?
04:53 purl bacek is THE MANIAC
04:53 cotto bacek is also some sort of magical coding robot
04:54 purl okay, cotto.
05:03 mokurai joined #parrot
05:14 Coke pmichaud: how many tests to get to 70%? =-)
05:17 Coke only 4 tests! so close. =-)
05:17 theory joined #parrot
05:38 cotto yay for no conflicts!
05:41 dalek parrot: r40669 | cotto++ | branches/pluggable_runcore (142 files):
05:41 dalek parrot: update from trunk after Tuesday's mergefest
05:41 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40669/
05:45 bacek_at_work cotto: bah!
05:47 NotFound pmichaud: it build, but fails to run anything
05:56 solarion joined #parrot
06:05 mokurai left #parrot
06:09 HG` joined #parrot
06:14 uniejo joined #parrot
06:15 bacek_at_work pmichaud: looks like my fault (as usual). I'll check it tonight.
06:28 cognominal joined #parrot
06:42 dalek rakudo: 48f6de1 | moritz++ | README:
06:42 dalek rakudo: remove trailing ws in README
06:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​8f6de1a5711827dd079f81286e485b9985567cf
06:50 bacek_at_work joined #parrot
06:53 ttbot joined #parrot
07:09 barney joined #parrot
07:42 cotto chromatic, I haven't tested it exhaustively, but CONTEXT(interp) seems to be a pretty good unique identifier for the current Sub.
07:44 cotto I haven't found anything to disprove a 1-1 mapping between Subs and Contexts.
07:52 dduncan joined #parrot
07:53 chromatic We also shouldn't recycle a context while we could return to that particular Sub invocation.
07:54 cotto That's a lot of contexts sitting around looking bored.
07:56 chromatic It's a call graph.  It's what it does.
08:00 cotto That'll come in real handy.
08:01 chromatic I had a feeling you'd see it my way!
08:02 dduncan also posted in #perl6 - dduncan pasted "Rakudo build problem - no HLLCompiler" at http://paste.lisp.org/display/85717
08:03 pmichaud dduncan: was Parrot installed via "make install-dev"?
08:03 dduncan any idea why this is happening or how to get Rakudo to build?
08:03 dduncan no, make install
08:03 pmichaud Need "make install-dev".
08:03 pmichaud We should've put a check for that into Configure.pl.  Oops.
08:03 dduncan or the README
08:03 purl You didn't read the README?  One side makes your brain larger.
08:03 pmichaud it's in the README.
08:04 pmichaud line 64.
08:09 dduncan I see it now, in Rakudo's README, in the section mentioning --parrot-config, which I did use ... but Parrot's README makes no mention of install-dev, and it should, considering people who go and install Parrot first without looking at Rakudo
08:10 dduncan I will try re-installing Parrot using make install-dev now
08:16 pmichaud very interesting that "make install" doesn't install the pct components, though.  That's bad.
08:16 mikehh All test PASS (pre/post-config, smoke, nqp_test, fulltest) at r40669 - Ubuntu 9.04 amd64 (g++)
08:16 dalek parrot: r40670 | moritz++ | trunk/README:
08:16 dalek parrot: [README] mention install-dev
08:16 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40670/
08:16 pmichaud compilers  (even precompiled ones) cannot run without them.
08:17 * pmichaud decides to file a ticket.
08:17 mikehh rakudo (48f6de1) builds on parrot r40669 but test.pir segfaults
08:18 pmichaud mikehh: yes, I noticed that as well.  I think one or more of the branch merges has caused rakudo failures.
08:19 MoC joined #parrot
08:19 dduncan okay, using Parrot's "make install-dev" appears to have fixed my reported problem with Rakudo make
08:22 mikehh pmichaud: it also builds but test.pir segfaults on Ubuntu 9.04 i386
08:22 mikehh that's with the latest parrot
08:22 pmichaud mikehh: yes, I had the same results on my system.
08:23 pmichaud we might need to bisect to find the problem commit
08:23 moritz maybe I can do that later today
08:23 pmichaud we know that 40625 works
08:23 mikehh it seemed ok with the release version
08:23 pmichaud (40625 was the release revision)
08:24 ttbot Parrot trunk/ r40670 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/74376.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
08:30 dalek TT #936 created by pmichaud++: "make install" doesn't install PCT
08:32 mikehh I am getting a backtrace from t/tools/parrot_debugger.t on amd64 but not on i386 - although the test claims to PASS on both
08:33 moritz bisect running, 5 revisions left to check
08:34 bacek_at_work 3997959c1b2e8c893bee3692ca68e97f205eaf20 is first bad commit
08:34 bacek_at_work commit 3997959c1b2e8c893bee3692ca68e97f205eaf20
08:34 bacek_at_work Author: bacek <bacek@d31e2699-5ff4-0310-a27c-f18f2fbe73fe>
08:34 bacek_at_work I'll check it tonight.
08:35 moritz bacek_at_work: please translate that into a parrot revision number :)
08:36 moritz s/parrot/svn/
08:36 bacek_at_work https://svn.parrot.org/parrot/trunk@40643
08:36 moritz thanks
08:36 dduncan good night
08:36 dduncan left #parrot
08:39 mikehh bacek:at:work: we would need to check rakudo's test.pir against that
08:42 bacek_at_work indeed. But I'm still @work
08:43 moritz no hurry; it won't kill rakudo not to use bleading edge parrot for a few hours
08:46 chromatic Nothing jumps out at me from the diff.
08:48 pmichaud the @40643 url gives me 404 not found :-|
08:50 mikehh https://trac.parrot.org/parrot/changeset/40643
08:51 moritz pmichaud: that was an URI that looked like an URL :-)
08:51 moritz and what git-svn uses for revisions
08:52 pmichaud changing the structure of the Sub PMC would seem to break any custom PMCs that depend on it.  :-|
08:54 chromatic Nothing in Rakudo I can see touches it directly.
08:58 pmichaud not even Perl6MultiSub ?
08:58 pmichaud or P6Invocation ?
08:58 pmichaud hmmmm.
08:58 pmichaud (you may be right -- I haven't looked)
08:59 chromatic I'm sure about MultiSub.  I gave it a good skim.  I'm checking P6Invocation now.
09:00 chromatic By the way, 26%.85 of the time spent executing "Hello, world!" in Rakudo PDX is in isa_pmc from the Class PMC.
09:00 cotto joined #parrot
09:01 dukeleto interesting
09:02 chromatic P6Invocation looks clean too.
09:03 TiMBuS joined #parrot
09:05 pmichaud chromatic: I have a fix for isa_pmc
09:05 pmichaud I implemented it in June but we ran into a Rakudo problem with it.  I think that's now fixed, so I'll try my patch again (when I'm awake enough to do it)
09:05 pmichaud the isa_pmc fix I have gives us a 11% speedup in Rakudo spectests
09:05 chromatic I remember; I'd like to see it.
09:08 pmichaud looks like my patch is spread over several incomplete files
09:08 pmichaud (ugh.)
09:09 pmichaud but the core feature of the patch is deleting lines 1283-1297 from src/pmc/class.pmc  (line numbers are in current trunk)
09:10 pmichaud in order for that to work, we have to fix up PMCProxy a bit more -- the current code in oo.c creates a few PMCProxy objects even when it shouldn't.
09:10 pmichaud (or at least it did when I last tried the deletion from class.pmc)
09:11 * bacek_at_work decommute to home to
09:11 chromatic Hm, I just sped up "Hello, world!" in Rakudo by 9.744%.
09:11 pmichaud :-)
09:11 pmichaud by deleting those lines?  Or with some other magic?
09:12 chromatic A magic line in HashIterator's shift_string.
09:12 pmichaud ah
09:12 pmichaud excellent. :-)
09:12 chromatic ONE magic line.
09:12 * dukeleto likes magic lines
09:12 moritz chromatic: you should insert more magic lines :-)
09:13 moritz eleven of them and rakudo runs in negative time - or so :-)
09:13 chromatic Don't do math like that with dukeleto around.  He's the Doctorate of Division by Zero Fallacies.
09:13 pmichaud "Q: Will Perl 6 be faster than Perl 5?"   "A:  Yes.  We just need ten more magic lines from chromatic."
09:14 moritz chromatic: Chuck Norris can divide by zero!
09:14 dukeleto moritz++
09:14 pmichaud chromatic: are you building rakudo from trunk for these changes, or ... ?
09:14 chromatic Trunk Rakudo, Parrot ~1.5.0.
09:15 pmichaud okay, but not from Parrot head ?
09:15 pmichaud or do you magically have Parrot HEAD working as well?  ;-)
09:16 chromatic I rewound to before the big branch merge stampede.
09:16 pmichaud okay.
09:16 pmichaud I might have to do the same.  But Rakudo still won't be able to see benefit until we can get past the merge stampede.
09:16 pmichaud (at least not for the general developing community :-)
09:17 nopaste "chromatic" at 72.87.39.97 pasted "Magic Parrot Optimization for Rakudo" (17 lines) at http://nopaste.snit.ch/17609
09:17 chromatic That should apply cleanly almost anywhere in the past couple of weeks.
09:18 moritz well, that looks like TWO lines to me :-)
09:18 dalek parrot: r40671 | dukeleto++ | trunk/t/op/arithmetics.t:
09:18 dalek parrot: [TT #370] Add test case by pmichaud++ exhibiting the floor(NaN) bug
09:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40671/
09:22 pmichaud ugh, 04:20 here.  I should get some sleep.
09:22 pmichaud back in a few hours.
09:23 szbalint I was wondering whether you're up early or late, apparently the latter :)
09:24 ttbot Parrot trunk/ r40671 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/74439.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
09:31 dalek parrot: r40672 | chromatic++ | trunk/src/pmc/hashiterator.pmc:
09:31 dalek parrot: [PMC] Added manual recycling of the HashIteratorKey PMC retrieved from
09:31 dalek parrot: shift_pmc() in HashIterator's shift_string() VTABLE entry.  It's an unnecessary
09:32 dalek parrot: wrapper used to retrieve a stored value.  Recycling it to the free list
09:32 dalek parrot: preserves encapsulation and removes code duplication.
09:32 dalek parrot: Why does this matter?  Rakudo iterates over many, many hashes.  This patch
09:32 dalek parrot: improves the Rakudo "Hello, world!" benchmark by 9.744%.
09:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40672/
09:36 ttbot Parrot trunk/ r40672 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/74482.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
09:42 bacek joined #parrot
09:59 bacek o hai
10:02 Whiteknight joined #parrot
10:03 Whiteknight messages?
10:03 purl To access purl's messages, msg me with the word "messages".
10:17 beta *yawn*
10:17 beta good morning
10:17 purl Here I am, brain the size of a planet, and all they say is 'Good Morning'
10:18 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40672 - Ubuntu 9.04 amd64 (gcc)
10:18 beta first day of school :-/
10:18 beta c ya
10:36 TiMBuS anyone else getting a segfault with rakudo head?
10:38 TiMBuS 0x00007f86e246ca6a in clone_key_arg (interp=0x1f1f080, st=0x7fffeab1b710)
10:38 TiMBuS at src/call/pcc.c:1196
10:38 TiMBuS 1196    if (key->vtable->base_type != enum_class_Key)
10:38 moritz TiMBuS: only on parrot head
10:38 TiMBuS oh
10:38 moritz that's know
10:38 moritz it should work with the 1.5 release of parrot
10:38 TiMBuS does rakudo only build against parrot releases now?
10:40 moritz it should always build against the revision in build/PARROT_REVISION
10:41 moritz but we try to keep it building against newer parrots
10:42 bacek TiMBuS: it is not. But currently parrot is slightly broken.
10:44 TiMBuS fair enough then, ill just roll parrot back then
11:06 mikehh At the moment parrot is PASSing all its tests - We seriously need test for parrot that wiull catch anything that will break rakudo (and other HLL's of course)
11:06 mikehh will
11:07 mikehh and tests
11:07 dalek parrot: r40673 | NotFound++ | trunk (4 files):
11:07 dalek parrot: [core] initialize vtables for core PMC at an earlier stage
11:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40673/
11:10 kid51 joined #parrot
11:12 ttbot Parrot trunk/ r40673 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/74556.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
11:37 bacek Bah! ATTRibutes considered harmful... At least misleading...
11:38 dalek parrot: r40674 | bacek++ | trunk/src/pmc/sub.pmc:
11:38 dalek parrot: Change usage of Sub PMC ATTRibutes.
11:38 purl dalek: that doesn't look right
11:38 dalek parrot: Apparently PARROT_SUB macro (and other generated macros) shoudln't be
11:38 dalek parrot: used directly for any "subclasseable" PMC. This commit partially unbroke
11:38 dalek parrot: Rakudo.
11:38 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40674/
11:44 ttbot Parrot trunk/ r40674 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/74617.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
11:47 ruoso joined #parrot
11:47 bacek ttbot: I KNOW!
11:54 mikehh bacek: I am now getting Null PMC access in get_pmc_keyed() in rakudo make test
11:55 mikehh at least it has got past the segfault
11:55 bacek "partially unbroke Rakudo"
11:55 mikehh :-}
11:58 quek joined #parrot
11:58 mikehh we still have to figure out some tests for this type of break as all parrot tests PASS
11:59 moritz it's the same as with the Perl 6 test suite - real world applications catch other bugs than test suites
11:59 mikehh yeah - but when you do you need to add to the test suite
12:00 mikehh perl6 seems much better at adding tests
12:00 NotFound I'm fine with real world usages catching more bugs, but is bad that they catch segfaults.
12:01 bacek we have to clone moritz for handling parrot's testsuite
12:01 moritz and KyleHa
12:01 bacek and masak for real world applications
12:01 NotFound We must clone the real world.
12:02 quek left #parrot
12:06 mikehh Oh and all tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40674 - Ubuntu 9.04 amd64 (gcc)
12:06 bacek There is no spoon^W real world. It's all in my head.
12:08 mikehh he - bacej is on form today
12:08 mikehh bacek
12:09 * bacek fighting with imaginary voices in his head
12:09 mikehh I think it time to take a break for a bit - I am hitting the wrong keys again
12:10 * moritz recommends hitting the tab key more often
12:10 mikehh definately in form
12:11 NotFound bacek: then clone your head and you get the world cloned as side effect.
12:12 bacek NotFound: side effects considered harmful!
12:12 NotFound Better said, inside effect ;)
12:48 bacek_ joined #parrot
12:49 nopaste "bacek" at 114.73.60.177 pasted "WTF???" (15 lines) at http://nopaste.snit.ch/17612
12:49 bacek_ Rakudo failing on exactly this assert. WHY???
12:52 NotFound bacek_: some inconsistency with the ATTR usage, probably,
12:52 bacek_ how it's can be?...
12:53 NotFound I'll take a look
12:54 bacek_ NotFound: is GETATTR_foo eligible in METHODs?
12:55 NotFound bacek_: not sure, but for attrs overridable from pir you should use GET_ATTR
12:55 bacek_ NotFound: what the difference?
12:55 purl it has been said that the difference is irrelevant at the stage where language acquisition is not a conscious decision.
12:56 bkuhn joined #parrot
12:56 NotFound GET_ATTR uses attributes from the object when used from a pmcproxy,
12:57 NotFound The attrs handling is the root case of most inheritance problems.
12:58 bacek_ indeed... We have to clean-up ATTRs handling design...
12:58 NotFound bacek_: You get that assertion failure before the null pmc access?
12:58 bacek_ no.
12:58 bacek_ I just added it to trace rakudo's failure.
13:05 bacek_ NotFound: GET_ATTR still gives different result...
13:07 masak joined #parrot
13:07 Psyche^ joined #parrot
13:12 bacek_ ok. I give up.
13:13 bacek_ NotFound: It you'll have time can you check r40675? I've marked get_namespace with XXX...
13:14 bacek_ Good night.
13:14 NotFound bacek_: I'll take a look now
13:14 dalek parrot: r40675 | bacek++ | trunk/src/pmc/sub.pmc:
13:14 dalek parrot: [pmc] Change usage of GETATTR to GET_ATTR in Sub PMC.
13:14 dalek parrot: This patch unbroke Rakudo. But I don't quite understand why...
13:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40675/
13:14 bacek_ Ah. Ok. I can delay my $bedtime
13:15 NotFound bacek_: I don't think it will be short, better repair yourself ;)
13:15 bacek_ Ok :)
13:16 bacek_ Good night again
13:19 ttbot Parrot trunk/ r40675 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/74678.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
13:21 Coke (parrot segfaults) I have dozens of files that segfault in tcl. go to town. =-)
13:27 NotFound rakudo pass tests with trunk :) bacek++
13:27 Coke (chromatic's patch) hurm. one of my tests actually runs out of memory faster now.
13:28 TiMBuS is rakudo still leaky as a sieve? i was getting ready to make an irc bot in perl6, but it occured to me that this might be a bad idea.
13:30 moritz TiMBuS: it's still a good idea to write it, and complain loudly about leaks on #perl6, in bug trackers, on blogs etc.
13:30 TiMBuS is there any way to track these leaks?
13:31 moritz no idea
13:32 TiMBuS hrm
13:41 dalek TT #937 created by coke++: Testing new ticket creation.
13:48 bacek_ joined #parrot
13:48 bacek_ hi. me again
13:49 bacek_ Coke: can you give couple of most annoying segfaults? I'll try to fix them.
13:50 NotFound bacek_: rakudo pass all tests and most of spectest :)
13:51 bacek_ NotFound: that's good... I just don't like word "most". And I don't like my code in Sub.get_namespace...
13:53 NotFound bacek_: now that we know the root of the problem we can clean it
13:54 Coke bacek_: ok. first, grab latest parrot and partcl.
13:54 Coke then see: http://code.google.com/p/partcl/wiki/TestingPartcl
13:54 bacek_ NotFound: fsvo of "know". I know symptoms...
13:54 Coke then grep through http://code.google.com/p/p​artcl/wiki/SpecTestStatus for "segfault"
13:55 bacek_ Coke: Step 3 - profit!
13:55 Coke to run a test listed in that page that has a segfault, e.g. "parseExpr", you can run it manually as:
13:55 Coke ./tclsh t_tcl/parseExpr.test
13:55 Coke the regexp deaths are probably due to a PGE issue, so I'd avoid those for now.
13:56 bacek_ Is "execute @SKIP - segfault after execute-7.9" good candidate to start with?
13:57 ash_ joined #parrot
13:57 Coke probably. double checking that it still segfs...
13:57 dalek partcl: r604 | coke++ | wiki/SpecTestStatus.wiki:
13:57 dalek partcl: Fix failure mode.
13:57 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=604
13:59 Coke yup.
13:59 Coke bacek++
14:00 bacek_ it's... slow
14:01 Coke welcome to hell!
14:01 Coke hopefully after we get a profiler we can figure out /why/ =-)
14:03 szbalint chromatic and cotto is working on the profiler right?
14:03 szbalint is it in a branch yet?
14:05 Coke yes.
14:05 szbalint is that the pluggable runcore one?
14:06 Coke yes.
14:06 Coke run with -Rprofiling
14:06 Coke you get a bunch of output that you can then (for now) hand parse (in parrot.pprof)
14:06 szbalint yay
14:06 Coke note that this output is PIR only.
14:07 Coke ;(but it has a lot of information than old opcode only profiler.)
14:07 szbalint yeah, the old opcode profiler didn't tell me much
14:15 Coke bacek_: have you fixed my segfault yet? =-)
14:24 Coke bacek_: ooh, much shorter file for that one that segfaults. moment.
14:24 hercynium joined #parrot
14:25 Coke this tcl code: expr {((wide(1)<<60)-1) % 0x400000000
14:25 Coke is in the failing test that segfaults - if you run it by itself in a file or from the command line, it's fine; do so from the interactive tclsh, boom.
14:25 Coke so:
14:26 Coke $ ./tclsh
14:26 Coke % expr {((wide(1)<<60)-1) % 0x400000000}
14:26 Coke int modulus by zero
14:26 Coke Segmentation fault (core dumped)
14:26 Coke at src/call/pcc.c:1196
14:27 Coke looks like key's vtable is missing.
14:28 bacek_ Coke: it's actually some garbage in PCC handling...
14:29 bacek_ I don't know much about pcc...
14:31 Psyche^ joined #parrot
14:32 davidfetter joined #parrot
14:33 Coke bacek_: I think I've hacked around the error now. (parrot still shouldn't be segfaulting there.)
14:35 rdice joined #parrot
14:37 Coke bacek++
14:38 Coke hurm. if I want speed, opcodes are better than PMCs, neh?
14:39 Coke (written in C, avoid calling conventions...)
14:39 pmichaud good morning, #parrot
14:39 szbalint slept well?
14:39 Coke bacek_: execute.test:   Total   144     Passed  27      Skipped 78      Failed  39
14:40 Coke whee.
14:40 Coke ++ to whoever changed the "can't find file" error message.
14:51 Coke bacek_: parseExpr.test is still segfaulting.
14:53 mikehh_ joined #parrot
14:54 payload joined #parrot
14:54 uniejo joined #parrot
15:02 whiteknight joined #parrot
15:06 mikehh bacek: rakudo make test now passes, trying make spectest
15:11 cotto joined #parrot
15:13 dalek rakudo: e0820fa | pmichaud++ | build/Makefile.in:
15:13 dalek rakudo: Patch to allow Windows to link with ICU.
15:14 dalek rakudo: Patch courtesy Fran�ois Perrad <francois.perrad@gadz.org>.
15:14 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​0820fa5d6c38dc79dfd7e6005b5588916a80207
15:15 dalek parrot: r40676 | fperrad++ | trunk/compilers/pirc/src/bcgen.c:
15:15 dalek parrot: [pirc] s/Parrot_sub/Parrot_Sub_attributes/
15:15 dalek parrot: see r40665
15:15 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40676/
15:18 ttbot Parrot trunk/ r40676 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/74743.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
15:21 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40675 - Ubuntu 9.04 amd64 (g++)
15:21 theory joined #parrot
15:21 pmichaud I get spectest failures with current parrot trunk.... nopasting
15:22 nopaste "pmichaud" at 72.181.176.220 pasted "Rakudo spectest failures with current Parrot HEAD" (16 lines) at http://nopaste.snit.ch/17613
15:23 moritz (extensive tests)++
15:23 mikehh rakudo (48f6de1) builds on parrot r40675 - make test PASS, make spectest 3 test fail - Ubuntu 9.04 amd64 (g++)
15:23 jonathan pmichaud: On those tests, do some of them pass but give non-zero exit status?
15:24 pmichaud the S12-attributes and S14-roles tests do, yes.
15:24 pmichaud those are known failures
15:24 jonathan pmichaud: Of note, t/spec/S12-attributes/class.rakudo and t/spec/S14-roles/basic.rakudo have been for me.
15:24 moritz the two usual suspects
15:24 jonathan OK
15:24 jonathan So the interesting ones are the other three.
15:24 pmichaud Correct.
15:24 jonathan This one makes me unhappy: t/spec/S06-advanced_subroutine_features/wrap.rakudo
15:25 jonathan Any chance you an nopaste the output of running it?
15:25 jonathan I'd be curious to see t/spec/S29-context/eval.rakudo too
15:25 nopaste "pmichaud" at 72.181.176.220 pasted "output from wrap.t test" (12 lines) at http://nopaste.snit.ch/17614
15:25 jonathan I can sort of see how these might be related.
15:25 mikehh those passed for me the other 3 failed
15:26 jonathan In that they both use set_outer
15:26 moritz mikehh: depending on the harness non-zero exit status might or might not be a failure
15:27 nopaste "pmichaud" at 72.181.176.220 pasted "output from eval.t test" (32 lines) at http://nopaste.snit.ch/17615
15:28 pmichaud it does look like a set_outer issue
15:28 mikehh IIRC when I ran those test a while back using ./perrl6 they sometimes passed, sometimes failed
15:28 jonathan Yeah.
15:28 jonathan I wonder if that's been changed of late, or just hit by other changes.
15:29 pmichaud the entire Sub PMC structure was changed
15:30 jonathan Ah.
15:33 pmichaud /* If we've got a context around for the outer sub, set it as the
15:33 pmichaud * outer context. */
15:33 pmichaud if (CONTEXT(interp)->caller_ct​x->caller_ctx->current_sub == outer)
15:33 pmichaud sub->outer_ctx = Parrot_context_ref(interp, CONTEXT(interp)->caller_ctx->caller_ctx);
15:33 pmichaud else if (CONTEXT(interp)->caller_ctx->current_sub == outer)
15:33 pmichaud sub->outer_ctx = Parrot_context_ref(interp, CONTEXT(interp)->caller_ctx);
15:33 pmichaud .... why are there two of these here?
15:35 jonathan "two of these"?
15:36 * jonathan doesn't follow
15:36 pmichaud why check both caller_ctx and caller_ctx->caller_ctx
15:36 pmichaud ?
15:37 pmichaud is that supposed to handle the case where some intermediate routine is handling set_outer on behalf of a caller?
15:37 jonathan Ah, yes.
15:37 jonathan That'd be it.
15:37 pmichaud that's.... icky.
15:37 pmichaud (to special case things that way)
15:37 jonathan Aye.
15:37 pmichaud what if we have two or three intermediate routines...?
15:37 jonathan Erm, we're screwed?
15:37 jonathan ;-)
15:37 pmichaud :-)
15:38 pmichaud I guess we could either chase up the caller stack, or we could figure out something else worthwhile to do
15:38 jonathan I guess we can generalize it, but I was reluctant to go chasing too far down.
15:38 pmichaud yeah
15:38 pmichaud anyway, I don't think that's the source of the problem here.
15:38 pmichaud other than that, set_outer looks pretty normalish to me
15:40 jonathan Do you have any ideas for "something else worthwhile" off hand?
15:40 jonathan I agree that this probably isn't quite where the problem lies though.
15:40 pmichaud well, it's obviously a lexicals issue of some sort.
15:40 jonathan And it doesn't explain the my.t failure, afaict.
15:40 pmichaud oh, I hadn't looked at that yet.  Just a sec
15:41 pmichaud my.t is the same error as eval.t
15:41 pmichaud in fact, it looks like it might be the same test :-)
15:42 nopaste "pmichaud" at 72.181.176.220 pasted "output from my.t test" (81 lines) at http://nopaste.snit.ch/17616
15:42 pmichaud test #48
15:43 jonathan oh, ok
15:43 jonathan Yeah, you're right.
15:43 pmichaud so it's still a lexicals issue of some sort.
15:44 rjbs joined #parrot
15:45 jonathan Eww.
15:45 rjbs Hi!  I was wondering whether it's on the agenda to get trusted-root-signed cert for Parrot svn.
15:46 rjbs I saw that recent Rakudo is installable, so I'm having a quick go at compiling it and the "trust this cert?" reminded me that I'd seen that error before.
15:46 rjbs Or here's an alternate take: does it answer over non-SSL http?  I wonder if --gen-parrot in rakudo's build could use that.
15:47 moritz there's an easy way to find out.
15:47 pmichaud afaik it doesn't answer over non-SSL http
15:47 pmichaud which is why Rakudo uses the https:
15:47 moritz it redirects to https://
15:48 pmichaud as far as plans to get a better cert... I haven't heard of any.  Might be worth filing a ticket or a message to parrot-dev
15:48 pmichaud it'd be a good idea, for exactly the reasons you cite
15:49 rjbs Ok.  Well, I just popped in to say, "that prompt made me make a prune face."
15:49 pmichaud me also.
15:49 rjbs I think you can get a signed cert pretty cheaply these days.   Maybe TParrotF wants to spring for one.
15:49 rjbs Ok, back to the realms of 5.  Ciao!
15:49 pmichaud thanks!
15:49 * pmichaud files a ticket
15:50 moritz rjbs++ # also for testing the installable rakudo before the merge
15:51 pmichaud https://trac.parrot.org/parrot/ticket/938
15:53 moritz pmichaud++
15:53 rjbs left #parrot
15:53 dalek TT #938 created by pmichaud++: Parrot svn could use a trusted-root-signed-cert
15:56 pmichaud PObj_get_FLAGS(outer) |= SUB_FLAG_IS_OUTER;
15:57 pmichaud why does this line bother me so?
15:57 jonathan erm
15:57 jonathan That looks dubious.
15:57 jonathan oh no
15:57 jonathan Maybe it works
15:57 jonathan I guess the lhs must be an lvalue (e.g. the actual flags location) otherwise it'd not cokmpile.
15:57 pmichaud that doesn't fit my notion of "correct way to set a flag in Parrot"
15:58 jonathan But it's not the usual macro to use.
15:58 payload joined #parrot
15:59 pmichaud it's used that way a lot, apparently, though.
16:00 jonathan I don't think it's wrong, just that there's a SET macro to do it.
16:07 pmichaud I wonder if the way we use rebless_subclass on blocks might be getting in the way.
16:08 Coke dukeleto: you can use '' on HEREDOCS to avoid \$ing.
16:08 Coke (makes the PIR more readable, IMO.)
16:08 Coke (and won't impact the single quotes already in the PIR
16:09 jonathan pmichaud: I think one earlier version of the Parrot changes did rather upset that...
16:13 pmichaud memmove(temp, proxy, sizeof (PMC));
16:13 pmichaud how is this impacted by variable-size PMCs, ooc ?
16:13 pmichaud (from the rebless_subclass op)
16:14 jonathan Just means we'd need to do something different for the third argument.
16:14 jonathan I figure there'll be a way to know how big the PMC is...
16:14 jonathan (in fact,I think the auto_attrs patch may have added something like that...)
16:14 pmichaud is that potentially the problem here?
16:15 jonathan I don't think they did variable size PMCs in this patch though?
16:15 pmichaud I know that the Parrot_sub structure is now gone.
16:15 jonathan If they did then yes, that code would be affected...but I think we'd see a lot more things broken.
16:15 pmichaud and it now uses an *_attributes structure like other PMCs do
16:17 jonathan Hmm
16:17 jonathan That hangs off the PMC though?
16:17 pmichaud yes
16:17 jonathan So we just copy the pointer to it?
16:17 jonathan So that afaict should be fine.
16:18 dukeleto Coke++, i forgot about that
16:18 pmichaud I dunno, I'm grasping at straws here.  And since most of the work I had planned to do this week involved Parrot changes, I'm a little blocked until we can get Rakudo to run against Parrot HEAD again
16:18 jonathan pmichaud: It's not very many tests.
16:18 pmichaud being able to access outer lexicals in eval is pretty important, though.
16:19 jonathan True.
16:19 cotto szbalint, I expect the profiling runcore to become generally useful and merged within the next week.
16:19 pmichaud that's not something I think we can safely regress on.
16:19 jonathan Yeah, too many people use head...
16:19 jonathan Could you work in a branch for a bit while we get this debugged?
16:20 pmichaud I might be able to do that.
16:20 jonathan Then merge once it's fixed?
16:20 jonathan That'd unblock you...
16:20 pmichaud well, for some limited value of "unblock"
16:20 jonathan I think first we see if the Parrot folks who worked on the patch have any ideas.
16:20 jonathan And if not, I can dig in and try to debug it some more.
16:20 jonathan I'm behind on Rakudo days and haven't got much work on...I could easily do another one tomorrow.
16:21 Andy joined #parrot
16:21 pmichaud yes, I'm a little bummed by it all, though.  I again have family visiting this weekend (starting tonight) which means my Rakudo+Parrot hacking time is limited to today.
16:21 pmichaud I wasn't expecting to not be able to do Parrot stuff.
16:23 pmichaud I'll just hope someone else can figure out what's going on, though.
16:23 jonathan Leave it.
16:23 jonathan Either someone from Parrot can fix it.
16:23 jonathan Or I'll fix it.
16:24 * jonathan wants his contextuals and NQP refactors. ;-)
16:25 jonathan Or in the event nobody can fix it, jsut bisect and revert.
16:27 pmichaud it's a big revert
16:28 pmichaud https://trac.parrot.org/parrot/changeset/40643
16:28 pmichaud (we already have the bisect location :-)
16:28 jonathan Ah.
16:29 NotFound Are you talking about t/spec/S06-advanced_subroutine_features/wrap.rakudo failure?
16:29 pmichaud NotFound: yes.
16:29 pmichaud among others.
16:29 NotFound I was trying a fix for that, but failed.
16:31 jonathan The others might be an easier starting point for debugging.
16:31 pmichaud Agreed.
16:33 jonathan We're completely sure this commit was what broke it?
16:34 * jonathan didn't see anything too suspect yet...
16:34 pmichaud jonathan: http://irclog.perlgeek.de/p​arrot/2009-08-20#i_1411279
16:35 pmichaud afk lunch for me
16:37 jonathan pmichaud: Ah, ok
16:39 NotFound Will be helpful to have something in make test catching that failure
16:39 particle dukeleto: re: r40671 -- what's wrong with single-quoted heredocs? <<'OUTPUT' would relieve the backslashitis in that commit
16:40 szabgab joined #parrot
16:41 particle parrot.org has a trusted root wildcard cert
16:41 particle svn.parrot.org should be configured to use it, iiuc
16:46 HG` joined #parrot
17:05 Coke particle: I just said that.
17:06 Coke (and he already responded.)
17:09 mokurai joined #parrot
17:11 * Coke grumbles, as trac2email is ALMOST working perfectly.
17:11 particle ok, i reviewed ml, not backscroll
17:11 Coke anyone aside from allison able to config parrot.org email addresses?
17:11 particle what's not working?
17:11 purl see "doesn't work"
17:11 particle i haven't tried
17:11 Coke there is no one single email address to send new tickets to.
17:11 Coke one is the trac2email address, one is the mailing list.
17:12 Coke (updating tickets is easy, she updated reply to)
17:13 particle you mean, when updating, send to either of two addresses
17:13 particle but when new, must send to one?
17:16 chromatic joined #parrot
17:28 davidfetter joined #parrot
17:46 jonathan oh lol
17:46 jonathan .sub 'foo'
17:46 jonathan .param pmc something :named
17:46 jonathan .end
17:46 jonathan 'foo'() # BOOM!
17:47 jonathan (Writing :named rather than :named('foo') appears to segfault)
17:49 chromatic In IMCC?
17:49 jonathan chromatic: No, when it's called
17:49 jonathan In the signature binding code it looks like
17:49 chromatic PCC then.
17:49 jonathan Correct.
17:49 jonathan We end up with a STRING* that's NULL, it appears.
17:49 jonathan ...and then deference it.
17:50 jonathan For some reason I'd assumed that .param pmc foo :named just took the foo as the name...
17:50 jonathan (braino more likely than it's ever actually worked that way)
17:52 chromatic I could make that work, or I could make it a compilation error.
17:52 jonathan I don't have strong feelings either way.
17:52 jonathan I'd rather it didn't segfault though. :-)
18:12 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40676 - Ubuntu 9.04 amd64 (gcc)
18:24 mikehh rakudo (e0820fa) builds on parrot r40676 - make test PASS, make spectest (up to 28042) 3 tests fail - Ubuntu 9.04 amd64 (gcc)
18:25 mikehh t/spec/S04-declarations/my.rakudo - Failed test:  48
18:26 mikehh t/spec/S06-advanced_subroutine_features/wrap.rakudo - Parse errors: Bad plan.  You planned 60 tests but ran 6
18:26 mikehh t/spec/S29-context/eval.rakudo - Failed test:  1
18:29 mikehh t/spec/S04-declarations/my.rakudo fails with Lexical '@log' not found after ok 6 - wrapper after
18:32 mikehh bah that was t/spec/S06-advanced_subroutine_features/wrap.rakudo fails with Lexical '@log' not found after ok 6 - wrapper after
18:38 szabgab joined #parrot
18:41 Coke jonathan: that sounds like something I opened a ticket for.
18:42 MoC joined #parrot
18:42 Coke ... but I cannot find it. =-)
18:43 jsut joined #parrot
18:43 chromatic Hm, Rakudo HEAD and Parrot HEAD run "Hello, world!" 3.545% faster than Parrot 1.5.0 with my HashIterator patch.
18:44 chromatic That's a ~13% improvement in two days.
18:44 * moritz wonders how chromatic can measure speed to an accuracy of four digits
18:45 jonathan chromatic++
18:45 chromatic Number of processor ops executed as measured by Callgrind.
18:45 moritz how reproducible is that if you run it multiple times?
18:46 chromatic It's deterministic.
18:46 moritz wow
18:46 chromatic With the caveat that if control flow depends on random input....
18:47 dalek partcl: r605 | coke++ | wiki/SpecTestStatus.wiki:
18:47 dalek partcl: update segfault lists
18:47 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=605
18:51 particle joined #parrot
18:59 payload joined #parrot
19:03 dalek rakudo: 9716d3f | pmichaud++ | docs/spectest-progress.csv:
19:03 dalek rakudo: spectest-progress.csv update: 431 files, 12371 passing, 0 failing
19:03 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​716d3f166f8be14eea0d7acb08b5a31014c1b42
19:15 quek joined #parrot
19:17 hercynium joined #parrot
19:19 Coke msg cotto what does a line number of -1 mean?
19:19 purl Message for cotto stored.
19:26 nopaste "coke" at 72.228.52.192 pasted "most-used opcodes in simple tcl program." (45 lines) at http://nopaste.snit.ch/17617
19:28 chromatic Half a billion new PMCs?
19:28 Coke nice, huh!
19:29 chromatic That's a lot.
19:29 nopaste "coke" at 72.228.52.192 pasted "script used to generate last post (bigint/total not working)" (42 lines) at http://nopaste.snit.ch/17618
19:30 Coke that can't be right.
19:30 Coke DOH.
19:30 Coke sorry, that's timings, not counts. =-)
19:31 Coke I didn't say, and then just nodded when you spoke. =-)
19:31 pyrimidine joined #parrot
19:44 nopaste "coke" at 72.228.52.192 pasted "order by count (showing time/count)" (35 lines) at http://nopaste.snit.ch/17619
19:45 quek left #parrot
19:45 nopaste "coke" at 72.228.52.192 pasted "order by time (showing time/count)" (43 lines) at http://nopaste.snit.ch/17620
19:45 Coke ther eyou go.
19:47 jonathan oh f**k when did BoundNCI disappear?
19:49 joeri joined #parrot
19:49 chromatic Before 1.0.
19:52 jonathan Ah
19:52 jonathan Damm, I had a comment saying about using it...and of course the code doesn't...
19:52 jonathan Which means it does something completely different from what I expected.
19:53 * jonathan can work around it
19:53 nopaste "coke" at 72.228.52.192 pasted "new vs. root_new" (3 lines) at http://nopaste.snit.ch/17621
19:54 Coke chromatic: Looks like I can get a boost if I avoid root_new.
19:56 dalek lua: 5c3ac67 | fperrad++ | src/pmc/luafunction.pmc:
19:56 dalek lua: Parrot_sub is gone
19:56 dalek lua: see https://trac.parrot.org/parrot/changeset/40665
19:56 dalek lua: review: http://github.com/fperrad/lua/commit/5c​3ac6733a5944171ff46861973c4ba515022c91
20:16 darbelo joined #parrot
20:26 quek joined #parrot
20:36 japhb joined #parrot
20:38 whoppix joined #parrot
20:53 dalek parrot: r40677 | chromatic++ | trunk/src/jit/i386 (2 files):
20:53 dalek parrot: [JIT] Removed custom JIT sub for long-removed new_p_ic opcode.
20:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40677/
21:01 ttbot Parrot trunk/ r40677 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/74814.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
21:01 bacek joined #parrot
21:03 cotto Coke, I think it means that there's no file for that instruction, but I'm not entirely sure.
21:04 chromatic I think that's right.
21:05 cotto The unfortunate thing about that runcore is that it's stuck getting its line info from imcc.
21:05 cotto Sub info seems to be accurate, but lines can be anything between correct and totally goofy.
21:10 Coke well, if the root_new -> new thing pans out with an increase, this is already a win for me. =-)
21:10 Coke ->
21:11 cotto You've already got some useful info?
21:11 Tene cotto: I have a vague memory of suspecting that annotations screw up the line info.  I don't remember confirming it, though.
21:12 quek left #parrot
21:13 cotto I'd expect HLL annotations and PIR line/file info to be orthogonal, but we all know how wacky imcc can be.
21:14 Tene cotto: like, imcc doesn't count line numbers that are annotations in some situations, or something.
21:15 jonathan Tene: It's quite possible.
21:15 jonathan cotto: No, those are stored differently.
21:19 Andy joined #parrot
21:19 pmichaud Coke: out of curiosity, how are you converting root_new to new ?
21:20 chromatic Hm, a 2.854% startup speedup by lazily initializing MMD NCI thunks.
21:23 bacek Good morning
21:23 purl And good moroning to you, bacek.
21:25 jonathan oh hai bacek
21:25 dalek parrot: r40678 | bacek++ | trunk/include/parrot/sub.h:
21:25 dalek parrot: [cage] Put typedefs for old Parrot_sub and Parrot_coro structs.
21:25 dalek parrot: This restore backward compatibility with old code. fperrad++, bacek--
21:25 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40678/
21:25 bacek jonathan: hai oh
21:26 jonathan bacek: Rakudo has some fail in 3 spectests since the sub changes.
21:26 bacek jonathan: yeah. I noticed it...
21:26 jonathan bacek: Specifically, things that calls set_outer are broken.
21:26 jonathan However, set_outer itself doesn't look incorrect.
21:26 jonathan So I think something else in the patch does it.
21:27 bacek jonathan: check comment in Sub.get_namespace
21:27 jonathan Any chance you can have a look? It's broken something fairly important (eval being able to see variables in the outer scope).
21:27 bacek I suspect same issue.
21:29 jonathan bacek: I dunno, did PMC_get_sub(INTERP, SELF, sub); get broken?
21:29 bacek jonathan: not. PMC_get_sub works. GET_ATTR broken
21:30 jonathan :-S
21:30 ttbot Parrot trunk/ r40678 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/74874.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
21:31 whoppix joined #parrot
21:31 jonathan bacek: It appears it's something to do with subclassability of Sub.
21:33 bacek jonathan: indeed. But I expected GET_ATTR should handle this situation.
21:34 bacek jonathan: which rakudo's test failing?
21:34 jonathan The easiest one to debug is probably...moment...
21:34 jonathan S29-context\eval.rakudo
21:36 bacek jonathan: thanks
21:37 bacek looks like fixed in r40679.
21:37 skv joined #parrot
21:37 bacek S02/wrap.t also passed...
21:39 dalek parrot: r40679 | bacek++ | trunk/src/pmc/sub.pmc:
21:39 dalek parrot: Wallpapering problem with GET_ATTR for subclassed Sub PMC.
21:39 dalek parrot: GET_ATTR_foo give incorrect results. So get full attributes structure and return particular field.
21:39 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40679/
21:40 Limbic_Region joined #parrot
21:41 jonathan bacek: Thanks!
21:41 jonathan bacek++
21:42 ttbot Parrot trunk/ r40679 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/74923.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
21:43 dalek parrot: r40680 | chromatic++ | trunk/src/pmc/nci.pmc:
21:43 dalek parrot: [PMC] Delayed NCI thunk initialization until absolutely necessary.  This
21:43 dalek parrot: improves Parrot startup time by 2.859%, thanks to a wealth of (usually unused)
21:43 dalek parrot: PMC MMD NCI registrations.
21:43 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40680/
21:44 Whiteknight joined #parrot
21:45 bacek msg NotFound I wallpapered GET_ATTR problem in Sub PMC. Your turn to check what the heck with GET_ATTR for subclassed PMCs
21:45 purl Message for notfound stored.
21:46 NotFound bacek: I was doing some tests, again without results
21:46 bacek NotFound: ah. ok... I'm out of ideas how to test it...
21:47 NotFound I have ideas, but lack the time ATM. I'll take a look tomorrow.
21:48 bacek jonathan: S02-names_and_variables/names.rakudo still failing. Is it expected?
21:48 Whiteknight bacek: how are things on the context_pmc2 branch?
21:48 jonathan bacek: How does it fail?
21:48 Whiteknight (I haven't been able to look at it today)
21:48 bacek Whiteknight: sorry... Didn't have time...
21:49 jonathan bacek: For me it passes all subtests and crashes at exit.
21:49 bacek jonathan: # wrong way to die: 'Null PMC access in invoke()'
21:49 bacek not ok 18 - dies when calling non-existent sub in non-existent package
21:49 jonathan bacek: Has you latest Rakudo? That one was only fixed like very recently...
21:49 bacek doesn't crash btw
21:49 jonathan If it's the one I think it is.
21:49 Whiteknight bacek: that's okay, just making sure I didn't miss anything
21:50 ttbot Parrot trunk/ r40680 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/74961.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
21:50 bacek jonathan: ok, git pulling now
21:50 bacek Whiteknight: you didn't.
21:53 bacek jonathan: it would be nice to have SPECTEST_REVISION similar to PARROT_REVISION in rakudo.
21:53 jonathan bacek: Not really, we'd have to update it almost every commit...
21:53 bacek jonathan: S02/names passed on latest rakudo. Without crash.
21:54 bacek (update) what about releases?
21:54 jonathan bacek: I think something is done for releases.
21:54 bacek jonathan: ok
21:58 bacek S04/my.t passed.
21:59 jonathan bacek: Great. :-)
21:59 jonathan Looks like all fixed up then. :-)
21:59 bacek It's not "real" fix... Just wallpapering of real problem with attributes.
22:05 kid51 joined #parrot
22:07 whoppix joined #parrot
22:10 Coke pmichaud: I'm just reverting the changes that made "new 'TclList'" into "root_new ['parrot'], 'TclList'"
22:18 bacek jonathan: S14-roles/basic segfaulting on exit. Known issue?
22:18 jonathan bacek: Know it does it.
22:18 jonathan bacek: Don't know why.
22:18 particle i think a version of the spectests is shipped with the release
22:18 particle s/version/export/
22:18 jonathan particle: ah, ok
22:19 jonathan That'd be a decent way to do it.
22:19 bacek jonathan: ok.
22:21 bacek jonathan: spectest passed.
22:21 jonathan bacek: w00t
22:21 jonathan bacek++
22:22 * bacek remember times when make spectest did't spent 2324 seconds...
22:22 bacek seen fperrad
22:22 purl fperrad was last seen on #parrot 2 days, 19 minutes and 42 seconds ago, saying: Whiteknight, another thing : could you review my patch on TT #113 ?  [Aug 18 21:56:27 2009]
22:22 payload joined #parrot
22:23 bacek msg fperrad can you yell at me loudly next time I brake compatibility?
22:23 purl Message for fperrad stored.
22:27 jonathan bacek: That was when we ran less tests. ;-)
22:27 bacek jonathan: yeah. Something like 2000 tests in total :)
22:28 jonathan Seems so long ago.
22:28 particle many lines of code ago
22:28 jonathan When I had less white hair.
22:35 bacek When I had no hair at all :)
22:37 dalek parrot: r40681 | bacek++ | branches/context_pmc2/src/pmc/context.pmc:
22:37 dalek parrot: [pmc] Reorder mark fields in Context.mark in order of declaration. Also mark result_signature.
22:38 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40681/
22:38 joeri left #parrot
22:39 rg1 joined #parrot
23:05 dalek parrot: r40682 | bacek++ | branches/context_pmc2 (21 files):
23:05 dalek parrot: Bring branch up-to-date with trunk
23:05 dalek parrot: Conflicts:
23:05 dalek parrot: docs/project/release_manager_guide.pod
23:05 dalek parrot: include/parrot/sub.h
23:05 dalek parrot: src/gc/alloc_register.c
23:05 dalek parrot: src/pmc/continuation.pmc
23:05 dalek parrot: src/pmc/exception.pmc
23:05 dalek parrot: src/pmc/lexpad.pmc
23:05 dalek parrot: src/pmc/sub.pmc
23:05 dalek parrot: src/sub.c
23:05 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40682/
23:12 cotto bacek, aren't you supposed to resolve those before committing? ;)
23:23 Whiteknight jonathan: you a sonata arctic fan?
23:24 delta joined #parrot
23:29 jonathan Whiteknight: Yeah, been listening to them a bit for a little while now...
23:30 patspam joined #parrot
23:32 Whiteknight I was a huge fan back in undergrad, now I'm just a casual listener
23:33 jonathan Whiteknight: I'm not fan at the level of, would go hugely out of my way to see them, but if they were playing in my city I'd probably go.
23:33 jonathan They're one of many, many bands I feel that way about though. :-)
23:36 bacek joined #parrot
23:37 bacek msg Whiteknight Continuation and param passing broken in context_pmc2. I just fixed compilation of Context.mark :-/
23:37 purl Message for whiteknight stored.
23:39 dalek parrot: r40683 | bacek++ | branches/context_pmc2/src/pmc/context.pmc:
23:39 dalek parrot: [pmc] Move comment about Context.mark inside Context.mark.
23:39 dalek parrot: Apparantly, pmc2c just skipped whole Context.mark body. Silently...
23:39 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40683/
23:42 Whiteknight okay, awesome
23:42 jonathan I hate it when pmc2c does that.
23:42 jonathan That's caught me out before too...
23:42 Whiteknight I hate it when pmc2c
23:43 jonathan ;-)
23:43 Whiteknight I'm willing to break a few grammar rules to express my dislike for that program
23:43 bacek Whiteknight: we need proper function to replace PARROT_CONTEXT usage
23:44 Whiteknight bacek: what do you mean by that?
23:44 jonathan Whiteknight: Heh. I remember having to tweak it / fix it once or twice in the past, when I did less Rakudo and more Parrot. It wasn't fun.
23:44 Whiteknight jonathan: you should do more Parrot now, we need all the help we can get
23:45 bacek Whiteknight:  check next commit (r40684)
23:45 Whiteknight ok
23:45 chromatic That commit makes sense to me; not everything has a caller_ctx.
23:46 dalek parrot: r40684 | bacek++ | branches/context_pmc2/src/scheduler.c:
23:46 dalek parrot: Don't deref NULL Context
23:46 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40684/
23:46 bacek chromatic: indeed. That's why I asking for proper function :)
23:46 jonathan Whiteknight: It's not so much that I wouldn't like to, so much as Rakudo sucks up a lot of time and energy at the moment. Plus to me it feels like there's fewer Rakudo core hackers than Parrot core hackers right now.
23:47 bacek $dayjob
23:47 bacek see you
23:48 chromatic We don't dereference caller_ctxs very often though.
23:49 Whiteknight these stupid contexts are remarkably annoying
23:50 Whiteknight I don't know who implemented this first, and don't want to say anythig bad about somebody I might never have met, but how could anybody think that this was a good idea?
23:50 chromatic What is *this*?
23:50 purl *this* is, like, what I'm meant to actually read right? http://github.com/nothingmuch/moose/commit​/c531428ccde1a3253678b68584e6fd6eb2bae293
23:50 whoppix joined #parrot
23:50 Whiteknight the state of the Parrot_Context sructure
23:50 Whiteknight and the weird way it's managed and refcounted
23:51 chromatic The refcounting is for performance.
23:51 chromatic Irony, yes.  I have a big bucket in the garage.
23:51 Whiteknight and all the idiosyncratic premature optimizations
23:51 chromatic I disabled context recycling once.
23:52 chromatic I also disabled copy on write for STRINGs.
23:52 chromatic Yow.  That is all.
23:55 treed So.
23:55 treed if I have, say 'Foo'
23:55 treed and I set_hll_global 'Foo' to something
23:55 treed Will that global conflict with a namespace also called 'Foo'?
23:55 treed Or are globals and namespaces not quite the same thing?
23:56 Whiteknight string COW is a very good feature to have and a good implementation of that wouldn't be considered a premature optimization
23:56 chromatic Immutable STRINGs would be better.
23:56 Whiteknight agreed
23:56 chromatic treed, they're both PMCs, as far as set_hll_global cares.
23:56 Whiteknight I wonder how much effort it would take to bring that mountain to mohammed
23:57 treed So they would conflict, then.
23:57 chromatic A fair bit, especially considering backwards compatibility concerns.
23:57 chromatic treed, I believe so.
23:57 * treed nods.
23:57 * treed is trying to figure out how to handle classes/metaclasses appropriately.
23:57 treed Mostly in terms of storage.
23:57 chromatic Consider how much (could be unnecessary) work we have to do when returning a STRING we hope someone doesn't modify out from under something else.
23:58 treed Clearly, because the Array class is actually a global, it belongs as a global.
23:58 treed But then where do I store the actual class and metaclass namespaces.
23:58 chromatic treed, I like the Perl 6 approach of prefixing them with typeish sigils.
23:58 Whiteknight immutable strings would be a wonderful thing to have had in the beginning of Parrot
23:58 treed Oh?
23:58 purl Oh is that possible? better look into that...
23:58 chromatic If you don't want to consider that STRING approach so abstractly, profile any interesting code and see how often Parrot_str_new_COW comes up.
23:59 treed I know there was some stuff with !CARDINALMETA in Cardinal, which I think is inherited from Rakudo.
23:59 Whiteknight I know it happens pretty often
23:59 jonathan treed: In Rakudo, we store an the type object in the namespace, under the same name as the namespace, and there's not a conflict.
23:59 jan joined #parrot
23:59 jonathan s/an//

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

Parrot | source cross referenced