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