Parrot 2.11.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | More gci tasks | Merge html_cleanup | Get Plumage working | Review current embedding api | Study EventHandler | Run examples_tests, test HLLs before merges
Set by moderator on 31 December 2010.
Yuki`N Also I'm still getting issues with the packfile api. 00:00
Jumpyshoes how do i tell how much of a file is covered by a test? 00:01
cotto aloha, coverage? 00:02
aloha cotto: coverage is cv.perl6.cz or tapir2.ro.vutbr.cz/cover/cover-results/
cotto Jumpyshoes, ^
aantn rfw: you've got some competition around :P
cotto Jumpyshoes, also use make fullcover or cover 00:05
aantn Jumpyshoes: and run make codetest before committing - that checks coding style, leading whitespace, etc. 00:08
Jumpyshoes okay, thanks 00:11
derp, i need cover and gcov2perl 00:12
sigh, let's see if i can set up chroot 00:13
this is not working
nwellnhof Jumpyshoes: you have to install the Devel::Cover Perl module. 00:14
aantn Jumpyshoes: the chroot wont help you with that
Jumpyshoes i'm not sure if i can
aantn Jumpyshoes: you'll have to go through all the sam steps, plus a few others
cotto Jumpyshoes, if you don't want to bother, you can use tapir2.ro.vutbr.cz/cover/cover-results 00:15
Jumpyshoes what i want to do is see how much coverage i have after i change things
aantn Jumpyshoes: don't go with the chroot unless you absolutely have to
Jumpyshoes: you can download the Devel:Cover module and set the install prefix as you would with any makefile project 00:16
(I think(
Jumpyshoes hrm, i see
aantn Jumpyshoes: err, that's if you install perl yourself :( 00:17
Jumpyshoes: www.perlmonks.org/?node_id=250422
cotto afk
Jumpyshoes this is lovely, i don't have enough disk space to install perl 00:18
aantn Jumpyshoes: sorry, I need to run - just read the link yourself or google - I only scanned the page, so perhaps I got it wrong 00:19
Jumpyshoes: you may not need perl after all - that was my first impression on scanning
Jumpyshoes pastebin.com/fNPMUbvD no, i think you're right 00:20
aantn Jumpyshoes: ask in #perl 00:21
Jumpyshoes: anyway, gtg. good luck!
Jumpyshoes thanks 00:22
00:26 Coke left
dukeleto ~~ 00:27
00:27 aantn left 00:30 nwellnhof left
dukeleto Jumpyshoes: welcome! 00:30
00:31 kennym left
Jumpyshoes hey 00:31
Yuki`N Hmm, apparently my version of gdb does not have python pretty-printer support. 00:43
00:44 kid51_at_dinner is now known as kid51, Coke joined
dalek TT #1900 closed by jkeenan++: Change names of 'make' coverage targets 00:51
TT #1900: trac.parrot.org/parrot/ticket/1900
dukeleto Jumpyshoes: what task are you working on? 01:00
rfw holy crap it's Jumpyshoes
Jumpyshoes hi rfw
dukeleto Jumpyshoes: i am the gci org admin for Parrot and Perl
Jumpyshoes dukeleto: socghop.appspot.com/gci/task/show/g...9395090916
rfw Jumpyshoes: enjoy your pbc_disassemble task
Jumpyshoes i'm having some issues witih perl, but i am working on it
rfw: wat
dukeleto Jumpyshoes: cool
rfw: what are you working on? 01:01
rfw dukeleto: just got back from lunch
Jumpyshoes i'd like to start on something easy though
rfw dukeleto: i'll get started on the rational dynpmc now
did anyone reply to my ticket about Continuation.continuation? 01:02
nope :(
Jumpyshoes oh great, perl custom install is failing make test 01:03
01:04 Nol888 joined
rfw who the hell thought up this rational[base] feature 01:05
Jumpyshoes at least perl is working for you 01:06
rfw Jumpyshoes: what's broken
Jumpyshoes everything
namely i don't have root --> lol fuck me
rfw lol 01:07
what's an error?
Jumpyshoes it's failing make test
rfw is there a specific error?
Jumpyshoes yea, but it scrolled offscreen
rfw hm, tee it to a log file?
Jumpyshoes yea, that's what i plan to do 01:08
after this runs
01:08 Coke left 01:09 Yuki`N left
rfw how does throws_substring work again? 01:10
Nol888 throws_substring(code, substring, desc); 01:11
Use a heredoc.
for codew
rfw ah okay
thanks
Nol888: what the hell is bool 01:13
what pmc is it, i mean 01:14
dukeleto Jumpyshoes: what version of perl are you installing? 01:15
rfw: sometimes it takes people a few days to respond to tickets
rfw ah, okay
Jumpyshoes dukeleto: 5.12.2
dukeleto rfw: pmc = parrot magic cookie or polyMorphic container
Jumpyshoes dukeleto: pastebin.com/3ZrmdXdh fails with this
rfw dukeleto: how do i invoke the get_bool vtable?
dukeleto rfw: attempt to use the PMC in boolean context
Jumpyshoes: i wouldn't let it block you from your task 01:16
Jumpyshoes: just install it. you can report a bug to them, of course
Jumpyshoes i don't have root access, can't install. but i'm building it in my home dir
dukeleto Jumpyshoes: those tests won't effect the part of perl you will use
Jumpyshoes: why not just use /usr/bin/perl ? 01:17
Jumpyshoes: do you have a /usr/bin/perl ?
rfw dukeleto: what uses a PMC as a boolean value?
dukeleto Jumpyshoes: which version? parrot just needs 5.8.4 or higher (which is really old)
Jumpyshoes dukeleto: perl is installed on this computer, but i can't install other libraries, e.g. cover
dukeleto rfw: anything that wants to know the truthiness of a PMC
Jumpyshoes dukeleto: i'm using version 5.12.2
dukeleto Jumpyshoes: you should use local::lib and cpanminus to fix that
Jumpyshoes: local::lib lets you install perl modules in your home directory easily 01:18
Jumpyshoes dukeleto: could you link me to something that explains that?
rfw ah, istrue
dukeleto Jumpyshoes: perl.jonallen.info/writing/articles...thout-root
Jumpyshoes: search.cpan.org/~apeiron/local-lib-...cal/lib.pm
Jumpyshoes dukeleto: thank you
rfw now what the hell is mpq_cmp_si 01:19
dukeleto rfw: lulz
rfw: mpq is a prefix for rational functions
rfw: it comes from GMP 01:20
rfw ah okay
dukeleto rfw: cmp is the comparison function
rfw: si is probably "signed integer" or some junk
rfw: mpq is the prefix for arbitrary precision rationals, rather
01:20 chromatic left
rfw hm apparently mpq_cmp_si of a rational pmc witht the value of 0 against num=0 den=0 is true 01:20
dukeleto rfw: mpf is for floats, etc... 01:21
rfw dukeleto: i'm looking at if (mpq_cmp_si(RT(SELF), 0, 0))
dukeleto rfw: you could be hitting bugs. make a ticket for anything that doesn't make sense to you, and we will take a look. just write a TODO test
Jumpyshoes: github.com/miyagawa/cpanminus
rfw which should be true if both the denominator and numerator are 0 01:22
Jumpyshoes dukeleto: i almost installed local::lib, but now i'm stuck at trying to set up environment variables. perl -I$HOME/perl5/lib/perl5 -Mlocal::lib doesn't do anything
dukeleto Jumpyshoes: as long as you have local::lib and cpanminus working, you are good to go. let me know if you hit a snag
Jumpyshoes dukeleto: as in, it prints nothing 01:23
no it doesn't. i typoed. my bad
dukeleto Jumpyshoes: :)
rfw whoever wrote these inplace tests obviously has no idea how in place works 01:24
$P1 = $P1 - $N1
is($P1,'-25/2','subtract float inplace')
dukeleto rfw: what does git blame say ?
01:24 Coke joined
rfw 8278a40c (Bernhard Schmalhofer 2008-05-11 11:32:08 +0000 281) $P2 = $P2 - $P3 01:24
ff92bd55 (Jonathan "Duke" Leto 2010-03-18 06:43:20 +0000 282) is($P1,-1,'subtract Rational inplace')
i blame you!
dukeleto rfw: dammit 01:25
Jumpyshoes dukeleto: do i need cpanminus? i have perl installed
dukeleto rfw: i could have been moving crap around, but i am probably partially to blame
Jumpyshoes: cpanminus makes it easy to install CPAN modules into local::lib
rfw ah okay i'll just fix thwaw
dukeleto Jumpyshoes: but it isn't necessary
Jumpyshoes: it would help with installing Devel::Cover and stuff like that, though
Jumpyshoes dukeleto: i see 01:26
dukeleto Jumpyshoes: cpanminus is *much* faster than the normal cpan client, as well. like seconds instead of minutes 01:27
rfw: the rational dynpmc doesn't show up in coverage reports for parrots that are not compiled with GMP, just fyi 01:28
Jumpyshoes dukeleto: ah, okay 01:29
rfw dukeleto: ah, mine is
so it does show up
dukeleto msg mj41 can we get the parrot that generates coverage reports to be compiled with GMP? some coverage is low because GMP tests don't run 01:31
aloha OK. I'll deliver the message.
Nol888 This is why I love C-debugging
(gdb) print *((struct _str_vtable *) (*new_attrs->filename)->encoding)
Wonderful.
dukeleto Nol888: looks fun
Nol888 Yes, all for the sake of correctly pretty-printing strings. 01:32
dukeleto Nol888: pretty printing PMC attributes would also be tremendously useful
rfw: socghop.appspot.com/gci/task/show/g...9401835069 01:33
rfw dukeleto: claimed 01:34
dukeleto rfw: accepted
rfw working on it
01:34 Coke left
dukeleto rfw: what is the code coverage on gziphandle dynpmc on your machine? 01:35
rfw: and subproxy as well?
rfw 63.7
and 8.3
aloha 8.3
dukeleto good lord. I will make tasks.
rfw haha
how do i use TODO in pir tests? 01:36
dukeleto rfw: you call the todo() function, which sucks 01:37
rfw ah
dukeleto rfw: todo tests in PIR suck, but that is how they work now
rfw so i'll have to push_eh then pop_eh?
dukeleto rfw: to do what?
rfw well
currently, comparing rational with float raises an error 01:38
so i'm going to push_eh when i cmp then put a todo in the eh
dukeleto rfw: that should work for now 01:40
Nol888 dukeleto, I'm writing a string pretty-printer right now. 01:41
dukeleto Nol888: awesomesauce! 01:42
01:43 Nol888 left
dukeleto Nol888: i will add the task. are you waiting on other task stuff right now? 01:43
01:43 Nol888 joined
dukeleto just added 2 more gci tasks relating to gziphandle dynpmcs 01:43
Jumpyshoes are there any guides to increasing test coverage? 01:47
rfw Jumpyshoes: learn PIR, mainly 01:48
01:50 fbrito left
dukeleto goes. be back later. 01:51
Jumpyshoes now is there a tutorial for PIR?
rfw trac.parrot.org/parrot/wiki/PIR%20Tutorial
Jumpyshoes thanks
rfw don't thank me, thank google
Jumpyshoes :effort: 01:52
rfw oh, i figured out the problem with get_bool
if (mpq_cmp_si(RT(SELF), 0, 0))
can you even have a denominator of 0
01:53 Kapace_ left
kapace__ wtf? 01:53
kapace__ jumps to the other computer
oh, I unplugged the wrong cable, nvm :P 01:54
Jumpyshoes lolwtf, make cover created a file i can't delete 01:58
plobsing_ can't?
Jumpyshoes apparently rm doesn't think it exists
rfw what is it? 01:59
did you try putting \\ in front of weird symbols
plobsing_ you could also use unlink() from your programming language of choice
Jumpyshoes -parrot-tools-build-------lib-Parrot-Pmc2c-PCCMETHOD-pm.html
rfw ahaha, yeah
Jumpyshoes lol. 02:00
rfw stabs dukeleto for adding the word "inplace" in the weirdest places
Jumpyshoes hurr hurr thank god for python
and thank god that i learned how to use it last year
02:01 whiteknight joined 02:03 Kapace joined
sorear you should just put -- in front 02:04
Jumpyshoes i still don't know how to find out what % is covered by a test. make cover blows up on me 02:10
rfw Jumpyshoes: don't use make cover
use make quickcover_new 02:11
or is it cover_new
try cover_new
Jumpyshoes cover_new runs! let's see what happens
if i get -parrot-tools-build-------lib-Parrot-Pmc2c-PCCMETHOD-pm.html again i'm gonna stab you
rfw lol
whiteknight: are you there? 02:15
dukeleto is back
rfw hey dukeleto
i submitted a pull request
whiteknight rfw: yes
rfw coverage is at 99.5% because of trac.parrot.org/parrot/ticket/1928
whiteknight: never mind, i have dukeleto! 02:16
sorear Jumpyshoes: rm -- -parrot*
dukeleto rfw: ok :)
whiteknight rfw: forget dukeleto! you want me!
Jumpyshoes sorear: got python to delete it
rfw whiteknight: it's not you, it's me :(
whiteknight :)
dukeleto rfw: whiteknight can do reviews/pull request, i can do task stuff
rfw oh okay 02:17
whiteknight: looks like i do want you, after all!
whiteknight: see www.google-melange.com/gci/task/sho...9401835069
dalek rrot/gci_rational_coverage: ea0ad4a | rfw++ | t/dynpmc/rational.t:
Increased coverage of rational dynpmc to 99.5%
02:19
rfw whiteknight: can you close too 02:21
whiteknight rfw: sure. I'm running the test now
rfw ah okay
i just do "make cover-dynpmc && lcov -b . -c -d src/dynpmc/rational.pmc > out.lcov && genhtml -o /mnt/vboxsf/home/cover_db/ out.lcov" :D 02:22
Jumpyshoes: how's your make cover_new
Jumpyshoes still running 02:23
rfw yeah it takes ages
8278a40c (Bernhard Schmalhofer 2008-05-11 11:32:08 +0000 400) if (mpq_cmp_si(RT(SELF), 0, 0)) 02:24
who is bernhard schmalhofer
dalek rrot/spaces_in_paths: 7041976 | jkeenan++ | config/ (2 files):
We assign to $RPATH_BLIB, so let's use it. Fix double quotes in assignment to '@rpath_blib'.
02:25
rrot: ea0ad4a | rfw++ | t/dynpmc/rational.t:
Increased coverage of rational dynpmc to 99.5%
rrot: 4102704 | Whiteknight++ | t/dynpmc/rational.t:
Merge remote branch 'origin/gci_rational_coverage'
kid51 Bernhard Schmalhofer = Barney
Was very active a couple of years back.
rfw ah
kid51 Was developing PIRC
plobsing_ what? I thought that was kjs
whiteknight rfw: c-c-closed! 02:27
yes, kjs was developing PIRC
rfw whiteknight: www.google-melange.com/gci/task/sho...9401895780 approve
plobsing_ CREDITS has Bernhard Schmalhofer as bernhard, creator of Pipp, Eclecticus, and release manager for some fairly old parrots
then again, my CREDITS entry isn't entirely up to date either, so I shouldn't complain 02:28
whiteknight We are officially over 150 closed tasks 02:29
rfw whiteknight: www.google-melange.com/gci/task/sho...9401895780 approve
er
dalek TT #1928 created by rfw++: get_bool function of Rational dynpmc
TT #1928: trac.parrot.org/parrot/ticket/1928 02:30
whiteknight kudos to all these hard-working GCI students
rfw wrong window to press up and enter in
whiteknight rfw: it's approved.
rfw thanks
whiteknight parrot world is going to be so slow and boring when GCI is over 02:31
rfw i guess you're going to need a parrot code-in
whiteknight srsly
dukeleto rfw: we might just do that 02:32
rfw is the parrot headquarters some kind of huge birdcage
dukeleto rfw: then there will only be only task difficulty level, "trivial" which is worht -0.0e0 points 02:33
rfw haha
dukeleto rfw: we have a parrot cave, similar to the bat cave. The bat cave is actually modeled after the parrot cave.
rfw is there a parrotmobile
dukeleto rfw: yes, it is called "my bicycle" :)
rfw heh 02:34
Jumpyshoes pastebin.com/yCHLXRPZ www
rfw Jumpyshoes: you forgot to install devel::Cover wwww
Jumpyshoes i did.
rfw odd 02:35
you could invoke it manually
i guess
dukeleto Jumpyshoes: did you set the proper env vars? in the current terminal?
Jumpyshoes: env |grep PERL
Jumpyshoes shit. i set it in the other terminal
dukeleto Jumpyshoes: you need your PERL5LIB to include your local::lib directory
rfw haha, awesome 02:36
dukeleto Jumpyshoes: yep. Happens to me very often :)
Jumpyshoes hrm. i might need to remake this.
dukeleto melange has decided to go on vacation
rfw get_integer() not implemented in class 'FileHandle'
where i have $I1 = $P0.'flush'()
this.. doesn't make any sense 02:37
dukeleto rfw: FileHandle doesn't know how to be an Integer
rfw dukeleto: but i'm doing $I1 = $P0.'flush'()
dukeleto rfw: you are trying to put it into $I1, which is for integers
02:37 contingencyplan left
dukeleto rfw: you probably need $P1 = ... 02:37
rfw dukeleto: no i'm calling the flush method
plobsing_ why does FileHandle.flush() return a Filehandle?
rfw and storing the INTVAL in $I1
148 : : RETURN(INTVAL status); 02:38
dukeleto rfw: flush should return an int, if it doesn't, that is probably a bug
plobsing_ src/pmc/filehandle.pmc:METHOD flush() does not RETURN() anything
rfw oh whoops 02:39
i was doing it on a filehandle
when i meant gziphandle
plobsing_ PCC should detect this and throw an error
rfw thought it was something stupid
dukeleto Nol888: www.google-melange.com/gci/task/sho...9402219698
plobsing_ rfw: you have unearthed an interesting bug though.
02:39 fbrito joined
rfw plobsing_: ah 02:39
dukeleto plobsing_: and that is why code coverage tasks are very valuable ;)
Nol888 dukeleto, requested. 02:40
rfw plobsing_: not sure if this is worse than "expected 4 positional arguments, got 4"
kid51 GCIers: What OSes are you working/testing on?
rfw kid51: linux
kapace__ kid51, Ubuntu 10.10
plobsing_ rfw: clearly you should have used fewer, but not less than there already were ;)
rfw some rolling release of archlinux
02:40 TonyC left
kid51 Anyone on Win32 or any BSD? 02:40
rfw win32 refuses to play nice with parrot :( 02:41
by some fault of my own probably
plobsing_ thinks we might need a parrot-dev-environment MSI. it is apparently possible to dev parrot on win32, but everyone who tries has problems. 02:42
02:42 nopaste left
kapace__ boo msi-- 02:42
rfw karma msi
aloha msi has karma of -1.
kapace__ zip ftw
rfw haha
Jumpyshoes what is lcov
i thought i had that... 02:43
kid51 Anyone on Darwin?
Nol888 100\t new_attrs->filename = old_attrs->filename;
(gdb) print new_attrs->filename
$1 = "README"
success
plobsing_ Nol888++ 02:44
karma Nol888
aloha Nol888 has karma of 1.
02:44 Nol888 is now known as Yuki`N
plobsing_ (karma-able nicks)++ 02:44
Yuki`N lol
Yes.
I should probably change that over in CREDITS.
plobsing_ N++ # for the lolz 02:45
kid51 All these mutable IRC handles are confusing me.
02:45 plobsing_ is now known as plobsing
rfw $P3.'open'('this_file_should_not_exist'); why do i keep adding these semicolons 02:46
plobsing rfw: you are in the HLL-ASM uncanny valley that is IMCC
rfw lol
dukeleto rfw: IMCC is the recursive turtle that parrot currently sits on 02:48
rfw: one day soon we will switch to something else, and that will be a great day 02:49
rfw: hopefully PIRATE
aloha pirate? 02:50
aloha dukeleto: Sorry, I don't know.
rfw pirate?
dukeleto aloha PIRATE?
aloha dukeleto: No clue. Sorry.
dukeleto botsmack
dukeleto grumbles
plobsing yarrr
rfw dukeleto: i don't think i can reach 100% coverage with gziphandle
some of the cases are really hard to do
02:50 bacek joined
rfw like Z_MEM_ERROR 02:50
dukeleto rfw: get as close as possible
rfw hey, let's corrupt the memory in the gziphandler test! 02:51
dukeleto rfw: can you get to 95% ?
rfw 79.1% right now
probably the best i can get it
dukeleto rfw: hmmmmmm
rfw: you sure?
rfw hold on
dukeleto: rofflwaffls.no-ip.info/src/dynpmc/g....gcov.html
dukeleto rfw: i would like to see 90% or so
rfw all the things that can't be covered are error casses
and i don't think they're particularly easy to cover 02:52
dukeleto rfw: some of the exceptions can be done easily
rfw hm, which?
dukeleto rfw: one of them is corrupt input, that should be easy
rfw oh, doh
missed that completely
dukeleto rfw: yes, the failed to allocate errors are hard to test 02:53
rfw yeah
Yuki`N dukeleto, would you like to automatically dereference pointers to PMCs and STRINGs? 02:54
dukeleto rfw: just put a note when you submit the task memory allocation stuff was too hard to test and that you talked to me about it
Yuki`N: yes, please and thank you
Yuki`N Ok.
Finished with the strings part.
dukeleto Yuki`N: but perhaps knowing the mem address of them would be useful too
Yuki`N You can do that with print /x
dukeleto Yuki`N: ok, good to know
fbrito I am having problems with get_attr_keyed vtable on Object PMC. How to run it?
dukeleto fbrito: hrm 02:55
fbrito: that means create a "Key PMC" with ['Foo'] syntax, and then use it to look something up on an Object
fbrito hm... with get_attr_str I can look up a attribute by its name, but get_attr_keyed has both key and string as parameters 02:57
Jumpyshoes how do i add a directory to my path in .bashrc? 02:58
sorear export PATH=newdir:$PATH
dalek rrot/spaces_in_paths: c7b8ae8 | jkeenan++ | config/init/hints/darwin.pm:
Insert double-quotes where needed to handle wordspaces in paths.
Jumpyshoes sorear: thanks
rfw dukeleto: www.google-melange.com/gci/task/sho...9401895780
fbrito dukeleto: look my test code, where I used get_attr_str: pastie.org/1424739 03:01
rfw eh my pull requests are still sorta wonky 03:02
oh well
Jumpyshoes pastebin.com/9mGBPwEF has anyone had this error before? 03:03
fbrito Jumpyshoes: not me
Jumpyshoes lovely 03:04
oh, probably cause i'm a retard
rfw Jumpyshoes: parrot sure doesn't like you
Jumpyshoes i know. 03:05
this is ridiculous 03:06
dukeleto rfw: you need to add the main parrot repo as another git remote 03:07
rfw dukeleto: i did
i have it called "other"
dukeleto rfw: what is your workflow? how do you keep stuff up to date?
rfw git pull
dukeleto rfw: git fetch --all will update all remotes 03:08
03:08 bacek_ joined
rfw ah 03:08
plobsing rfw: the bug you helped identify has been distilled into TT #1929
dukeleto rfw: and then you can do "git rebase other/master" to update your master branch
rfw ah, okay
dukeleto rfw: then you will have an up-to-date master to branch from
Yuki`N dukeleto, how are pmc data attributes stored? 03:09
I see DPOINTER *data;
But apparnetly that's a generic pointer.
rfw plobsing: i accidentally a whole fluent interface
plobsing Jumpyshoes: was the rational dynpmc built?
Jumpyshoes ... good question 03:10
03:10 whiteknight left
rfw dukeleto: de-wonkied 03:10
plobsing Yuki`N: it needs to be cast to the appropriate type. each *.pmc file defines a struct.
03:10 Yuki`N left
dukeleto rfw: your pull requests look a little wonky because you are usually using a slightly out of date master, but 03:11
plobsing Jumpyshoes: look for rational.so
dukeleto rfw: stuff "comes out in the wash"
rfw dukeleto: i fixed pull request 90 now
rofflwaffls wants someone to pull 1 commit into parrot:master from rofflwaffls:gziphandle_coverage
fbrito where should I use the key in getattribute to call get_attr_keyed vtable? pastie.org/1424739
03:12 Yuki`N joined
plobsing Jumpyshoes: it should be under runtime/parrot/dynext 03:12
Yuki`N plobsing, how can I read PMC name, etc from gdb?
Jumpyshoes plobsing: i'm waiting for this to finish running, i'll do it after that
plobsing Yuki`N: the algorithm I use is to look at pmc->vtable->whoami 03:13
Yuki`N Ah.
rfw dukeleto: www.google-melange.com/gci/task/sho...9401895780 <-- could you close
dukeleto rfw: looking
Yuki`N And dukeleto was talking about the attribute list, but I'm not sure how to do that.
plobsing there are possibly other vtable entries that are more appropriate
03:13 bacek left
plobsing Yuki`N: as an example, to view attributes of an Integer pmc, I do the following 03:14
dukeleto rfw: completed
rfw thanks
plobsing *((Parrot_Integer_attributes *)pmc->data) 03:15
dukeleto Yuki`N: there is probably a bit vector of flags of various attributes
rfw dukeleto: and the other gziphandle task too?
plobsing dukeleto: oh, you meant the flags and things?
dukeleto rfw: submit it with the same pull request
rfw dukeleto: www.google-melange.com/gci/task/sho...9401891500 requested
dukeleto plobsing: i don't know. i just want the pretty printer to be appropriately pretty
Yuki`N well in the vtable struct I see const char *attribute_defs; 03:16
dukeleto rfw: accepted
rfw dukeleto: submitted 03:17
03:19 gbacon left
dalek TT #1929 created by plobsing++: incorrect null-return from method calls 03:19
TT #1929: trac.parrot.org/parrot/ticket/1929
dukeleto Yuki`N: www.google-melange.com/gci/task/sho...9402487888 03:22
Yuki`N (gdb) print copy
$1 = PMC<FileHandle>
God this so far. 03:23
*got
dukeleto Yuki`N: nice! 03:25
kid51 msg nwellnhof Can you review spaces_in_paths branch (re TT #1927)? If it looks good, feel free to merge into master. Thanks.
aloha OK. I'll deliver the message.
dukeleto just added a gdb parrot backtrace task
Jumpyshoes rfw: is there a way to only run cover on one test
rfw Jumpyshoes: sort of
dukeleto www.google-melange.com/gci/task/sho...9402505935
dukeleto eats dinner 03:26
rfw dukeleto: could you close my task when you can
Jumpyshoes: there are cover targets in the makefile
which you can invoke
then manually generate reports for
Jumpyshoes oh
rfw they're internal targets
so it's kinda naughty
dukeleto rfw: will try. melange is borky 03:27
03:27 lucian left
rfw thanks 03:27
dukeleto rfw: task completed. Dinner commencing
rfw enjoy 03:28
03:30 Yuki`N left, Yuki`N joined
Yuki`N Well I tried printing out the attribute structure but. 03:31
I used filehandle, and that included the buffer...
So I think I'll just print out PMC<Type> 03:32
Jumpyshoes hrm, so what does pbc_disassemble do exactly 03:35
rfw disassembles parrot bytecode
hurf
Jumpyshoes how do i get it to blow up 03:36
rfw give it broken bytecode?
Jumpyshoes good idea
can i run the file by itself? 03:37
rfw ./pbc_disassemble --help
Jumpyshoes hrm, i see 03:39
and how do i run a specific test?
rfw prove t/blah
run with -v for verbose 03:40
Jumpyshoes okay
let's see how bad this fails
rfw i think i wrote some pbc_disassemble tests :> 03:41
Jumpyshoes no wonder this code is incomprehensible 03:42
rfw onl4u
only*
i just wrote that evil regex 03:43
$helpregex
Jumpyshoes >You planned 9 tests but ran 10. 03:44
oops
rfw lolol
obviously, you must remove one 03:45
Jumpyshoes or add one
since i'm... adding one
rfw holy crap there is a lot of stat opcodes
Jumpyshoes qr/set_s_sc S0,utf16:"$utf16"/ms 03:47
what does this do?
rfw it's a regex
matches set_s_sc S0,utf16:"$utf16"
Jumpyshoes qr/set_s_sc is regex?
rfw no, everything inside the //s
Jumpyshoes oh 03:48
Yuki`N dukeleto, care to review some stuff?
rfw Yuki`N: he's at dinner 03:50
Jumpyshoes is there a regex for every character possible 03:52
cotto . 03:53
rfw Jumpyshoes: what cotto said 03:56
03:56 Nol888 joined
Jumpyshoes hrm, i see 03:57
03:57 Yuki`N left, Nol888 is now known as Yuki`N
cotto /./ will match any single character. /.*/ will match any sequence of characters, length 0 or more 03:57
Jumpyshoes i see 03:59
thanks
03:59 patspam joined, patspam left
Yuki`N cotto, what version of gdb do you have? 03:59
Jumpyshoes rfw: in disassemble_raw_output_like, you do " my $out = `$exefile $options`;"
03:59 Matt221 left
Jumpyshoes does that capture output to stderr? 03:59
cotto 7.0 apparently
rfw Jumpyshoes: i'm not sure
Jumpyshoes i don't think so
rfw i think so
oh
Jumpyshoes since it's printing stuff
rfw or
your regex doesn't match
i think it does capture stderr 04:00
Jumpyshoes i mean, it's printing stuff BEFORE my regex fails
rfw odd
Jumpyshoes pastebin.com/np6chcvy
as an example
rfw $I2 = tell $P0
is( $I2, $I0, 'seek_p_i_i' )
who the hell did this
ah 04:01
Jumpyshoes cotto: is there a way to capture output to stderr?
rfw oh, --help is printing to stdout
o_O
Jumpyshoes rfw: yes. fml
parrot h8 me
Yuki`N Hmm, apparently python pretty-printers were introduced in a high-numbered revision of gdb 7.2 04:02
cotto Jumpyshoes, in what context? 04:03
Jumpyshoes cotto: i'm running pbc_disassemble from a test, and i want to capture output from stderr 04:04
my $out = `$exefile $options`; <-- for example, like this. except this only captures output from stderr
cotto Do you need both stderr and stdout? 04:05
Jumpyshoes just stderr
plobsing 2>&1 1>/dev/null
cotto 1>/dev/null 2>&1
Jumpyshoes oh 04:06
what if i wanted both?
Yuki`N plobsing, what's your gdb version?
Jumpyshoes 1>&1 2>&1?
cotto just 2>&1, but they'd be combined
Jumpyshoes ah, i see 04:07
plobsing Yuki`N: 7.2-2, but I'm willing to build from repo to get this
Jumpyshoes hrm, so i'm trying to add test coverage for: tapir2.ro.vutbr.cz/cover/cover-resu...ble-c.html
Yuki`N plobsing, you can actually just build from snapshot
I have 7.2.50.20110102
Jumpyshoes is there a regex that matches all errors <_<? (168-184)
Yuki`N Anything 7.2.50 should have it.
Make sure you have python when you're compiling, etc. 04:08
It's gdb_pretty_print in my fork, github.com/nol888/parrot 04:09
Right now I only have one for STRING, and a basic one for PMC which prints PMC<pmctype> 04:10
plobsing even not having to query the PMC type would be nifty.
Jumpyshoes what file tests frontend/parrot/main.c
plobsing same with strings
proper PMC auto-deref was my ultimate aim, but I understand that would be quite hard 04:11
Yuki`N PMC auto-deref?
plobsing Jumpyshoes: t/run is your best bet 04:12
Yuki`N I have code to dynamically dereference the attributes struct while printing but that means every time a pmc is printed (function arguments, etc), the complete attribute struct would be printed.
Not sure if that's wanted behavior.
Jumpyshoes plobsing: i see, thanks 04:13
plobsing Yuki`N: probably not in all cases. it would be nice to have it available as some kind of p/xyz option
Yuki`N Not quite sure if that's possible but I will investigate.
plobsing Yuki`N: it might not be. I can dream though... 04:14
Jumpyshoes is there any faster way to do make cover_new @_@ 04:16
Yuki`N plobsing, actually, I can make the PMC show up as "..." when gdb prints a frame, and "PMC<Type> { attributes }" otherwise.
plobsing thats a sane compromise. I assume it's not just "...", but something like "PMC ...". 04:18
04:18 kid51 left
rfw how do i revert a setstdin? 04:21
Yuki`N No, it's actually just ...
As if it were an array.
plobsing rfw: you need to keep track of the original to be able to set it back later 04:22
rfw plobsing: how do i get the original?
plobsing getstdin
rfw getsd
ah
thanks
plobsing Yuki`N: that's still better than nothing 04:23
Yuki`N plobsing, I think what I'm going to try to do is make a PMC seem like a map 04:24
to_string will return PMC<Type>
And the contents will be the attributes.
That way it can be affected by gdb element-printing options and what now.
*whatnot
plobsing who in the what now? 04:25
Yuki`N Hmm.
gdb has options you can use to control how many elements of an array or etc are printed.
So this will allow gdb to control this in the same manner.
plobsing sounds reasonable 04:27
Jumpyshoes where is PARROT_ASSERT_ARG defined? 04:37
plobsing 'make tags-vi; vim -t PARROT_ASSERT_ARG' ==> include/parrot/api.h 04:41
<3 tags
Jumpyshoes i see 04:42
dalek m-eta-wink-kzd: 3c011b7 | plobsing++ | src/o (2 files):
coerce to string addition

concatenation is *not* +. Stop making languages stupid like this, please!
m-eta-wink-kzd: d85e2ab | plobsing++ | src/ (4 files):
fix upcalls, apply-with-args, and string escapes
04:43 chromatic joined
plobsing Jumpyshoes: your editor of preference likely has tags support. might want to look into how to use that. I find it increadibly useful. 04:43
Jumpyshoes vim, there are way too many tricks and shortcuts for me 04:44
i just use / and :
rfw Jumpyshoes: do you use y and p
and v
Jumpyshoes oh
i use v
and y
and p
rfw yeah
Jumpyshoes whatever
and G
and gg
rfw heh
Jumpyshoes same difference, i use like 5 commands total
rfw i sometimes window split 04:45
Jumpyshoes oh, i use vsplit too
rfw but most of the time i'm using screen
Jumpyshoes how do i request a commit
or pull
whatever they call it
rfw go to github
and pull request
you have to fork parrot first
Jumpyshoes i like d_s's method much more
rfw blah 04:46
plobsing Jumpyshoes: what method is that?
Jumpyshoes we give me patch files he and he does it for us
plobsing that is basically what github pull-request does, but with a bunch of hoops involved 04:47
Jumpyshoes how do i push commits to github? 04:48
rfw git push
Jumpyshoes how does github know who i am? 04:49
rfw you give it your ssh keys
herp, peek isn't wanting to give me a null string
Jumpyshoes fdsnafd github
plobsing Jumpyshoes: if you want a "just send me a patch" workflow, I'm pretty sure we can handle that too. 04:51
just open a ticket on trac.parrot.org and attach a patch, and then notify a GCI mentor.
aka not me
no githubbing required 04:52
rfw why do i keep ending up on the parrot quotes page 04:53
Jumpyshoes plobsing: oh, i see
i'll talk to dukeleto then
rfw how do i make a null const string? 04:58
dukeleto Jumpyshoes: what do you need?
rfw: null $S0 04:59
rfw dukeleto: has to be const
Jumpyshoes dukeleto: i think i've done socghop.appspot.com/gci/task/show/g...9395090916
but github is not playing nice
so i'm not sure how to get the patch uploaded 05:00
also, i'd like review, since it's my first time
rfw dukeleto: is there a null constant?
plobsing rfw: strings are immutable and there is a special null string to which all nulled strings point. however, registers are always mutable. 05:01
rfw plobsing: well this here is Parrot_open_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
so i need null constants in order to force it to throw an exception 05:02
or this code is flawed
sorear rfw: STRINGNULL? 05:03
rfw sorear: in PIR?
plobsing rfw: bytecode allows for this to happen, but there is no syntax for it in PIR
rfw ah
plobsing short of writting out binary bytecode (don't!) it is not possible
rfw so this is impossible?
ah okay
i'll just comment on it 05:04
plobsing the code however, is not flawed
rfw but it can't be covered?
plobsing that op and a few others are generated from the *same* opcode body. it is the same code as Parrot_open_p_s_s, for example.
rfw ah 05:05
05:05 TonyC joined, nopaste joined
rfw got it 05:05
so i can just safely not bother with covering that?
plobsing I'm not sure why our coverage results point to the generated C files in stead of the original *.ops files
rfw: yeah, I'd say your pretty safe with that 05:06
s/your/you're/
rfw alright
Yuki`N plobsing, I think I'm magical. 05:14
nopaste "Yuki`N" at 192.168.1.3 pasted "Magic" (48 lines) at nopaste.snit.ch/27538
Yuki`N plobsing, ^
05:15 bacek__ joined
plobsing is enchanted 05:16
rfw odd, i can't cover any of the PREG(1) = Parrot_pmc_new(interp, enum_class_Undef); lines 05:17
but i'm definitely getting !PREG(1)
Yuki`N Oh my god this is beautiful.
rfw i have no idea why this doesn't work :|
Yuki`N Breakpoint 2, Parrot_pmc_new (interp=0x8053020, base_type=34) at src/pmc.c:154 05:18
(gdb) fin
Value returned is $5 =
PMC<NameSpace> = {[hash] = 0x0, [_class] = 0x0, [vtable] = 0x0}
rfw i'm even getting a goddamn undefined PMC back
but apparently i haven't covered this
Yuki`N lol use new 100x better gdb
rfw lol i don't know how to use gdb 05:19
apart from bt
Jumpyshoes my favorite command is disass /hehe
05:20 bacek_ left
Yuki`N rfw, easier way to do this? python.pastebin.com/zpWLj2Fa 05:20
rfw ow, is that itertools i see
Yuki`N Yeah. 05:21
rfw Yuki`N: so you want to pair them
then uh
reduce them?
oh but you want deferred execution 05:22
Yuki`N Yeah that looks like the best way to do that.
rfw yeah
Yuki`N ENEEDSMOREMAGIC.
rfw reduce(lambda x, y: x + y, zip([0, 2, 4], [1, 3, 5]))
is the way i would do it but
plobsing magic? magic? THIS! IS! PYTHON!!!
rfw you need the generator thing 05:23
dukeleto is back again
rfw so yeah that's kinda painful looking but okay
hi dukeleto
i've finished coverage of io dynops
Yuki`N dukeleto, nopaste.snit.ch/27538 is this beautiful?
dukeleto rfw: did you submit a task? 05:25
rfw not yet
Jumpyshoes dukeleto: pastebin.com/qT8RtP4d this increases test coverage of pbc_disassemble to about 90 something
rfw github's pull request is being crappy
Jumpyshoes i don't know how to match all error strings though
dukeleto Yuki`N: nice!
rfw okay why will you not let me submit my pull request github 05:26
Yuki`N Pushing to a branch. 05:27
Close www.google-melange.com/gci/task/sho...9402219698 so I can accept the PMC one?
rfw dukeleto: www.google-melange.com/gci/task/sho...9391042256
dukeleto Yuki`N: can you make that into a pull request? 05:29
Yuki`N I will.
dukeleto rfw: accepted 05:30
Yuki`N dukeleto, github.com/parrot/parrot/pull/92 pull here, this also has the PMC pretty-printer in it.
dukeleto Yuki`N: wow! 05:31
Jumpyshoes: do you need anything? you can submit a patch if pull requests are not working for you 05:32
Jumpyshoes dukeleto: okay, can i just link you to a patch?
dukeleto Jumpyshoes: just upload the patch to the melange task system and submit the task so i can accept and you can pick a new task 05:33
Jumpyshoes dukeleto: okay 05:34
Yuki`N >Create a GDB pretty-printer to print Parrot backtraces in a pretty way 05:35
Are those objects?
rfw dukeleto: hold on, my pull request is wonky again
Jumpyshoes dukeleto: socghop.appspot.com/gci/task/show/g...9395090916
05:36 rurban_ joined 05:37 bacek_ joined
Jumpyshoes dukeleto: submitted 05:38
rfw dukeleto: www.google-melange.com/gci/task/sho...9391042256
was dewonkying my commits
dukeleto Jumpyshoes: accepted. 05:39
Jumpyshoes dukeleto: thanks
rfw 92 pull requests for parrot all due to gci 05:40
05:40 rurban left, rurban_ is now known as rurban
Jumpyshoes dukeleto: what are some other things i could do? 05:41
Yuki`N dukeleto, look over and close that so I can do the same for PMC.
dukeleto rfw: completed
rfw dukeleto: www.google-melange.com/gci/task/sho...9391056458
dukeleto rfw: accepted 05:42
Jumpyshoes: sure. what are you interested in?
Jumpyshoes: there should be a few open tasks to choose from, but i can also create more tasks 05:43
05:43 bacek__ left
rfw dukeleto: submitted 05:43
dukeleto Jumpyshoes: which langauges are you most familiar with? 05:45
Yuki`N dukeleto, www.google-melange.com/gci/task/sho...9402219698 05:46
05:49 bacek__ joined
dukeleto Yuki`N: what python deps does your pretty printer have? 05:53
Yuki`N dukeleto, nothing
Only python.
dukeleto Yuki`N: which min python version?
Yuki`N Umm, I have no idea, 2.6 to be safe.
I wrote this on 2.7 but I didn't use any features I know of that don't work on 2.6 05:54
gdb version needs to be high enough otherwise it won't load the pretty-printers.
It doesn't spit errors though, so that doesn't really matter.
As much
05:55 bacek_ left
Yuki`N dukeleto, socghop.appspot.com/gci/task/show/g...9402487888 05:57
hah
The last 3 numbers in the task id are 888.
>Create a GDB pretty-printer to print Parrot backtraces in a pretty way 05:58
I'm not sure this is possible. Parrot backtraces don't actually involve gdb at all.
dukeleto Yuki`N: what minimum gdb version do we need for our pretty printers? 05:59
Yuki`N Ummm.
I'm not quite sure.
They were added in some version higher than 7.2.25
So relatively recently.
I wrote those with 7.2.50, which is the latest. 06:00
The printers are actually quite decieving..because if you want to examine any of the values any further you're going to have to do one of the very nice casts I pasted above. 06:01
plobsing I tend to copypasta from gdb rather than engage in ridiculously long strings of casts, dereferences, and attribute lookups 06:03
unless I am "scripting" it
06:03 bacek__ left
Yuki`N Ah. 06:03
plobsing I always suspected everyone else did the same 06:04
Yuki`N Well, you can still manually write your casts.
*((Parrot_FileHandle_attributes *) pmc->data) 06:05
because now `print pmc' will actually give you meaningful information
06:05 Jumpyshoes left
Yuki`N Rather than $1 = (PMC *) 0xDEADBEEF 06:05
dukeleto Yuki`N: i just want to document what deps our pretty printers have. people will inevitably try them with really old versions of stuff
Yuki`N Yeah. 06:06
Really there's no case where they'll break anything.
If gdb is too old, they won't load.
plobsing just give "known to work on" version numbers
Yuki`N Python can't be too old, because they're only loaded when gdb loads them and if gdb is compiled with python then python is new enough.
If that makes any sense.
It works with gdb 7.2.50 and Python 2.7 06:07
Just put that down, :P
plobsing, I'm not sure if pretty-printing our Parrot_backtrace is viable, because that doesn't actually use GDB.
Not quite sure what that task is asking. 06:08
plobsing Yuki`N: it was just an idea. I make no guarrantee that it was a good one
Yuki`N Hah.
Core dumps are always usable since gdb goes through those. \\o/ 06:09
Though core-dumping on a simple failed assertion is unnecessary.
cotto bacek++ 06:12
06:13 cognominal left
Yuki`N cotto, can you approve socghop.appspot.com/gci/task/show/g...9402487888 06:13
cotto let's find out 06:14
yes, I can 06:15
dukeleto cotto: we need more tasks. these kids are burning through them 06:16
cotto: also, we have a gdb pretty printer waiting in our pull requests!
cotto yes 06:17
Yuki`N cotto, doesn't this just make you want to go debug parrot now? nopaste.snit.ch/27538
Oh...hmm.
Scratch that, it seems to be chomping some name-value pairs.
cotto Yuki`N, I'm going to introduce a bug just so I can play with that to find it. 06:18
dukeleto Yuki`N: just add the fix to the current pull request
Yuki`N Ok.
cotto rrot: f33e28da | cotto++ | src/call/pcc.c:
Introduce a subtle bug
06:19
Yuki`N Lol I found my bug. 06:21
My lazy-evaluation messed me up. 06:22
Jeez this stuff is too complex.
cotto Yuki`N, for bonus points make it deal properly with PIR-level objects. 06:23
and by "bonus points", I mean "insanity" 06:24
Yuki`N I highly doubt that any sane man can do that.
nopaste "Yuki`N" at 192.168.1.3 pasted "Working Magic" (42 lines) at nopaste.snit.ch/27540 06:30
Yuki`N There we go.
I was cutting the number of attributes printed by about half because of my lazy iteration.
It's still lazily-iterated, but (somewhat) simpler now. 06:31
dukeleto, added. 06:35
Ok. 06:36
It should actually work now.
dukeleto, I've submitted work to Melange. Get others to test and then pull whenever.
dukeleto, Unfortunately pretty-printing backtraces is impossible with our current implementation. 06:37
If you dump core then you can use gdb, but that is otherwise impossible.
06:41 cognominal joined
Yuki`N Good night all. 06:42
06:42 Yuki`N left
kapace__ everytime I see his quit message, I think to myself: "That must suck to wake up in the morning and have to reinstall everything from scratch..." 06:51
07:02 bacek joined
rfw kapace__: you have to run rm with --no-preserve-root to do that though :p 07:04
kapace__ check's rm's man 07:05
ah 07:06
07:06 fbrito left
rfw rm should return an error code too 07:06
so it's more like every morning he wakes up his computer is still on
there kapace__ i just destroyed your thought 07:07
kapace__ thanks, now I can rest easy :P
07:07 fbrito joined
rfw oh god 07:07
07:07 fbrito left
rfw kapace__: did you see d_s's latest post to the mailing list 07:08
dalek rrot: 6c1531e | Jumpyshoes++ | t/tools/pbc_disassemble.t:
improve pbc_disassemble's test coverage

Signed-off-by: Christoph Otto <christoph_git@mksig.org>
kapace__ yes :O
rfw i think parrot is going to have a field day with him
kapace__ i think they should attack with parrots :P 07:09
rfw to the parrotcave!
cotto There's no way I'd have predicted that our main difficulty would be in finding tasks to keep gci students busy. 07:10
rfw kapace__: On 29th December 2010 02:26, by David Czech: be back in a bit, have to get another task. 07:14
you never came back!
kapace__ oh yeah, I had like 5% on that task
rfw lol
kapace__ if you want it, you can take it, since I have forgotten about it 07:15
rfw nah i can do something else
bacek aloha, humans... 07:38
How is life in new year? 07:39
cotto aloha, bacek
bacek hio cotto 07:40
cotto The new year has way too many gci students, not unlike the last one. ;]
either that or not enough gci tasks
bacek cotto, easy to fix. Just review all RFC tickets and convert them to GCI tasks
Or reject.
This is what bab^W Architects for :) 07:41
cotto only problem: there's no "super difficult" gci task setting
bacek Another task for Architect is to split BIG TASK into small tasks :) 07:42
cotto touche 07:43
cotto goes off to architect some things 07:44
bacek goes off to just walk for next 10 minutes... 07:55
cotto often that's the same thing 07:56
08:12 jhuni joined, rfw left, jhuni left
bacek cotto, not in my case,unfortunately 08:15
08:16 bacek_ joined 08:22 bacek left 08:23 bacek_ is now known as bacek 08:26 rfw joined
cotto plobsing, ping 08:28
08:32 bacek left 08:37 TonyC left 08:38 nopaste left
dalek rrot: 76ee902 | cotto++ | / (3 files):
Merge branch 'gdb_pretty_print' of github.com/nol888/parrot into nol888-gdb_pretty_print
08:41
08:44 theory left
cotto msg notfound Could you review mksig.org/parrot/foundation_es.htm ? 08:46
aloha OK. I'll deliver the message.
cotto msg notfound It's a translation of parrot.org/foundation 08:47
aloha OK. I'll deliver the message.
dalek rrot: 1c90139 | cotto++ | t/dynpmc/gziphandle.t:
Merge branch 'gziphandle_coverage' of github.com/rofflwaffls/parrot into rofflwaffls-gziphandle_coverage
08:50
08:52 fperrad joined
dalek rrot: ca7564b | cotto++ | t/dynoplibs/io.t:
Merge branch 'io_dynops_coverage' of github.com/rofflwaffls/parrot into rofflwaffls-io_dynops_coverage
08:54
rrot: 7dbdc4d | cotto++ | t/dynoplibs/io.t:
fix minor misuse of ok()
mj41 msg dukeleto yum install gmp gmp-devel - Package gmp-4.1.4-10.el5.x86_64, gmp-4.1.4-10.el5.i386, gmp-devel-4.1.4-10.el5.x86_64, gmp-devel-4.1.4-10.el5.i386 already installed and latest version - Nothing to do 08:59
aloha OK. I'll deliver the message.
09:08 redicaps joined
cotto msg plobsing I see that you reverted the commit that moved some packfile code into src/packfile/execute.c. Was that to make merging encapsulate-main easier or was it because you don't think the code belonged there? 09:12
aloha OK. I'll deliver the message.
cotto sleeps
09:15 chromatic left 09:20 kennym joined 09:52 rfw left 10:07 bacek joined 10:23 bacek_ joined 10:25 contingencyplan joined 10:29 bacek left
dalek rrot: 0db1b53 | fperrad++ | tools/dev/pbc_to_exe.pir:
[pbc_to_exe] fix when installed (see TT#1927)
10:37
TT #1704 reopened by fperrad++: Implicit selection of main sub is deprecated. 10:46
TT #1704: trac.parrot.org/parrot/ticket/1704
10:49 gbacon joined 11:18 bacek_ left 11:27 kennym left 11:34 aantn joined
aantn hey everyone 11:36
11:44 aantn left 11:55 barney joined, TonyC joined 11:56 nopaste joined
dalek rrot: cfcd803 | mikehh++ | MANIFEST:
re-generate MANIFEST
12:04
12:10 barney left 12:23 bluescreen joined 12:31 AzureSto_ left 12:36 AzureStone joined, muixirt joined
muixirt hi folks 12:38
PBC_to_exe fails with 'sh: Syntax error: Unterminated quoted string' in latest parrot 12:39
moritz 0db1b53 (the second to last commit) touched pbc_to_exe
12:41 cogno joined
muixirt ok moritz 12:41
wasn't latest after all :-) 12:43
yeah it's fixed thanks moritz 12:50
now I get a lot of rakudo spectest errors :-( 12:52
moritz recently I've often got lots of spectest failures when I dind't remove the install directory 12:53
(which didn't happen prior to the release) 12:54
12:54 mtk joined 12:55 aantn joined
muixirt install directory? 12:55
moritz the directory where I install parrot 13:01
muixirt moritz: thought I nuked that thoroughly before rebuilding parrot+rakudo 13:04
moritz muixirt: then maybe it's a new failure 13:05
13:10 gbacon left
moritz $ ./perl6 -e "say 1" 13:10
1
===SORRY!===
No main sub found
no wonder the test harness freaks out 13:11
muixirt I wondered too about this but didn't dared to ask :-)
moritz suspects cbaad3757d3d5b5c21f5a334d4372801e5cde879, "Merge branche 'encapsulate-main'" 13:12
13:15 kennym joined 13:18 whiteknight joined 13:24 cogno left
whiteknight aloha, coverage>? 13:29
aloha whiteknight: I have no idea.
whiteknight aloha, coverage?
aloha whiteknight: coverage is cv.perl6.cz or tapir2.ro.vutbr.cz/cover/cover-results/
13:32 cogno joined 13:38 rurban_ joined 13:41 rurban left, rurban_ is now known as rurban 13:47 aantn left 13:56 cogno left 14:17 cogno joined 14:24 lucian joined
plobsing msg cotto: I reverted that commit because (1) It directly conflicted with the merge (2) I had mentioned this on the channel when the student was requesting the task (3) Rearranging code, while a decent task for students, does little good when the mechanisms it implements are rotten. 14:26
aloha OK. I'll deliver the message.
14:41 aantn joined
jnthn Hmm...so anybody here who can re-instate my lost-in-the-git-move Parrot commit bit? Got a MSVC build fix... 14:42
moritz aloha: metacommitter?
aloha moritz: I give up.
moritz aloha: meta committer?
aloha moritz: I have no idea.
jnthn aloha: met a committer? ;) 14:43
moritz jnthn: I think Coke, NotFound, whiteknight, dukeleto and maybe cotto can do it
jnthn k
May be fixed in trunk already anyway.
er, master.
moritz mastrunk!
jnthn But whatever current Rakudo is pointed at is busted on MSVC. 14:44
particle1 i can probably do it too, but i haven't even checked out parrot since the git conversion so best to ask someone else.
14:44 particle1 is now known as particle
plobsing jnthn: you want to talk to someone on this list: github.com/organizations/parrot/teams/11479 14:44
jnthn 404?
14:45 whiteknight left
plobsing jnthn: funny, for me it goes to the Parrot Owners team page 14:45
particle it asks me to login first 14:46
then goes to parrot owners team page
14:47 cogno left 14:49 redicaps left
moritz particle: according to that list, you should be able to help :-) 14:50
particle yes, if someone can tell me how, then i'll help
moritz particle: go to github.com/organizations/parrot/teams/12270 14:51
particle apparently i have authority but not knowledge.
moritz particle: at the end of the list, there's a text input
where you type jnthn
hit enter
particle DUN. 14:52
moritz and then the 'save team' button on the right
now jnthn appears on the list
particle 'save team'... that's a weird second step, but done.
moritz that should be it
particle moritz++ for the instruction
welcome back, jnthn++
i was looking at the members list in organization settings, and couldn't figure out how to add. 14:53
silly me.
moritz well, you can't add people to organizations, just to teams 14:54
but that took me a while to figure out too
jnthn particle: Thanks, I have a read-write clone link on github now :) 14:55
moritz if you had a read-only clone before, you can just edit .git/config
and change the URL
instead of re-cloning everything 14:56
14:56 aantn left 14:59 whiteknight joined 15:15 Andy joined 15:31 muixirt left 15:32 plobsing left 15:34 bluescreen left 15:39 fbrito joined
fbrito I am having problems with get_attr_keyed vtable on Object PMC. How it should work? 15:42
15:43 cogno joined 15:53 kid51 joined
dukeleto ~~ 15:56
some harsh words are being thrown around on the gci-discuss mailing list
moritz on what topic? 15:58
15:58 nwellnhof joined
dukeleto moritz: on the topic that parrot tasks are "fishy and are not reviewed by humans" 15:59
moritz: and so I ask, are we not humans? 16:00
moritz dukeleto: we already know that bacek_at_work is a coding robot
kid51 Where is that mailing list?
moritz and who is complaining? GCI students that mostly work with other organizations? 16:01
kid51 Speaking of GCI tasks: At long last one of my tasks has been claimed. 16:02
moritz \\o/
kid51 Does anyone know who Max Vorobuov is? Is he on channel?
dukeleto kid51: gci-discuss on google groups
moritz: the org admin of x264
dukeleto crafts a response and tries to minimize the trolling 16:05
16:06 Patterner left 16:07 Psyche^ joined, Psyche^ is now known as Patterner
fbrito Hi guys. Where should I use the key in getattribute to call get_attr_keyed vtable on a Object PMC? pastie.org/1424739 16:07
16:08 cogno left
kid51 dukeleto: FWIW, re Post #26 in that thread: Both cotto and I reviewed one of rfw's tasks yesterday before committing to master. 16:08
dukeleto fbrito: good to see you again :)
kid51: i am taking care of this dude.
kid51: keep doing your thang, i will deal with trolls 16:09
kid51 And since that was the only one I personally tried to handle, I'm sure cotto took care of the others.
fbrito dukeleto: I was/am really busy helping my father on his company :s
dukeleto kid51: i will cc to parrot-dev
fbrito: that is not necessarily a bad thing
kid51 In fact, perhaps the major benefit of GCI to Parrot is the number of mentoring hours it extracted from whiteknight, cotto and dukeleto ;-)
16:11 cogno joined
whiteknight I review everything that I merge 16:14
kid51 dukeleto: I notice that RTEMS Project is a participant in GCI. Perhaps you could create an RTEMS/Parrot task?
whiteknight We can talk about how easy some of the code coverage tasks are. There is an argument to be made that some of them are easy or medium as opposed to difficult 16:15
moritz are they all rated as difficul?
whiteknight and students are in here quite frequently asking about the coverage tasks, having a hard time with them, and in some cases finding that they are impossible 16:16
kid51 Re code coverage: 16:17
whiteknight it does help that we create a nice and helpful atmosphere here, and we have several dedicated students who *want* to spend all day on Parrot tasks
kid51 1. Far and away the biggest challenge someone faces is learning the language that the code and tests are to be written in. 16:18
Case in point: kid51
I am very fluent in Perl 5, learned about code coverage 7 years ago, and in part built my career around it.
But I am less fluent in C and PIR than most of these GCI students, so I've never really written tests in PIR or attempted much code coverage. 16:19
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#1992) fulltest) at 2_11_0-611-gcfcd803 - Ubuntu 10.10 i386 (g++-4.5 with --optimize)
kid51 So the fact that that our GCIers have mastered enough PIR to boost our test coverage is the *major* part of their achievement. 16:20
dukeleto I just want to warn people from getting into a flame war on gci-discuss: Please Don't. It is a waste of time.
kid51 2. Once you are fluent in the language you're covering/testing, yes, at that point you can start to grind out tests and boost the coverage.
dukeleto: Agreed.
16:22 gbacon joined
kid51 But, back to the question I raised above: If a GCIer has claimed a task, and I've approved that claim, I more or less have to wait around for the GCIer to contact me -- correct? 16:23
w/ zostay 16:24
whiteknight kid51: yeah, you should include in your task a mention of how to get in touch with you
so most of my tasks end with "open a pull request on github" 16:25
dukeleto kid51: yep
dukeleto has thrown his hat in the gci-discuss fire
kid51 Well, I used the standard vocabulary from duke's template, and specified that a report should be sent to parrot-dev.
whiteknight I wonder who is saying that our tasks are trivial and that there isn't code review?
that annoys me the most, that some student is saying these things 16:26
16:26 cogno left
whiteknight rfw has completed a lot of coverage tasks for us, but he's been working extremely hard at it, spending lots of time learning our system, and has gotten a good intuitive feel for how to cover some things 16:26
dukeleto whiteknight: i responded 16:27
kid51 whiteknight: Chill. It's just hearsay evidence.
dukeleto whiteknight: don't get bogged down in gci-discuss drama. it is a waste of time
whiteknight dukeleto: It's not all drama and a waste of time. We want to learn for next year 16:28
dukeleto whiteknight: i will deal with it. Don't worry, no one is going to tarnish Parrot reputation without getting challenged.
whiteknight: we can't learn anything from a jealous person spreading lies, other than how to manage it
whiteknight I don't care what anybody else says really, I want to make sure we are doing things correctly. We want to attact student attention our way, but we also want to create an environment where students may want to come back to after GCI is over 16:29
If we treat GCI as a non-zero sum game, it makes the most sense for us to mark all our tasks as maximum point value, and attract all students to come work on our project
we aren't so conniving, but that is a good strategy for us 16:30
does the student no good to have such limited task exposure, and only be doing trivial tasks for us
dukeleto whiteknight: as product manager, you may want to reply to my mail on gci-discuss 16:31
whiteknight: i just don't want to waste parrot developer time on dealing with flame wars 16:32
whiteknight no need. internet flamewars that don't involve "my programming language is better than yours" are a waste of time
16:33 davidfetter joined
dukeleto whiteknight: wfm 16:35
3.0 comes out soon, huh? 16:36
whiteknight actually, I may send a message to that list with a few more details. 16:37
fbrito I have to go now. see you guys later :) 16:38
dukeleto fbrito: take it easy! 16:39
16:40 fbrito left
dukeleto bacek is injured! 16:42
bacek Load user information 16:44
For my non-russian friends: Car crash. I was a passenger. Compression fractures. Enjoing my life in Wagga-Wagga hospital for next few days.
tadzik what happened?
oh
kid51 In this case, the "bus factor" is literal. 16:47
rurban Oh, a bus! 16:55
dalek website: jkeenan++ | On Roadmaps and Teams, Part Two 16:57
website: www.parrot.org/content/roadmaps-and...s-part-two
dukeleto kid51++
16:58 davidfetter left
dukeleto kid51: twitter.com/parrotvm/status/21973905644191747 16:59
kid51 dukeleto: Thx 17:01
dukeleto github is freaking out! Dammit. 17:02
17:09 dmalcolm joined 17:23 theory joined
cotto jnthn, I've been regularly testing the msvc build for the last couple weeks and haven't had any issues. 17:26
also, ~~
jnthn cotto: It's fixed in master it turns out.
Just not in the revision Rakudo targets. 17:27
But seems master breaks Rakudo so...
cotto jnthn, ok
sad face
jnthn Yes, I set out to do one useful thing in nqpclr and one in Rakudo so far today and immediately ran into Parrot "fun". :|
cotto jnthn, I can try to narrow it down if nobody else is doing so already.
jnthn cotto: OK - no immediate hurry. 17:29
Just wanted to spectest a patch I did to see if it causes regressions.
cotto jnthn, thanks for mentioning it. 17:30
cotto thinks we need an "X days since Rakudo was last broken" counter. 17:31
time for works
dukeleto, trac.parrot.org/parrot/ticket/1199 might be a nice gci task
17:32 chromatic joined
dukeleto jnthn: we are working setting up continuous integration for parrot + HLLs (including rakudo spectest) 17:32
s/working/working on/ 17:33
jnthn Sounds good. 17:34
dalek rrot: 8f4ba3c | jkeenan++ | config/init/optimize.pm:
[config] Make internal variable's name more self-documenting.
dukeleto jnthn: unicorns will fall from the heavens the day I get it working
jnthn remembers to carry an unicorn-proof umbrella 17:35
dukeleto cotto: i like it. will add now
jnthn: i will start selling unicorn-proof hats the day before :)
17:44 Kristaba joined
kid51 dukeleto: I see what you mean by "github freaking out". had to repeat a 'git push' due to instance of "ssh: connect to host github.com port 22: Connection timed out" 17:49
dukeleto kid51: yeah, github is having intermittent issues
kid51: i got about 30 emails about various repo mirroring scripts barfing
dalek rrot/tt855_debugging_options: b4a0395 | jkeenan++ | config/init/optimize.pm:
[config] Make internal variable's name more self-documenting.
17:51
dukeleto cotto: socghop.appspot.com/gci/task/show/g...9407714938 17:53
cotto_work ohai 18:02
dukeleto++
dukeleto cotto_work: danke 18:04
cotto_work thanks for the speedy taskification
dukeleto is taking a break from GCI stuff. Too much. 18:05
cotto_work I know what you mean.
dukeleto my break includes doing $work
18:10 hercynium joined
dukeleto whiteknight: thanks for your thoughtful response on gci-discuss 18:21
whiteknight did that message actually make it through to gci-discuss?
I got a weird response that my mail might not have made it to that group
18:22 mtk left
dukeleto whiteknight: hmm, maybe not, i think i got it through parrot-dev 18:23
whiteknight: are you subscribed to gci-discuss ?
whiteknight: it is not an open mailing list, you need to subscribe
18:23 mtk joined
whiteknight I thought I was subscribed. Let me double-check 18:24
dukeleto whiteknight: sometimes stupid google-groups bounce email if they are the cc: instead of in the to: 18:25
whiteknight ok
dukeleto whiteknight: i haven seen it before
whiteknight I just joined and re-sent
dukeleto whiteknight++
whiteknight: it looks like that guy is pissed because google starting looking into their task batching
cotto_work whiteknight++ indeed 18:27
whiteknight If Google put in place some limits, like "a student can only complete 2 difficult tasks per day", that would have a major effect on the program and would equalize the problems we've been seeing. 18:30
18:32 rfw joined
cotto_work hi rfw 18:39
rfw hi cotto_work 18:40
dukeleto rfw: what are you working on?
rfw dukeleto: nothing :D
Andy coke++ 18:42
github.com/parrot/parrot/commit/e1...05747a175c
I have often looked for ways to speed up c2str.pl. 18:43
dukeleto Andy: that should shave a decent amount of time from parrot builds
Andy That's why I've been looking for ways to speed up c2str.pl.
tadzik getopt turns out to be so slow? 18:44
Andy According to his commit.
It's not that it's slow so much as it's called ALL the time. 18:45
once for each pmc (or whatever)
dukeleto tadzik: just loading a CPAN module every time you run c2str.pl is slow
Andy I might steal that idea for ack.
dukeleto tadzik: it has to search PERL5LIB and all that junk
Andy not call GetOptions() unless /^-/ @ARGV > 0; 18:46
nopaste "kid51" at 192.168.1.3 pasted "darwin/ppc build with --optimize: 1 failure, 1 todo pass" (170 lines) at nopaste.snit.ch/27545 18:56
Kristaba My god! I'm seeing the Parrot_api_wrap_imcc_hack, it's really trash :D 19:04
And I see no other way to get a PBC from a PIR file through the API
19:04 Patterner left 19:05 Psyche^ joined, Psyche^ is now known as Patterner
Kristaba I wanted to improve the API tests (I saw Parrot_api_ready_bytecode function for example), but test this kind of function without a 'real' way to compile a file directly from C code may be flawed, right? 19:05
dukeleto bacek fractured some of his vertebrae! we need to send him a get-well package 19:08
Kristaba: if you want to compile a C file in a test, look at the tests in t/src/embed.t
19:09 whiteknight left 19:13 darbelo joined
Kristaba dukeleto: Thank you, but in fact what I would like to do is to compile a PIR file into a C test, and if possible using the new API 19:15
19:19 contingencyplan left 19:22 preflex left
pmichaud Neither nqp-rx nor rakudo build with current Parrot trunk. 19:23
wait, rephrase
nqp-rx builds, but doesn't pass its tests
moritz rakudo builds too 19:24
pmichaud I'm guessing it's due to TT #1704 19:25
moritz it's due to :main being required now
pmichaud ...which I think is bogus.
moritz I'm not sure what the correct fix is
19:25 preflex joined
dukeleto pmichaud: what is bogus? 19:26
pmichaud requiring :main
dukeleto pmichaud: that deprecation was required to fix our packfiles and make them must faster 19:27
pmichaud: or faster. I have not seen benchmarks
pmichaud faster but broken is not an improvement
also, that wasn't the justification given in TT #1704 19:28
dukeleto pmichaud: plobsing merged that branch, he is the best person to ask questions
pmichaud: i wasn't involved in the branch, i just saw it fly by
plobsing: ping?
pmichaud: from what I hear, it fixes some bad design in our packfiles and changes an O(N) algorithm to be O(1). that is about all i know 19:30
cotto_work It's nice to see that "is pirflags<:main>" exists. That's much nicer than the previously required hack.
pmichaud but it's incorrect to assume that we can positively know which sub is :main
dukeleto pmichaud: what is currently failing in nqp-rx's test suite?
pmichaud sometimes it's context-dependent
dukeleto: just a sec
moritz dukeleto: for example declaring a class 19:31
pmichaud gist.github.com/763821 # nqp-rx test failures
dukeleto pmichaud: so are you saying that sometimes which sub is going to be :main is only known at run-time ?
pmichaud dukeleto: I'm saying that sometimes modules are compiled to be standalone programs, and sometimes they're compiled to be .include'd in larger PIR code
dukeleto pmichaud: can't you get around that by having a fixed-name sub that allows that context-dependent stuff to happen ? 19:32
pmichaud: ah, i see
pmichaud if I force every module to have a :main, the second one is no longer possible
dukeleto pmichaud: we obviously need a solution to this problem. do you have suggestions for what parrot could provide to solve this?
pmichaud implicit :main worked well :-) 19:33
dukeleto pmichaud: yes, but we need a slightly better solution. What about a way to say "i want implicit main behavior" ? I just don't think we can make implicit main the default any more
pmichaud: not sure if that makes anything better or just sweeps the problem to the other side of the rug 19:34
pmichaud I don't know. I'm tired of "re-litigating" design decisions that were discussed and decided several years ago.
:init and :load is another one 19:35
dukeleto pmichaud: i think it is an issue of mis-communication
pmichaud (TT #1896)
dukeleto pmichaud: as parrot developers change, old discussions are forgotten if they are not written down somewhere noticeable 19:36
pmichaud we have archives
dukeleto pmichaud: i agree
pmichaud it took me all of five minutes to find the :init/:load discussion in the archives
dukeleto pmichaud: just saying that perhaps you and plobsing need to have a chat and see how both of you can be happy. I am more than willing to try to help that happen.
pmichaud it feels like I spend whatever time I have for Parrot defending Rakudo against bizarre design changes 19:37
that's not really productive for me
dukeleto pmichaud: i understand
pmichaud anyway, I have to run off for a while -- bbl 19:38
dukeleto pmichaud: perhaps encapsulate-main was merged too early. If you can send a short email to parrot-dev that says "this goes against previous agreements"
pmichaud I sent a reply to the ticket.
dukeleto pmichaud: we can unmerge it if necessary. We want everyone to be happy, and we surely don't want you to feel like you are constantly defending instead of coding
pmichaud: ok, thanks
pmichaud (which, afaik, gets forwarded to parrot-dev)
moritz (there's a separate ticket list) 19:39
dukeleto pmichaud: it goes to a different list, but many people are on it
pmichaud: but sending to parrot-dev will get to more people
pmichaud: there is a "cc to parrot-dev" button on trac, methinks
dukeleto goes for a very sunny cold run 19:40
19:59 plobsing joined, kennym left
dalek TT #1930 created by jkeenan++: t/op/number.t: one test fails under --optimize on Darwin/PPC 20:00
TT #1930: trac.parrot.org/parrot/ticket/1930
20:00 kennym joined 20:01 mtk left, kennym left
kid51 How would one go about reverting that merge commit? 20:03
moritz git revert $sha1_of_merge_commit ? 20:04
lucian dukeleto: ping 20:05
kid51 moritz: I get: fatal: Commit cbaad3757d3d5b5c21f5a334d4372801e5cde879 is a merge but no -m option was given. 20:06
moritz kid51: then I'd start reading man git-revert and search for that -m option..
kid51 I'll need to supply this: -m parent-number 20:07
... but this is unexplored git territory for me :-(
There are two parents listed at: github.com/parrot/parrot/commit/cbaad37
20:09 mtk joined
nopaste "kid51" at 192.168.1.3 pasted "Failed attempt to revert merge commit" (38 lines) at nopaste.snit.ch/27546 20:10
20:11 PerlJam joined 20:17 Psyche^ joined 20:18 bacek_ joined 20:20 Patterner left, Psyche^ is now known as Patterner, whiteknight joined 20:29 Psyche^ joined, Patterner left, Psyche^ is now known as Patterner
dukeleto lucian: pong 20:34
lucian dukeleto: i got back a few days ago
any news on the android thing?
dukeleto lucian: not much, i created a parrot-mobile repo today though github.com/leto/parrot-mobile 20:35
lucian: GCI has been taking up most of my time, and i have a TPF grant on the parrot embed subsystem 20:36
lucian: GCI ends Jan 10th
lucian i see 20:37
20:37 kid51 left
dukeleto lucian: lots of tests got written for parrot in the last 3 weeks 20:38
lucian: lot of bugs got squashed and new ones found :)
lucian: what do we need to do to add parrot to SL4A ?
lucian: do you use eclipse ?
lucian dukeleto: i don't know, i think they use unpatched CPython for example 20:39
i do use eclipse when i have to
dukeleto lucian: all the SL4A docs are for eclipse, and I've never used it before 20:41
lucian dukeleto: i see
dukeleto lucian: the SL4A docs for adding a new interpreter are pretty scarce
lucian indeed
20:43 darbelo left, darbelo joined 21:01 pmichaud left 21:02 Util left 21:03 tadzik left
lucian dukeleto: i'm trying to figure out what patches there are for cpython (simply because i'm most comfortable with it) 21:04
hmm, it seems none 21:06
same for lua
it just needs json and socket
so all that's needed is cross-compiling parrot, afaict 21:07
21:08 bacek__ joined 21:11 fperrad left 21:13 bacek_ left 21:17 Psyche^ joined 21:20 Patterner left, Psyche^ is now known as Patterner, bacek_ joined 21:23 darbelo left 21:26 bacek__ left 21:30 Patterner left, Psyche^ joined, Psyche^ is now known as Patterner
cotto_work atrodo: ping 21:36
atrodo cotto_work> pong
cotto_work atrodo: what do your tuits look like between now and the 10th?
atrodo cotto_work> so-so 21:37
cotto_work Every time I sit down to do some Lorito-related work, there's a big stack of gci work that I feel like I need to get through. It'd be a big help if we had more people hanging out approving tasks so that I felt like I could safely ignore it and work on Lorito stuff. 21:38
21:38 rurban_ joined, Patterner left 21:39 Psyche^ joined, Psyche^ is now known as Patterner
atrodo cotto_work> What all would be involved? 21:39
cotto_work atrodo: do you have the tuits to review and approve some gci tasks (as they come up) if I give you a mentor bit?
accepting claims for gci tasks, reviewing code changes (codingstds, does what it says, is sane, etc), marking tasks as completed and merging them into our git repo 21:41
bacek_ aloha, humans
cotto_work ENOHUMANS
21:41 rurban left, rurban_ is now known as rurban
bacek_ Hooray! We won! 21:41
21:41 bacek_ is now known as bacek
cotto_work atrodo: you don't need to do a ton of work. Approving a couple tasks a day would help. 21:41
atrodo cotto_work> I can take a shot at it. It'd be during the day. I can't promise too much tho 21:44
cotto_work atrodo: thanks.
kapace__ you can practise with www.google-melange.com/gci/task/sho...9394745890 :P
atrodo ENOTAPPROVED
wow, that is easy
;) 21:45
cotto_work atrodo: do you have a google id?
atrodo A regular google account? Ya, atrodo@gmail
rfw kapace__: did you see my ticket for that?
cotto_work i.e. have you signed up on google-melange.com?
kapace__ oh hey rfw, no, I'll go check 21:46
atrodo cotto_work> in that case, no
hold on
rfw kapace__: trac.parrot.org/parrot/ticket/1926
atrodo cotto_work> Looks like i'm able to log into google-melange 21:47
cotto_work ok. What's your id? It should be at the top of the screen.
dukeleto lucian: ok, that sounds like a good start
atrodo cotto_work> atrodo
kapace__ yeah, I guess that is a little difficult to understand, and how to test for correct behaviour
but theres other stuff to test as well
rfw, were you working on this one before? 21:48
rfw kapace__: yeah
there's almost nothing left to cover i think
i may be wrong
kapace__ get_string, set_pmc, get_pointer..
rfw oh
i am wrong! :D
lucian dukeleto: i see that SL4A keeps copies of interpreter sources in its source. i don't think that'll work very well with parrot
cotto_work atrodo: melange doesn't think you exist. It may be some kind of propagation issue. 21:49
21:50 Psyche^ joined
atrodo cotto_work> Ah ha, had to create a link_id. Try now 21:51
21:51 nwellnhof left
cotto_work atrodo: done 21:52
21:52 Patterner left, Psyche^ is now known as Patterner
cotto_work atrodo: do you have the tuits to try out your new bit on kapace's request? 21:52
21:56 tadzik joined
atrodo cotto_work> Sure. 21:58
21:58 bacek_ joined
cotto_work Ooh. Stereo baceks. 21:58
atrodo: thanks!
atrodo Claim Accepted 21:59
rfw how do you actually test the debug dynops? 22:00
kapace__ atrodo, thanks :) 22:01
rfw, I tried, its diffcult
rfw yeah, i looked at the opcodes
and it does look tricky
kapace__ since theres like a couple functions at the end, and they're not called afaik
rfw ah you can ignore tohse
i've been ignoring those for all the dynops 22:02
kapace__ ok
so theres debug_init, then debug_load_sc
debug_init just inits, load_sc is supposed to load a source file, i think
and debug_print, which just prints out a bunch of newlines for me :P
rfw so do you actually debug in the parrot interpreter? 22:03
why is there a jagex_runescape_preferences.dat file in my home directory :||||||||||||||||||||||||||||||||
kapace__ debug_break drops you into pdb, parrot debugger
22:03 bacek left
rfw who's been playing runescape on my computer 22:03
kapace__: hm okay i'll test 22:04
kapace__ who plays runescape anymore, i thought minecraft was the new runescape 22:05
rfw yeah
someone stoled my minecraft account though :(
cotto_work atrodo: I know that gci isn't directly architecture-related, but sharing the load will help me get the arch stuff moving again. 22:06
rfw how do i run a file loaded into the parrot debugger via debug_load? 22:16
there's no command to start the parrot debugger... 22:18
kapace__: did you ever figure out how to start the parrot debugger using the debug dynops
kapace__ rfw, I got into the parrot debugger just by placing a debug_break anywhere 22:19
rfw oh you mean
22:19 tadzik left
kapace__ although it didn't seem to pick up the current source file 22:19
rfw blah
wait
do you do debug_break in the source you're debugging?
that makes 100x more sense
22:20 whiteknight left
rfw aha, there we go 22:21
thanks kapace__
22:21 bacek_ left
kapace__ rfw, np 22:23
trac.parrot.org/parrot ahaaha, theres a picture of a smoking parrot 22:27
rfw kapace__: slow :p 22:28
22:30 tadzik joined 22:37 hercynium left 22:44 kid51 joined 22:47 bacek joined
kid51 Hello, bacek! 22:49
22:52 aantn joined 22:57 bacek_ joined
dukeleto bacek: hola, comrade 22:57
23:02 bacek left
rfw dukeleto: do you know how the Parrot_backtrace opcode in dynoplibs works? 23:03
because i can't figure out how to get a meaningful result from it
dukeleto rfw: i don't. i haven't read the code in a long time. it is ancient code 23:04
rfw ah
dukeleto rfw: it may only answer in riddles
rfw dukeleto: also related - i'm using a temporary file to pipe what i want to stdin 23:05
is there a smarter way to do this
23:05 whiteknight joined
rfw (in perl) 23:05
23:05 bacek_ left
dukeleto rfw: you can use a | in a perl 5 open() command, but whatever works 23:06
rfw dukeleto: right now i have pastebin.com/TeTADwe5 23:08
so i'm just wondering if there's a better way to go about that
23:09 nwellnhof joined
dukeleto rfw: use lexical filehandles, such as : open my $fh, "<foo" 23:13
rfw uh, for which? 23:14
dukeleto rfw: all
nwellnhof rfw: use the three argument form of open: open my $fh, '-|', $command
dukeleto rfw: don't do open FOO, "<bar" always open my $fh, ...
rfw dukeleto: for STDIN?
nwellnhof: then echo 'whatever'? 23:16
nwellnhof rfw: ah, you want to pipe something to a pir command. 23:17
rfw nwellnhof: yeah
nwellnhof rfw: i think there's a pir test function for that. let me have a look...
rfw: pir_stdin_output_is 23:18
in t/pmc/io_stdin.t
rfw let me take a look 23:19
ah, thanks nwellnhof
whiteknight looking at FileHandle.readline_interactive, it looks like it always writes the prompt to stdout and reads the response from stdin no matter what the filehandle is doing 23:20
if PARROT_HAS_READLINE, that is
nwellnhof whitekniight: the two codepaths with and without readline seem to do different things. 23:21
dalek TT #1908 closed by jkeenan++: Create new testing target: 'make test' + more
TT #1908: trac.parrot.org/parrot/ticket/1908
23:21 TonyC left, nopaste left
nwellnhof whiteknight: i fixed the non readline path yesterday. 23:21
whiteknight oaky
okay
nwellnhof wrt to string usage.
23:21 TonyC joined
nwellnhof not wrt to other bugs. the code could need a bit more love. 23:22
do you think it's ok to merge nwellnhof/unicode_io? 23:23
kid51 nwellnhof: Can you check out my posts in trac.parrot.org/parrot/ticket/1927? Thanks.
aantn I'm trying to test the Class PMC 23:24
how can I catch an exception in PIR?
nwellnhof kid51: that only affects darwin?
cotto_work aantn: t/pmc/exceptionhandler.t has some examples 23:25
aantn cotto_work: thanks
cotto_work aantn: look for push_eh and pop_eh
for a basic test, using a label as an exception handler is fine. If you need to, you can also get fancier. 23:26
23:27 nopaste joined
aantn cotto_work: thanks. what's the difference between: new 'Exception' 23:28
cotto_work: and new ['Exception']
cotto_work aantn: functionally, not much 23:29
kid51 nwellnhof: I was focusing on Darwin, yes. But if the approach looks correct, then I'm going to inspect the other hints files as well.
cotto_work Unless I'm forgetting something, they dispatch to different opcodes but they end up doing the same thing.
nwellnhof kid51: i just had a look at spaces_in_paths. looks good to me. 23:30
kid51 thx
rfw blah, how do i redirect stdout to null and grab stderr? 23:31
nwellnhof kid51: i can run a 'make test' with it if you like.
rfw aantn: are you still doing the OS dynpmc?
kid51 plobsing: ping 23:32
cotto_work rfw: I saw you had a couple open pull requests last night. Did those have gci projects associated with them? I didn't see any that needed approval.
rfw cotto_work: yeah, dukeleto approved them
but he didn't merge them in
cotto_work perfect 23:33
plobsing kid51: pong
aantn rfw: no, I'm working on the class pmc
kid51 Will you be able to do that partial revert before long? (TT #1704)
rfw aantn: okay, so it's fine if i just yoink that?
aantn rfw: go for it
kid51 I have to merge in a branch and I'd rather we get that done first.
rfw \\o/ 23:34
plobsing kid51: I actually had implicit :main (mostly) working previously in that branch before deciding to get TT #1704 with the same stone.
I don't intend to revert, but simply retrace my steps
kid51 Well, it's important that we get NQP going again ASAP 23:35
plobsing kid51: understood
rfw cotto_work: if you can, www.google-melange.com/gci/task/sho...9394305842 23:37
cotto_work rfw: one of the tests fails 23:39
rfw which one?
nopaste "cotto_work" at 192.168.1.3 pasted "this one" (23 lines) at nopaste.snit.ch/27549
rfw erk 23:40
cotto_work let me know when to pull again 23:41
23:41 Andy left
rfw cotto_work: done 23:42
nwellnhof kid51: make test passes with string_on_branches, Debian/i386, building parrot in a path with spaces.
cotto_work rfw: no dice
rfw hm that's odd 23:43
what's the output now?
nopaste "cotto_work" at 192.168.1.3 pasted "for rfw" (36 lines) at nopaste.snit.ch/27550
rfw ugh, what
cotto_work it passes for you?
rfw yes
kid51 rfw: What is the reason for 'binmode $out' at line 37? 23:44
rfw kid51: that's from io.t
kid51 That doesn't answer my question.
dalek rrot: bf6a8e0 | nwellnhof++ | src/pmc/filehandle.pmc:
Fix string handling in readline_interactive
kid51 Do you know what it was used in io.t?
rfw kid51: i'm not sure
checking output
kid51 Perhaps you should find out why, eh?
nwellnhof kid51: it's to make readline work on Windows
cotto_work rfw: let me try something. I might have been picking a slightly old libparrot.
rfw alright
kid51 Fair enough. I did not myself know the answer. 23:46
rfw pdb, rather
kid51 Next question:
Are there no subroutines already in Parrot::Test that we can use instead of pir_stdin_error_output_is()? 23:47
rfw nope
none of them have an option for accepting stdin
which is probably why it's defined only in io_stdin.t
chances are, not many need input from stdin
kid51 Can you write some documentation (in POD format) for pir_stdin_error_output_is() in this test file? 23:48
rfw alright
should i do it for io_stdin.t as well?
kid51 Well, let's see it here first.
If it looks good, then perhaps we should move it to Parrot::Test.
(And if we do so, that could be another GCI task!) 23:49
nwellnhof rfw: you should move pir_stdin_output_is to lib/Parrot/Test.pm 23:50
rfw nwellnhof: i think there are quite a few hoops that i don't think i can jump for that
all the output checking functions are dynamically generated 23:51
nwellnhof rfw: we make an exception for that one, like pbc_postprocess_output_like
rfw ah, okay
got it
nwellnhof rfw: simply move pir_stdin_output_is to lib/Parrot/Test.pm after pbc_postprocess_output_like, and add it to @EXPORT 23:52
that should do it.
rfw alright
23:52 bacek joined
bacek hi again 23:54
hello kid51
dalek rrot: fdb6fa5 | plobsing++ | compilers/imcc/ (2 files):
re-implement implicit :main. undoes TT #1704 deprecation.
rrot: 73cd6f0 | plobsing++ | t/dynpmc/os.t:
fix uid test when not root
cotto_work rfw: no love
rfw cotto_work: same problem? 23:55
plobsing kid51: implicit-:main reimplemented
dalek rrot: 8d2a33d | Whiteknight++ | / (3 files):
Merge branch 'master' of github.com:parrot/parrot
23:57
23:58 bluescreen joined