Camelia, the Perl 6 bug

IRC log for #parrot, 2008-11-14

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:09 Whiteknight chromatic: ping?
00:09 chromatic pong
00:09 AndyA joined #parrot
00:09 Whiteknight Hey, I'm having a problem in the calling_conventions branch very reminiscent of RT#59880
00:10 Whiteknight A CPointer PMC is throwing a segfault in pobject_lives with the value 0x8
00:10 chromatic CPointer-wise?
00:10 Whiteknight yeah
00:10 chromatic Did you look at r32065?
00:10 Whiteknight Allison merged in trunk which included your fix from #59880, but there is still an error
00:11 chromatic Maybe you're using more CPointers.
00:11 Whiteknight I looked at it briefly, probably need a deeper examination
00:11 chromatic The problem is that CPointer stores a pointer to a pointer to a PMC or STRING.
00:12 chromatic That's not a problem.
00:12 Whiteknight oh fun
00:12 chromatic You just have to keep in mind that that pointer is to a stack location in a higher call frame.
00:12 chromatic When you're done with the CPointer, invalidate the pointer to the pointer.
00:13 Whiteknight ok
00:13 chromatic Otherwise, any GC call after you've returned to that call frame (or something higher yet) will follow the pointer to the pointer and find something else in that location on the stack.
00:21 Whiteknight how do I look at just that commit using svn?
00:22 Whiteknight I'm so used to tortoise svn that I can't remember the commandline syntax anymore
00:22 * Whiteknight needs to buy a damn reference or something
00:34 chromatic svn diff -r32064:32065
00:47 Zaba joined #parrot
00:51 bacek Whiteknight: google://svn red book
00:52 Andy joined #parrot
01:43 pmichaud also   svn diff -c32065 works
01:46 Whiteknight haha, that's the command I was using, but I was in the wrong directory
01:46 Whiteknight it obviously wasn't working, and I thought I was going crazy
01:48 TiMBuS joined #parrot
01:50 chromatic -c, I should use that.
01:53 dalek r32630 | pmichaud++ | lex2:
01:53 dalek : Make a new 'lex2' branch for lex development (easier than merging trunk).
01:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32630
01:58 omega joined #parrot
02:06 jimmy joined #parrot
02:57 chromatic Hmm, the re-entrant PBC bug seems to be that the SymReg representing the sig_pmc has a color.
02:57 chromatic That is, something's already assigned it to a register.
02:57 chromatic ... even though this is a new compilation unit.
02:57 chromatic My theory is thus that the SymReg cache is persisting too long.
02:58 chromatic ... though it looks like the SymHash is fresh for each compilation run.
03:17 Debolaz_ joined #parrot
03:17 mj41_ joined #parrot
03:17 Zaba joined #parrot
03:18 mj41__ joined #parrot
03:19 rafl joined #parrot
03:19 Debolaz_ joined #parrot
03:19 krunen joined #parrot
03:19 MariachiElf joined #parrot
03:20 pjcj joined #parrot
03:37 silug joined #parrot
03:38 arbingersys joined #parrot
03:47 arbingersys left #parrot
03:56 Psyche^ joined #parrot
04:28 dalek r32631 | allison++ | pdd22io:
04:28 dalek : [pdd22io] Make sure 'buffer_next' and 'buffer_end' FileHandle attributes are
04:28 dalek : set and retrieved in the right places in 'Parrot_io_readline_buffer'.
04:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32631
04:29 dalek r32632 | allison++ | pdd22io:
04:29 dalek : [pdd22io] Implement 'readline' method on FileHandle PMC.
04:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32632
05:07 apeiron joined #parrot
05:14 japhb joined #parrot
05:54 clunker3 joined #parrot
05:56 chromatic joined #parrot
06:00 masak joined #parrot
06:21 chromatic ... and there's the fix.
06:30 bacek chromatic: ... and where is the fix?
06:30 bacek :)
06:33 chromatic r32633
06:34 chromatic Landing in 3... 2... 1....
06:35 dalek r32633 | chromatic++ | trunk:
06:35 dalek : [IMCC] Added code to clear global symbols when running a PIR sub with a pragma
06:35 dalek : at the end of its compilation in IMCC.  This fixes the problem described in RT
06:35 dalek : #60000 (reported by Klass-Jan Stol, where an :immediate sub which uses
06:35 dalek : load_bytecode to load another PIR file often crashes).
06:35 dalek : This is not a beautiful fix; the right approach is to reset the color of all
06:35 dalek : constant SymRegs stored in IMCC_INFO(interp)->ghash to -1 before running the
06:35 dalek : immediate subs, but this fixes the problem for now.  Working trumps pretty at
06:35 dalek : the moment; pretty can come soon.
06:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32633
06:44 Zaba joined #parrot
07:02 elmex joined #parrot
07:09 uniejo joined #parrot
07:18 moritz joined #parrot
07:22 japhb joined #parrot
07:40 apeiron joined #parrot
09:02 jan joined #parrot
09:07 jimmy_ joined #parrot
09:11 jimmy_ s 是
09:28 masak jimmy: 早上好.
09:29 jimmy 下午好,呵呵
09:29 jimmy 你们那里是早上啊?
09:30 masak wohoo, I can see the characters today! :)
09:31 jimmy yes, I use ChatZilla instead of mIRC
09:31 masak jimmy: 我是在瑞典
09:32 masak jimmy: apparently a good choice.
09:32 jimmy mIRC 只能显示utf8,不能输入utf8 格式
09:33 jimmy 所以,现在瑞典现在是早上哦?
09:35 jimmy yes, ChatZilla looks more better than mIRC
09:36 tomyan joined #parrot
10:04 rob joined #parrot
10:23 konstantin joined #parrot
10:25 * jimmy test
10:43 jimmy joined #parrot
10:48 konstantin joined #parrot
10:53 ruoso joined #parrot
11:03 AndyA joined #parrot
11:05 wonko joined #parrot
11:18 barney joined #parrot
11:24 Lorn joined #parrot
11:24 iblechbot joined #parrot
11:32 apeiron joined #parrot
11:33 bacek_ joined #parrot
11:38 gaz joined #parrot
11:47 dalek r32634 | bernhard++ | trunk:
11:47 dalek : RT#60512: [PATCH] rewrite of names.t to PIR
11:47 dalek : Courtesy of Bruce Stockwell
11:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32634
11:53 dalek r32635 | bernhard++ | trunk:
11:53 dalek : RT#60530: [PATCH] docs/embed.pod example
11:53 dalek : Courtesy of Brad Bowman
11:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32635
12:16 * barney watching surfing Parrot hackers. rurban++
12:16 barney http://murbreak.bergfex.at​/gallery/?gid=murbreak.70e
12:20 johbar joined #parrot
12:30 timbunce joined #parrot
12:36 gmansi joined #parrot
13:11 Zaba joined #parrot
13:26 particle joined #parrot
13:29 dalek r32636 | pmichaud++ | lex2:
13:29 dalek : Initial commit of lex code in new branch
13:29 dalek : * Add capture_lex opcode
13:29 dalek : * Change newclosure to be clone+capture_lex
13:29 dalek : * IMCC no longer creates Closure PMCs
13:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32636
13:38 Wknight8111 joined #parrot
13:39 dalek r32637 | Whiteknight++ | trunk:
13:39 dalek : [docs/dev] Rename seatbelts.pod to c_functions.pod as per RT#43831
13:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32637
13:39 timbunce left #parrot
13:44 particle pmichaud: i'm wondering how capture_lex works within eval
13:45 particle it seems to me the inner sub should be capturing the outer context, not the other way around
13:46 jimmy joined #parrot
13:47 jimmy hello barney
13:47 jimmy barney: ping
13:48 jimmy hello cotto?
13:51 jimmy in phparray.pmc, there is a Parrot_PhpArray_attributes struct but i can not find where it is defined.
13:51 jimmy like this:Parrot_PhpArray_attributes *arr =
13:51 jimmy mem_allocate_zeroed_typed(P​arrot_PhpArray_attributes);
13:52 barney hi jimmy
13:53 jimmy hello barney. is it right? I thought it is defined.
13:53 barney I'll take a look later. I'm looking into failures in Parrot_Test.t right now
13:53 jimmy barney: thanks
13:56 gryphon joined #parrot
14:07 barney jimmy: The definition is in the generated file 'src/pmc/pmc_phparray.h'
14:09 jimmy is there a such file?
14:09 jimmy such a file?
14:09 Andy joined #parrot
14:10 barney jimmy: did you build successfully?  cd languages/pipp ; make
14:11 jimmy i just can't find src/pmc/pmc_phparray.h.
14:11 jimmy i don't have the complier in windows
14:12 Infinoid jimmy: I think pmc_phparray.h is generated from phparray.pmc by pmc2c
14:12 barney The file is generated from phparray.pmc when building Pipp
14:12 diakopter joined #parrot
14:14 barney jimmy: Do you have no C-Compiler on your windows ?
14:14 jimmy nothing
14:14 Coke I would recommend installing strawberry perl.
14:15 Coke (comes with gcc and a make; you'll be able to build/run parrot on windows with it.)
14:15 dalek r32638 | bernhard++ | trunk:
14:15 dalek : [Pipp] Method names now need to be quoted.
14:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32638
14:16 jimmy coke: thanks, that is the package what i need.
14:24 jimmy and thanks barney.
14:27 Coke alias++ # strawberry
14:30 dmknopp joined #parrot
14:30 particle joined #parrot
14:32 * Coke finds a bunch of tcl spec tests prematurely failing. :|
14:33 Coke (that were previously passing)
14:34 dmknopp coke thanks for fixing the tail calls  in cardinal :-)
14:34 Coke Parrot VM: PANIC: Out of mem!
14:34 Coke dmknopp: welcome.
14:34 purl Heh, not likely around here you won't be.
14:34 Coke true.
14:35 Coke perhaps you can figure out why tcl is now running out of memory. :|
14:35 masak joined #parrot
14:35 particle dmknopp: are you coming today?
14:35 particle i didn't get a response from you
14:35 dmknopp sorry, I had to change plans again
14:35 dmknopp so I cant make it, I will be in on IRC on Sat
14:36 particle ok
14:37 jimmy hello masak.
14:38 masak hi, jimmy.
14:38 masak jimmy: how's it going with Parrot?
14:39 jimmy downloaded a strawberry perl and trying to compile it.
14:39 masak cool. bu cuo. :)
14:40 Coke Anyone have advice on tracking down memory leaks in a non-PCT language on top of parrot?
14:40 jimmy i am so sloth that strawberry perl is choice to me
14:40 jimmy good chioce.
14:41 jimmy 我的中文名字叫卓明亮
14:41 jimmy 呵呵
14:41 masak jimmy: s/sloth/lazy/
14:41 nopaste "Coke" at 193.200.132.135 pasted "tcl file consumes all memory" (31 lines) at http://nopaste.snit.ch/14577
14:41 particle coke: valgrind?
14:41 purl valgrind is, like, not only astonishingly clever, but also has a beautifully written manual. or http://developer.kde.org/~sewardj/ or an open-source memory debugger or see also cachegrind or kcachegrind or No Silver Bullet or a time saver or mostly working on FreeBSD or not working on windows
14:41 masak jimmy: cool, I got that on the first reading :) not the characters in the name, though.
14:42 jimmy yes lazy. but i don't know the difference between these words.
14:42 masak the middle one looks familiar, 明
14:42 jimmy 明亮 means bright
14:42 masak jimmy: hm. 'sloth' is a noun. 'lazy' is an adjective. sometimes English is picky about the difference.
14:42 masak jimmy: aha.
14:43 silug joined #parrot
14:44 Coke english is infuriatingly picky.
14:44 masak jimmy: beyond that, 'sloth' is more serious than 'laziness'. the latter is normal, the former used to be one of the seven deadly sins. :)
14:44 Coke particle: good point.
14:44 PerlJam used to be?
14:44 purl well, used to be is a type of verb.
14:44 jimmy found it. chinese fault. because in chinese. noun and adjective is not so much different.
14:44 masak PerlJam: maybe it was reinstated, I dunno.
14:44 masak :)
14:45 Coke particle: now, who here can do something interesting with valgrind output? =-)
14:45 masak jimmy: wo zhidao. :)
14:45 Coke PerlJam: back when people were more serious about their sinning.
14:45 jimmy just like 明亮, i can be noun and adjective too.
14:45 PerlJam Coke: were you ever going to PCT-ize partcl?
14:45 masak jimmy: aye.
14:45 Coke me personally? probably not.
14:45 cosimo joined #parrot
14:45 Coke I would probably take a patch that did, though.
14:46 Coke (issues include: losing .HLL support; everything in tcl is runtime dispatch)
14:46 Coke also, I need to convert tcl to make it only compile a single command at a time.
14:47 Infinoid Coke: what's your valgrind output?
14:47 Coke Infinoid: this may take... some time to generate.
14:48 jimmy sloth?
14:48 purl it has been said that sloth is being a sloth.
14:48 jimmy lazy?
14:48 purl lazy is 1 => cool or a virtue
14:48 masak heh
14:48 jimmy laziness?
14:48 purl it has been said that laziness is a virtue, after all :)
14:48 Coke Infinoid: partcl on pge is slow enough; running it all through valgrind doesn't exactly speed things up.
14:48 Coke dozens?
14:49 Coke dozens is the fine art of insulting your mother.
14:49 Infinoid Ah.  Time to reduce the testcase yet again? :)
14:49 jimmy how powerful purl!
14:50 jimmy china?
14:50 purl china is, like, taking that award these days.  it's using 40% of the annual production of concrete
14:50 * masak would like to know the context of that one
14:51 jimmy chinese?
14:51 Infinoid purl is full of 30% startling insight, and 70% bizarre nonsequitors.
14:51 masak purl?
14:51 purl masak?
14:51 masak :)
14:51 Infinoid purl, purl?
14:51 purl i am a dweeb
14:51 Infinoid there ya go.
14:51 masak aha.
14:51 jimmy who wrote the purl?
14:51 masak purl, who created you?
14:51 purl no idea, masak
14:51 masak how sad.
14:51 Infinoid purl, owner?
14:51 purl owner is Masque
14:52 jimmy purl, who are you?
14:52 purl i heard i was a dweeb
14:52 jimmy and who am i?
14:52 purl somebody said jimmy was jimmy
14:52 Coke Infinoid: well, I do have to run out of memory; less useful to reduce the test case there than it is to just run out of memory.
14:52 jimmy where is china?
14:52 purl it has been said that china is taking that award these days.  it's using 40% of the annual production of concrete
14:53 masak purl: masak?
14:53 purl well, masak is not my best friend.
14:53 particle coke: why don't you run valgrind against the simplest tcl program possible, for a baseline
14:53 masak damn straight.
14:53 purl kick ass!
14:53 Coke ah, jimmy must be a student in an american high school.
14:53 jimmy kill purl?
14:53 Coke ah, the famous tarantino movie.
14:53 jimmy no. i am in china shenzhen.
14:54 masak jimmy is a kind and warm-hearted person, albeit allegedly a sloth
14:54 masak purl: jimmy?
14:54 purl i think jimmy is jimmy
14:54 Infinoid <valleygirl>china?  isn't that part of san francisco downtown?</valleygirl>
14:54 Coke jimmy: a joke because you asked "where china?".
14:54 masak purl: jimmy is a kind and warm-hearted person, albeit allegedly a sloth
14:54 purl ...but jimmy is jimmy...
14:54 Coke masak; you need "jimmy is also" , or "no, jimmy is ..."
14:54 masak purl: jimmy is also a kind and warm-hearted person, albeit allegedly a sloth
14:54 purl okay, masak.
14:54 masak jimmy?
14:54 purl i think jimmy is jimmy or a kind and warm-hearted person, albeit allegedly a sloth
14:54 masak *lol*
14:55 jimmy wah
14:55 masak jimmy: a sloth is also a kind of animal, now extinct.
14:55 purl okay, masak.
14:55 PerlJam jimmy: are you a two- or three-toed sloth ?
14:55 masak jimmy: it hangs (well, used to hang) upside-down sleeping in trees
14:55 PerlJam now extinct?
14:55 masak PerlJam: isn't it?
14:56 * masak looks
14:56 PerlJam no
14:56 masak nope, alive and kicking
14:56 masak all sloths: sry :/
14:56 particle holy crap! it's only USD 1.47 to 1 GBP today
14:56 PerlJam Just because Ice Age features a couple extinct animals as their main characters, doesn't mean that all of them are :)
14:56 jimmy Sloths means 树獭?
14:56 Coke particle: yup, just lost a bunch of money converting.
14:56 masak PerlJam: I am ashamed.
14:57 Coke also, no fair charging me the fee 2x for british pounds and then also for scottish pounds.
14:57 masak jimmy: 'tree otter'. yes, that could actually be it. :)
14:58 jimmy yes ,tree otter.
14:58 particle i'm headed to canada in two weeks, good to see it's in my favor these days
14:58 masak jimmy: 树懒亚目
14:58 jimmy jimmy?
14:58 purl you are jimmy or a kind and warm-hearted person, albeit allegedly a sloth
14:58 jimmy masak?
14:58 purl rumour has it masak is not my best friend
14:58 masak damn straight.
14:58 purl kick ass!
14:59 Coke excellent!
14:59 * purl zwooshes
14:59 masak raaawr!
14:59 jimmy purl: masak zhong wen ming jiao Mai Gao, shi rui dian ren.
14:59 purl jimmy: huh?
14:59 jimmy masak?
14:59 purl masak is, like, not my best friend
14:59 jimmy masak?
14:59 purl it has been said that masak is not my best friend.
14:59 jimmy purl: masak zhong wen ming jiao Mai Gao, shi rui dian ren.
14:59 purl jimmy: huh?
14:59 jimmy masak?
14:59 purl rumour has it masak is not my best friend
14:59 masak jimmy: you need to say 'no, masak is' or 'masak is also'
14:59 Coke jimmy: stop that. =-)
14:59 dalek r32639 | Whiteknight++ | trunk:
14:59 dalek : [docs/dev] Update c_functions.pod to include more information in pursuit of RT#43831. Removed old cruft, fixed formatting, added detail. A few more small things to do before we close this ticket.
14:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32639
15:00 Coke purl will usually respond the same way to the same input.
15:00 purl Coke: huh?
15:00 Coke purl will usually respond the same way to the same input.
15:00 purl Coke: what?
15:00 Coke (see? =-)
15:00 Coke . o O (waits for someone to point out that wasn't the same way.)
15:00 jimmy give a try now
15:00 masak Coke: that wasn't the same way!
15:01 jimmy purl: no, masak is also zhong wen ming jiao Mai Gao, shi rui dian ren.
15:01 purl okay, jimmy.
15:01 jimmy masak?
15:01 purl well, masak is not my best friend. or zhong wen ming jiao Mai Gao, shi rui dian ren.
15:01 masak dui.
15:02 particle you can also /msg purl to play with her
15:03 nopaste "Coke" at 193.200.132.135 pasted "tcl valgrind output" (1346 lines) at http://nopaste.snit.ch/14578
15:03 Coke Infinoid: there you go
15:04 Coke I don't see anything useful there.
15:04 Andy joined #parrot
15:05 Coke ooh, whiteknight is in for it now, Andy's back!
15:05 jimmy infinoid: china isn't part of san francisco downtown.
15:05 Andy YEAH, IF I WERE YOU I'D TAKE A PERMANENT VACATION
15:05 Coke jimmy: another joke.
15:06 jimmy ;(
15:06 masak Coke: pray explain.
15:07 Coke masak:whic now?
15:07 Coke which?
15:07 purl well, which is great if you need that or why Class::MOP::Method has overloading or an awesome acronym
15:07 particle http://en.wikipedia.org/wiki/Valley_Girl
15:07 Infinoid purl, forget which
15:07 purl Infinoid: I forgot which
15:07 masak Coke: were there several jokes? I didn't get any of them.
15:07 dalek r32640 | bernhard++ | trunk:
15:07 dalek : [testing] do not check error output from pasm_output_isnt() and pir_output_isnt(),
15:07 dalek : as the output depends on the version of Test::Builder
15:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32640
15:09 Coke masak: I didn't say they were funny.
15:09 Coke just not meant to be taken seriously.
15:09 masak ah, that kind of joke.
15:09 Infinoid yep, that's big.  I don't see any smoking guns except for the out of memory error, tho
15:09 jimmy masak?
15:09 purl masak is not my best friend. or zhong wen ming jiao Mai Gao, shi rui dian ren. or my best friend.
15:10 masak purl: no, I am _not_ your best friend!
15:10 purl okay, masak.
15:10 Infinoid masak is also the cause of much confusion for purl
15:10 purl okay, Infinoid.
15:11 masak masak is also purl's worst nemesis
15:11 purl okay, masak.
15:12 Infinoid the anti-purl!
15:13 masak aye.
15:13 masak purl: masak is also the anti-purl
15:13 purl okay, masak.
15:18 barney with gcc 4.3.2 I get a lot of warnings about --funit-at-a-time
15:27 particle joined #parrot
15:35 davidfetter joined #parrot
15:38 jimmy oh no. libparrot.a is so big. 104M
15:39 PerlJam Mine is only 37M
15:39 particle it's a tempfile anyway, no?
15:40 jimmy i just run make and make test
15:41 hercynium joined #parrot
15:42 particle wow: http://www.spamcop.net/spamgraph.shtml?spammonth
15:43 masak the Internet is breathing.
15:44 PerlJam what happened the other day that made this possible?
15:46 particle http://www.washingtonpost.com/wp-dyn/conte​nt/article/2008/11/12/AR2008111200658.html
15:47 jsut|work crazy
15:47 PerlJam ah, I should read the news more.
15:49 Wknight8111 funny, I keep thinking I should read the news less
15:51 jsut|work i just built from svn and my libparrot.a is only 27MB
16:00 Infinoid 36M on amd64
16:02 jimmy i don't know why.
16:02 jimmy i built parraot and pipp
16:02 jimmy and making test for pipp now.
16:02 PerlJam why what?
16:02 Infinoid did you pass any arguments to Configure.pl?
16:03 PerlJam you may all of the debugging symbols turned on if your concerned about the size of your .a file
16:03 jimmy some simple arguments
16:03 PerlJam or you may just need to run strip  :)
16:03 jimmy perl Configure.pl --icushared="D:\usr\lib\icu\lib\icudt.lib D:\usr\lib\icu\lib\icuuc.lib" --icuheaders="D:\usr\lib\icu\include"
16:04 Infinoid that shouldn't be a problem
16:04 Infinoid hmm, is it just bigger on win32?
16:04 nopaste "Infinoid" at 96.238.213.50 pasted "Test output formatting failure (the indentation of "Expected:" seems to have changed)" (34 lines) at http://nopaste.snit.ch/14579
16:05 dalek r32641 | bernhard++ | trunk:
16:05 dalek : [PCT] Make complete_workflow.t work, forgot the {*} in the action
16:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32641
16:05 PerlJam oh, you built it with ICU support.  that makes a big difference too
16:05 PerlJam (or at least it did last time I tried it)
16:05 Infinoid mine was built with icu too
16:05 Infinoid but, then, I'm linking against the icu shared library, not linking it static
16:06 jimmy the libparrot.a file in setup-parrot-0.8.0.exe downloaded from parrot.org is 91M too.
16:06 Infinoid I think win32 must have a lot more static linking going on
16:07 * tewk_ heads to the airport will meet up at pmichaud's gate at SJC
16:08 barney Parrot_Test.t is a pain. Who decided to use 'ok' and 'not ok' as test output from PIR and PASM scripts?
16:10 particle see you later, tewk
16:11 PerlJam barney: Aren't they just following TAP?
16:12 Infinoid barney: well, the failure I'm getting is in the number of leading #'s
16:12 jimmy good night now.
16:12 Infinoid and for one line only
16:13 barney It's TAP on three levels. The test under test check whether PIR or PASM prints "ok\n"
16:14 Infinoid the top level test is testing the TODO output of a failing test
16:14 Infinoid (say that 5 times fast.)
16:15 Infinoid doesn't the output of this stuff vary depending on which version of Test::* the user has installed?
16:16 Coke the not-really TAP internals are very annoying.
16:16 barney And the failing test checks wether a PASM script that prints 'ok' really prints 'not ok'
16:17 Coke it makes it LOOK like it's TAP, but it's just expected output that is similar to tap.
16:17 Infinoid okay
16:17 * Coke wishes he had a decent svn binary search tool.
16:17 Infinoid Coke: svn-bisect? :)
16:18 Coke (sadly, I only have the one I wrote.)
16:18 PerlJam just use git and git-bisect
16:18 Infinoid as the author of a competing svn binary search tool, I'd be very interested in your opinion of "decent" :)
16:19 Coke Infinoid: I still like my automated approach (esp. since some of my tests are very time consuming and I don't want to baby sit them.)
16:19 Infinoid yep, that is what your tool does well
16:20 Infinoid it does require some setup tho
16:21 pmichaud particle:  (capture_lex and eval)   it shouldn't be a problem.
16:22 particle there's definitely a problem with anon subs, though
16:22 pmichaud why?
16:22 particle .sub 'anon' :anon \n ... \n .end .sub 'anon' \n ... \n .end #completely valid pir
16:22 pmichaud I don't understand.
16:23 Zaba joined #parrot
16:23 particle you won't be able to get the 'anon' sub you want to capture
16:23 particle because the name has been reused
16:23 pmichaud anon subs always have unique names.
16:23 pmichaud (and I have a proposal for that for the summit, too)
16:23 particle in pct world, yes
16:24 particle but .include 'any file that contains anon subs'
16:24 particle will mess with it
16:24 particle .const 'Sub' $P1 = '_block1' # oops, _block1 has been redefined
16:24 pmichaud what world are you describing?  Even in the current lexical design we have the case where whatever generates the PIR code has to be able to uniquely locate the sub
16:24 pmichaud whether that PCT or a person, it has to be dealt with.
16:25 particle yes. we have no way to uniquely locate an anonymous sub
16:25 pmichaud I don't see that as a problem for the lex2 branch to solve.
16:25 pmichaud that's a much bigger problem that requires some blessing from allison and a lot of code rewrite from people other than Pm.
16:25 particle true enough
16:26 particle anyway, test just finished on lex2
16:26 pmichaud oh sure, plenty of failures.
16:26 particle 49 failures
16:26 pmichaud I haven't implemented autoclose semantics yet.
16:26 particle not bad, so far
16:26 particle yep
16:26 pmichaud I'm going to do that on the plane.
16:26 pmichaud (which I'll be departing for in about 10 mins)
16:26 particle there are also some bareword method errors
16:26 pmichaud ...bareword method errors?
16:26 pmichaud that's odd.
16:26 particle t/library/File_Spec.t
16:26 pmichaud the lex2 branch was created from trunk last night
16:26 particle yep, it is odd
16:27 pmichaud so if there's bareword method errors in lex, they're in trunk (at least at the point ofthe branch)
16:27 pmichaud s/lex/lex2/
16:27 pmichaud (the lex branch is now obsolete)
16:27 particle can it be removed?
16:27 pmichaud sure.
16:28 dalek r32642 | bernhard++ | trunk:
16:28 dalek : [perl] Change the testdata from  'ok','not ok'  to  'foo','bar'.
16:28 dalek : This should be less confusing
16:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32642
16:29 barney Infinoid: r32642 shouldn't change anything WRT to the 'Expected:' problem
16:29 Coke oh, even better; we're running a test with Harness and then checking to see what the output is?
16:30 Coke ... what is that testing in parrot?
16:30 Theory joined #parrot
16:30 Infinoid barney: yep, looks the same failure, but a bit more readable
16:31 nopaste "Infinoid" at 96.238.213.50 pasted "Output as of r32642" (34 lines) at http://nopaste.snit.ch/14581
16:31 pmichaud okay, off to airport
16:31 pmichaud bbl
16:31 particle cya later
16:37 barney Infinoid: this might even be a bug in your Test::Builder version, a missing '# '
16:38 particle what version is it?
16:38 Infinoid infinoid@chirp ~ % perl -MTest::Builder -e 'print($Test::Builder::VERSION, "\n")'
16:38 Infinoid 0.84
16:39 Coke I'm using 0.74 here.
16:39 Coke (and not seeing a failure in that test.)
16:40 barney Neither with 0.86
16:40 Infinoid it's possibly something that gentoo installed alongside the version that shipped with perl
16:40 Infinoid I get occasional breakage from that.
16:41 jimmy joined #parrot
16:41 * barney is going out for dinner
16:43 * Infinoid tries 0.86
16:43 Infinoid Result: PASS
16:44 Infinoid it seems to me that the number of # before "Expected:" is rather inconsequential.  Should this test be converted to a regex, to just check for the important bits?
16:45 Infinoid or should we blacklist Test::Simple version 0.84 somehow?
16:46 barney or skip the check of the error output with   skip_err => 1
16:50 dalek r32643 | Whiteknight++ | trunk:
16:50 dalek : [Book] Rework the introduction to chapter 3 to not rely on a previous reading of chapter 5, and to be more clear. Move some stuff to chapter 5 where it's more appropriate.
16:50 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32643
16:54 Tene ... Oh, right, I need to arrange for a hotel room.
16:56 ruoso joined #parrot
17:06 Wknight8111_ joined #parrot
17:30 cognominal joined #parrot
17:36 gryphon joined #parrot
17:43 chromatic joined #parrot
17:53 apeiron joined #parrot
18:09 samlh joined #parrot
18:11 Wknight8111 Can we still use the old "S0" syntax for registers, or do we always need to use the "$S0" syntax instead?
18:11 Wknight8111 I know it used to be either-or, but I thought I heard that we were deprecating the old form
18:12 chromatic Use the new syntax.
18:12 chromatic The old syntax still works, as far as I know.
18:13 chromatic ... but you'll make Coke do more work cleaning it up if you add more of it.
18:13 PerlJam Why does Coke need to clean it up?  Don't we have arbitrary number of registers no matter if you use  S54 or $S54  ?
18:14 Wknight8111 I'm trying to update the book, and deciding whether to rip out the sections about "registers" and "temporary registers" and whatever
18:17 Coke PerlJam: it was decided that in PIR, S54 is disallowed, and only $S54 will work.
18:17 Coke ... I am unsure why we don't disallow $S54 instead.
18:17 Coke (less typing)
18:17 PerlJam yeah, that's what I would do
18:18 Coke (well, ok. in PASM, I think it's reasonable to expect that S54 really is register 54.)
18:18 chromatic Then you have the possibility of name collisions.
18:18 Coke but, in any case: I am merely enforcing the will of the architect.
18:18 Coke chromatic: ... I can't find a version where this (*&#$ test file used to work. wtf.
18:19 Wknight8111 in PIR, "S54" is a valid identifier, which means a lousy programmer could make that the name of a variable
18:19 Coke (the one running out of memory); it -used- to work, or it wouldn't be in my spectest list.
18:19 Wknight8111 .local int S54
18:19 Wknight8111 $S54 is not a valid identifier, which makes for easier parsing
18:19 PerlJam makes enough sense to me.
18:19 Coke again, if someone puts a patch together that removes that syntax and attaches it to the ticket, I can make everything build.
18:19 Wknight8111 Coke++
18:20 chromatic "someone"
18:20 chromatic ha
18:21 Coke chromatic, you know you want to. =-)
18:21 Coke I might be able to do the deed there.
18:21 chromatic I have to get on a plane in a couple of hours.
18:22 Coke np. I still haven't dealt with patrick's patch yet.
18:22 Coke release is next week?
18:22 chromatic That's the plan.
18:23 Wknight8111 oh crap, it's the last release before I have to do it in December
18:23 * Wknight8111 has to take very very good notes this time
18:26 particle Wknight8111: you can run through the procedure now if you wish
18:27 chromatic It's easy.
18:27 particle just don't submit to cpan :)
18:28 Wknight8111 yeah, I will definitely practice it a few times before December 18 roles around
18:28 Wknight8111 I'm more worried about coming up with a clever name :)
18:37 Coke Coke, btw, hates the clever name aspect of the release process.
18:43 Coke well, hates is far too strong a word, there.
18:48 particle my names are frequently uncleverer
18:56 Coke yay, happy smolders.
19:01 Infinoid The smoking lamp is lit.
19:22 Coke Infinoid: so, anything else I can do to track down that memory leak?
19:24 Infinoid valgrind's --leak-check=yes output is often very nice, but unfortunately, that apparently wasn't passed as an argument, or maybe it simply doesn't do that check when the process simply ran out of memory
19:25 chromatic alias vgp='valgrind --suppressions=/home/chromatic/d​ev/parrot/tools/dev/parrot.supp --num-callers=500 --leak-check=full --leak-resolution=high --show-reachable=yes parrot --leak-test'
19:25 Infinoid it gives a nice tally of how many bytes were allocated in this many buffers from that line of code.
19:26 hercynium joined #parrot
19:27 Infinoid can valgrind be made smarter about the PObj allocation model?  we don't really call malloc/free that often.
19:28 chromatic I'm not sure how.
19:28 chromatic Running that program under callgrind might be informative though.
19:29 chromatic Then we can see what calls pmc_new or string_from_literal or whatever most often.
19:30 dalek r32644 | Whiteknight++ | trunk:
19:30 dalek : [Book] Update chapter 3 to include prerequisite information that was in chapter 5. Update bit about registers and how they are allocated. Remove deprecated stuff about temporary registers and register spilling. More to do.
19:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32644
19:32 Coke the deps for the OpLib dir are wrong.
19:33 Coke (shouldn't be created by a one of the internal lib tools, it should be created by the build process.
19:36 samlh joined #parrot
19:36 Wknight8111_ joined #parrot
19:40 szabgab joined #parrot
19:40 Coke ... is there any reason for us not to ship an empty directory?
19:41 Coke thus allowing us to avoid having to create it in the first place?
19:45 Coke (meh. unable to duplciate my build failure, so it's moot)
19:49 * Coke wonders why chrmatic's vgp alias has a --leak option after parrot.
19:50 workbench joined #parrot
19:52 Coke (oh, because that's parrot)
19:55 Lorn_ joined #parrot
19:59 barney joined #parrot
20:00 Theory joined #parrot
20:01 Tene Some SCM tools (git, at least, possibly others) can't handle empty directories.
20:02 Tene I don't know if that's a persuasive reason, but that's the only reason I can think of.
20:03 Infinoid I thought git could handle them, but warned about it
20:04 PerlJam "can't handle" isn't quite accurate.  git tracks content and an empty dir has no content.
20:05 particle and a dead man tells no tales.
20:05 particle airport &
20:05 purl That doesn't look right. Try 'airport code for CITY' or 'airport name for CODE' instead.
20:05 particle metar ksea
20:05 particle feh.
20:05 purl KSEA 141953Z 00000KT 10SM BKN080 BKN200 09/04 A3052 RMK AO2 SLP344 T00890039
20:06 Patterner meta EDDH
20:06 Patterner metar EDDH
20:06 Coke but we don't support git. :P
20:06 purl EDDH 141950Z 23011KT 3000 -DZ BR BKN003 10/10 Q1020 NOSIG
20:07 Coke airport ALB
20:07 purl That doesn't look right. Try 'airport code for CITY' or 'airport name for CODE' instead.
20:07 Coke airport name for ALB
20:07 purl KALB is Albany International Airport, Albany, New York USA
20:07 Coke flights to canada daily, baby!
20:07 PerlJam I usually just stick a .dotfile in the dir if I care to have git create an "empty" dir for me.
20:08 Tene Coke: that's why I said that I didn't know if it was relevant or not.
20:12 Coke tene; we don't not support git. =-)
20:12 Infinoid wow, that was deep.
20:13 nopaste "coke" at 193.200.132.135 pasted "longer valgrind output?" (2761 lines) at http://nopaste.snit.ch/14584
20:14 Coke that looks about as informative to me.
20:14 Infinoid yeah, looks like valgrind's leak-checker isn't being run when there's no memory left.  (which makes sense, it needs to build up some big tables to tally all that stuff.)
20:15 Coke So... what can I do? =-)
20:15 * Tene packs, showers, airplanes.
20:15 Infinoid is it something I can reproduce here, throwing gobs and gobs of memory at it?  or is it possible to throw an exit() in there somewhere so it dies before running out of memory, but still having allocated tons of stuff?
20:16 Infinoid I suppose if you knew where it was dying, you wouldn't need valgrind
20:16 Coke You should be able to reproduce it by following the ticket.
20:16 Coke (need parrot and partcl)
20:17 Coke http://rt.perl.org/rt3/Tic​ket/Display.html?id=60540
20:17 Infinoid ok, thanks.
20:17 Coke Infinoid: thank you!
20:23 Infinoid estimated runtime?
20:24 Andy joined #parrot
20:25 Coke on feather it takes minutes to fail (sans valgrind)
20:26 Infinoid presumably, in the past this code took minutes to succeed?
20:28 Infinoid actually, you might not need to find a strategic location to throw in an exit(), ctrl-C is sufficient on my box.
20:29 Coke Infinoid: partcl is slow, yes.
20:29 dmknopp joined #parrot
20:30 Coke Infinoid: (^C) woot
20:32 Infinoid ok, the process memory just started growing a lot more quickly
20:34 Infinoid does 169M of resident memory sound normal for partcl on a 64 bit box?
20:35 Infinoid ah, 208M now... still going.
20:36 Coke should head out towards gigs.
20:36 Coke (if it fails similarly)
20:36 Infinoid ok, I'll leave it running for a while.
20:37 Infinoid I don't think my platform has jit, so it will likely take longer than yours did
20:42 stockwellb joined #parrot
20:43 stockwellb is it okay to have more than one test assertion per PIR sub in the Parrot test suite?
20:44 dalek r32645 | coke++ | trunk:
20:44 dalek : Resolve RT#54000 by removing [DEPRECATED] methods on some PCT classes, along with any usage of the old variants.
20:44 dalek : pmichaud++ for doing all the hard work.
20:44 dalek :
20:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32645
20:46 tewk_ Chillin at SJC Carousel 2
21:01 * Infinoid ^C's it at 605M
21:02 Infinoid ==7296==    definitely lost: 7,608,687 bytes in 187,353 blocks.
21:02 Infinoid ==7296==    indirectly lost: 2,434,458 bytes in 16,582 blocks.
21:02 Infinoid ==7296==      possibly lost: 130,098 bytes in 296 blocks.
21:02 Infinoid ==7296==    still reachable: 295,715,666 bytes in 271,697 blocks.
21:06 dalek r32646 | coke++ | trunk:
21:06 dalek : Add a test for RT #48735
21:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32646
21:07 Coke Infinoid: I never configure with jit, fwiw.
21:07 Coke Infinoid: still reachable == 'leaked' ?
21:07 Coke oh, wait.
21:07 Infinoid it means there's still a pointer to it somewhere
21:08 Coke so, out of 605M, we only leaked 9M?
21:08 Infinoid well, with the PObj model, parrot leaks everything by default and the GC cleans it up, so I'm not so sure that's valid
21:09 Infinoid I don't see any excessive malloc usage here.  the biggest allocations in the list are just from when a random PMC was created, got lucky and parrot allocated another arena on its behalf
21:10 Infinoid so I'm pretty sure all the memory is taken up with GCable elements.
21:10 Infinoid so for something to "leak" on this level, you'd need to be allocating tons of things and storing them somewhere, like in an array or namespace
21:11 Infinoid I think.
21:11 Coke well, tcl/pge/tge certainly do that.
21:11 Coke so perhaps chromatic's callgrind suggestion is boss?
21:11 Infinoid probably
21:13 tewk_ run with -t5 and see who is allocatting objects like crazy
21:14 Infinoid hmm.  I've got parrot using 1.6GB of memory under gdb right now... I don't suppose there's a way to turn -t5 on on the fly?
21:16 tewk_ how long does it take to do this?
21:18 Infinoid 5-10 minutes... I'm worried that it will take much longer to get to this point with tracing turned on.
21:18 nopaste "Infinoid" at 96.238.213.50 pasted "A 149 frame backtrace from partcl, if anyone is curious." (334 lines) at http://nopaste.snit.ch/14585
21:18 tewk_ I'd have to go look and see how tracing works, one minute
21:22 tewk_ ((interp)->ctx.state)->trace_flags = 5;   ??
21:22 tewk_ I know you can change values using gdb, you also have to make sure your using the slow_core
21:22 dalek r32647 | coke++ | trunk:
21:22 dalek : Resolve RT #48735; disallow :: in PIR identifiers; remove any usage of this [DEPRECATED] syntax; un-todo the test that enforces it.
21:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32647
21:23 Infinoid that worked.
21:24 tewk_ (interp)->run_core = PARROT_SLOW_CORE, if you weren't running SLOW_CORE by chance.
21:24 Infinoid I am running the slow runcore, no worries
21:24 Infinoid so, the first thing it output was:
21:24 Infinoid # Calling sub 'parrot;TGE;Tree;_lookup_id'
21:24 Infinoid # current instr.: 'parrot;TGE;Tree;get' pc 137 (TGE/Tree.pir:116)
21:25 tewk_ I'm pretty sure you can even call funcitons from gdb, I'll go hunt down the pir backtrace function
21:27 nopaste "Infinoid" at 96.238.213.50 pasted "Here's the trace spam I got, before it hung again (probably doing another DOD run)." (537 lines) at http://nopaste.snit.ch/14586
21:27 Infinoid yeah, I can do: print <any C expression>
21:27 Infinoid that's how I did the assignment.
21:28 Infinoid $nopaste.summary =~ s/probably //
21:28 Coke I'm afraid you'll spend a lot of time figuring out that partcl/pge/tge are object hogs.
21:29 tewk_ print PDB_backtrace(interp)
21:30 nopaste "Infinoid" at 96.238.213.50 pasted "PDB_backtrace(interp)" (25 lines) at http://nopaste.snit.ch/14587
21:30 Infinoid what's splitNamespace?  it sounds like something that would scale badly.
21:31 tewk_ run it for a second or two and print it out again.
21:31 Coke splitNamespace is a tcl helper method.
21:32 Coke converts tcl namespaces, ala "foo::bar::::baz::" to an array of names.
21:32 Coke (foo,bar,baz)
21:33 nopaste "Infinoid" at 96.238.213.50 pasted "A few seconds later..." (30 lines) at http://nopaste.snit.ch/14588
21:33 Coke (and for relative namespaces, it returns an absolute NS)
21:33 Infinoid oh, ok.  so, string parsing
21:33 Coke ayup
21:33 Coke it passes off the heavy lifting to PGE.
21:33 Coke '&foo' is going to be a tcl subroutine.
21:34 Coke so '&for' is from [for]
21:34 Infinoid I was thinking it might be cloning some big namespace for every eval, or something
21:34 Coke no, but string processing is pretty much as ugly. =-)
21:35 Infinoid but at least it won't take longer and longer as time progresses
21:35 Coke ah, no.
21:35 tewk_ are we recatching the same exception over and over or is a test calling itself over and over?
21:35 tewk_ &catch
21:35 Coke most of the tests use catch.
21:35 Infinoid this is the test case mentioned in http://rt.perl.org/rt3/Tic​ket/Display.html?id=60540
21:36 Coke ok. that's a single top level catch; but it's importing 3K lines of tcl for the test harness.
21:36 Infinoid it is using a HUGE amount of memory... I managed to catch it just before my laptop started going into swap hell.  (1.6GB)
21:37 Coke ayup.
21:38 Coke I wonder if doing the switchover to smaller compilation units would help GC pressure.
21:38 Coke help -ease-
21:39 Infinoid at this point, DOD runs take a long long time.
21:40 Infinoid looking at the trace output, I think its averaging out to only 10 executed PIR instructions per second
21:41 Infinoid or maybe I'm not seeing them all.  (TGE/PGE are written in pir too, right?)
21:41 Coke Infinoid: yes
21:41 Infinoid ok.  I'm not sure I'm seeing any trace output from those.
21:41 Coke yes. ISTR I spent 25% of all execution time in DOD
21:41 Coke (based on -p output)
21:42 Infinoid (not that I really want to)
21:43 Coke whee. running that tcl through tclsh85? 0.08s.
21:43 * Tene barely made it to the plane.
21:44 dalek r32648 | fperrad++ | trunk:
21:44 dalek : [WMLScript] bare method names are [DEPRECATED]
21:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32648
21:47 Coke hurm. -t4 is showing the name it was compiled with, not the name it was invoked with.
21:47 Coke those 'xxx' subs there are really user-defined subs made with [proc]; I compile them as 'xxx' and then move them into the right NS slot.
21:48 stockwellb is it okay to have more than one test assertion per PIR sub in the Parrot test suite?
21:49 Coke what do you mean by assertion?
21:49 Coke like, "ok())" ?
21:49 stockwellb ok,nok...
21:49 Coke sure.
21:49 tewk_ Coke: I think the nopasts are PDB_backtrace not -t4
21:49 Infinoid Coke: -t5 output here: http://nopaste.snit.ch/14586
21:49 stockwellb so five subs with a plan(9) is not against the norm.
21:50 stockwellb Coke, was assertion the wrong word?
21:51 Coke I would just say "test".
21:51 stockwellb got it.
21:52 stockwellb Coke, if the ok() is a test, what is the file.t called?
21:53 stockwellb suite?
21:53 purl rumour has it suite is $59 up to 4 people or shurely correct
21:53 Coke test file.
21:53 purl somebody said test file was at http://ezmlm.foremind.com/test.tif
21:53 Infinoid yeah, or test script
21:53 Coke though it is also confusing also called test. =-)
21:53 purl okay, Coke.
21:53 Coke purl, forget it.
21:53 purl Coke: I forgot it
21:53 Coke ok?
21:53 Infinoid purl, forget though it
21:53 purl Infinoid: I forgot though it
21:53 stockwellb nok :)
21:53 Coke Infinoid++
21:55 stockwellb I'm almost done with proxy.t
22:08 Whiteknight joined #parrot
22:31 someuser joined #parrot
22:49 dalek r32649 | Whiteknight++ | calling_conventions:
22:49 dalek : [calling_conventions] removing post-unification cruft. Need to clear out some things so I can better trace down this segfault.
22:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32649
22:55 silug joined #parrot
23:02 pmichaud seen jonathan
23:02 purl jonathan was last seen on #parrot 1 days, 23 hours, 42 minutes and 3 seconds ago, saying: Safe journey - see you there :-)  [Nov 12 23:20:05 2008]
23:05 pmichaud (S05 versus $S05)   allison and I discussed this at YAPC::EU, and I convinced her we should keep the $S5 syntax in preference to the S5 syntax
23:05 pmichaud she was arguing that $S5 was ugly and needed more typing
23:06 pmichaud my response (and clincher) was that since we really prefer people to use declared symbols, keeping the "temporaries" distinct and ugly would be a good thing.
23:06 pmichaud (and it _is_ easier to parse)
23:07 Whiteknight Yay! that's what I said
23:08 Coke "if someone wants to make a patch that..."
23:08 pmichaud I don't know that we were going to immediately eliminate the S5 form, though.
23:10 dalek r32650 | pmichaud++ | lex2:
23:10 dalek : more updates to lexicals.  all tests expected to pass do so.
23:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32650
23:20 ruoso joined #parrot
23:23 TiMBuS joined #parrot
23:25 DietCoke joined #parrot
23:33 Limbic_Region joined #parrot
23:39 dalek r32651 | coke++ | trunk:
23:39 dalek : Resolve RT#57432, remove [DEPRECATED] .HLL_map syntax.
23:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32651
23:55 Coke what does $$=0 mean in .y ?

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

Parrot | source cross referenced