Camelia, the Perl 6 bug

IRC log for #parrot, 2010-12-30

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:10 Yuki`N https://groups.google.com/d/msg/gc​i-discuss/uPktT0t-gqU/WLU8asYw9joJ this guy is just infuriating.
00:11 Psyche^ joined #parrot
00:11 Patterner left #parrot
00:11 Psyche^ is now known as Patterner
00:12 kid51 joined #parrot
00:19 Patterner left #parrot
00:20 Myhrlin joined #parrot
00:22 Matt_ Can someone here approved this task: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129360426329
00:24 Psyche^ joined #parrot
00:24 Psyche^ is now known as Patterner
00:25 hercynium left #parrot
00:26 whiteknight joined #parrot
00:34 whiteknight what nwellnhof branches do we need to test?
00:35 nwellnhof whiteknight: all of them!
00:35 whiteknight okay!
00:35 whiteknight nwellnhof: I count three?
00:36 dalek parrot: edecaa9 | nwellnhof++ | / (2 files):
00:36 dalek parrot: Fix bugs when deleting from a hash while iterating
00:36 dalek parrot: review: https://github.com/parrot/parrot/commit/edecaa9baa
00:36 whiteknight three that should all be merged before 3.0, methinks
00:36 nwellnhof whiteknight: yes, those 3.
00:36 nwellnhof compiler_flags is probably too experimental for 3.0
00:36 cotto_work Matt_: done
00:37 Matt_ cotto_work: thanks! Any good resources on learning PIR besides the docs online? Since they're so many tasks on writing tests I figured I'll learn the langugae well
00:37 cotto_work Matt_: existing test are a good place to pick up the relevant bits.
00:38 arnsholt Matt_: There's a fair bit of PIR around as well
00:38 arnsholt The language itself is reasonably simple, so it's pretty quick to learn
00:39 cotto_work nwellnhof: did the bugfix come from figuring out how to cover the mysterious if (attrs->pos == attrs->total_buckets) line?
00:40 cotto_work rather, the break after that line
00:40 nwellnhof cotto: yes
00:40 cotto_work headdesk
00:41 cotto_work 98.1% coverage and there's a bug in the single untested line
00:41 arnsholt Murphy strikes again, one supposes
00:41 nwellnhof there was another bug, too.
00:42 NotFound cotto_work: I've already fixed a few like that.
00:44 plobsing are we still looking for GCI tasks?
00:45 NotFound Given our frequent changes to almos anything, untested => buggy
00:46 cotto_work definitely shows the value of test coverage
00:46 nwellnhof yes, hashiterator.pmc is at 100%
00:46 NotFound Hurrah
00:46 cotto_work nwellnhof++
00:50 Psyche^ joined #parrot
00:50 Patterner left #parrot
00:50 Psyche^ is now known as Patterner
00:56 Patterner left #parrot
00:56 dalek parrot: 4ae20f3 | Whiteknight++ | .gitignore:
00:56 dalek parrot: update .gitignore to cover .o files in src/embed
00:56 dalek parrot: review: https://github.com/parrot/parrot/commit/4ae20f3922
00:57 dalek parrot: d0cf409 | Whiteknight++ | / (3 files):
00:57 dalek parrot: Merge remote branch 'origin/kapace/api-serialize'
00:57 dalek parrot: review: https://github.com/parrot/parrot/commit/d0cf4093ac
01:05 Kapace_ I was making tests for ParrotLibrary, and apparently theres a null pmc access in clone(), test here: https://gist.github.com/759310
01:05 contingencyplan joined #parrot
01:06 Kapace_ the null pmc access happens regardless of any other code. (clone $P0 always fails apparently)
01:07 whiteknight nwellnhof: I was hoping to be able to move the encoding logic into Handle PMC, and be able to inherit it from StringHandle, Socket, etc
01:08 cotto_work Kapace_: this is why we want increase coverage
01:08 Kapace_ ok, I was trying to put this in a branch
01:08 Kapace_ but I totally failed with git,
01:09 Kapace_ according to the tutorial, I create a branch with git branch test_parrotlibrary, switch to it with git checkout test_parrotlibrary..
01:09 nwellnhof whiteknight: the encoding logic is where much connected to the buffering logic. so i think we should simply redo it for StringHandles.
01:09 Kapace_ that worked ok, but then I couldn't commit the new tests, or push them to my github
01:10 whiteknight nwellnhof: I wanted to extract the buffering logic too. Socket uses buffering too and I would like to unify if possible
01:10 whiteknight if not possible, that's fine too, but I would like to keep it in mind
01:10 nwellnhof whiteknight: yes, we should use the buffering/encoding code for sockets, too.
01:11 nwellnhof we will probably have to pass function pointers or something vtable like to Parrot_io_read_buffer, so it can use different backends to refill the buffer.
01:12 whiteknight ok
01:12 cotto_work Kapace_: can you nopaste what's not working for you?
01:12 whiteknight Does anybody use Parrot_secret_snprintf?
01:13 whiteknight ack doesn't return any uses
01:15 stilgar joined #parrot
01:15 Kapace_ cotto_work: you mean the failing test, or the failing git commands?
01:15 whiteknight ....I'm going to delete it
01:16 cotto_work whiteknight: it appears to exist for systems without snpritnf
01:16 cotto_work no idea which systems that means
01:16 whiteknight cotto_work: yeah, but there are absolutely no references to it
01:16 cotto_work Kapace_: the git stuff
01:16 whiteknight not in conditional code, not in macros, not anywhere in the config system
01:16 cotto_work #ifndef PARROT_HAS_C99_SNPRINTF
01:16 cotto_work #  define snprintf Parrot_secret_snprintf
01:16 cotto_work #endif
01:16 cotto_work include/parrot/misc.h
01:17 whiteknight where the hell is that? and why doesn't my ack show it?
01:17 kid51 left #parrot
01:17 Kapace_ http://nopaste.info/f7b5f78731.html
01:18 cotto_work Kapace_: that probably means you need to pull master or just push your branch
01:19 cotto_work git push origin your_branch
01:19 cotto_work it's also trying to push master, which apparently isn't up-to-date with origin
01:20 Kapace_ git push origin test_parrotlibrary fails: error: Cannot access URL https://github.com/parrot/parrot.git/, return code 22
01:21 whiteknight Parrot_secret_snprintf doesn't use the len parameter at all. It doesn't actually limit the size of the output string at all
01:21 whiteknight even a basic test for it causes stack corruption
01:22 cotto_work ...
01:23 rfw whiteknight: ack isn't better than grep, it would seem :D
01:23 whiteknight rfw: I think I was misreading some of the ouput
01:23 rfw lol
01:24 cotto_work Kapace_: you'll have to ask dukeleto for help
01:25 Matt_ whiteknight: having weird issues here. Wrote a unit test for 'exists_keyed_str' in the Capture PMC, and it passes fine but doesn't seem to be included in the coverage reports
01:25 whiteknight Matt_: yeah, I've seen that with a few tests lately. I don't know what causes it
01:25 Matt_ (i.e. coverage doesn't go up. Using make quickcover_new here)
01:25 whiteknight my only possible suggestion is to make realclean and reconfigure
01:26 Kapace_ Matt_: are you trying to test the functions found in here http://trac.parrot.org/parrot/ticket/1914?
01:27 Matt_ yup!
01:27 Matt_ (as well as exists_keyed_str)
01:27 Kapace_ well apparently whiteknight says that there are no opcodes that call those vtables,
01:28 Kapace_ and probably the only things that call them are other HLLs or extensions
01:28 whiteknight Kapace_: no opcodes that I can find. They can still be called directly from C
01:28 Yuki`N There are quite a few vtables that are not called via PIR opcodes.
01:28 whiteknight but those are not exactly common vtables
01:28 Kapace_ I've been trying to remove them, and see if rakudo still builds
01:29 Matt_ so thats the cause of my issues
01:29 Yuki`N Removing VTABLEs shouldn't be done lightly.
01:29 Yuki`N Rakudo is not the only HLL, keep in mind.
01:29 Kapace_ yeah, but jsut as a test
01:30 cotto_work Yuki`N: you have learned well
01:31 whiteknight how do I TODO a Perl test?
01:32 whiteknight I thought I knew, but it's not working
01:32 Yuki`N I think you can add a fourth paramter.
01:32 Yuki`N output_is_pir( <<'CODE', <<'OUTPUT', "something", { todo: "why" }); iirc
01:33 Yuki`N Check bigint.t
01:33 Yuki`N There'
01:33 Yuki`N Or bignum.t
01:33 Yuki`N there's about 9001 perl todo tests in there.
01:35 Psyche^ joined #parrot
01:35 Psyche^ is now known as Patterner
01:35 plobsing what? 9000?
01:36 Kapace_ over 9000!
01:37 Matt_ whiteknight: So is there anyway to work around those 'dead' VTABLE's in Capture.pmc ? Fixing those alone would increase code coverage quite a bit
01:37 dalek parrot: d45d1bc | Whiteknight++ | t/src/misc.t:
01:37 dalek parrot: Merge remote branch 'origin/gci_rfw_coverage'
01:37 dalek parrot: review: https://github.com/parrot/parrot/commit/d45d1bc23f
01:37 dalek parrot: d2ee492 | Whiteknight++ | t/src/misc.t:
01:37 dalek parrot: fix two C-based tests in misc.t for the g++ build
01:37 dalek parrot: review: https://github.com/parrot/parrot/commit/d2ee492730
01:37 dalek parrot: 952208a | Whiteknight++ | t/src/misc.t:
01:37 dalek parrot: 'fix' the Parrot_secret_snprintf test, by commenting out the code that causes a core dump and marking the test TODO. Parrot_secret_snprintf is more harm than good, methinks
01:37 dalek parrot: review: https://github.com/parrot/parrot/commit/952208a16d
01:37 whiteknight Matt_: If they really are dead and not used in Rakudo or elsewhere, the best idea is to delete them
01:43 Kapace_ ok, in my fork of parrot, I tried to do: git pull https://github.com/parrot/parrot.git/ master but this fails with conflicts
01:43 whiteknight I hereby propose that we upgrade Parrot to C99
01:43 Kapace_ is there a way to discard all the stuff in my fork and overwrite it with the updated files in parrot/master?
01:43 cotto_work whiteknight: sure.  Just find a version of msvc patched to support it.
01:43 whiteknight because C99 has snprintf, and Parrot relies on snprintf
01:43 cotto_work also, everyone has to be using it
01:43 whiteknight cotto_work: we don't need to use all features of C99. We can use a subset
01:44 whiteknight snprintf, long long, etc. We use those things, MSVC supports them, and we should be free to use them
01:44 rfw did i write a crappy test for parrot_secret_sprintf :|
01:45 whiteknight rfw: no, Parrot_secret_snprintf is crappy
01:45 whiteknight your test was good. That function dumps core
01:45 rfw ah
01:45 rfw whew
01:54 Patterner left #parrot
01:56 Kapace_ ok, if I have the error "Null PMC access in clone()" should I keep the test and expect it to fail, or comment it out for now?
02:03 cotto_work TODO it
02:04 Psyche^ joined #parrot
02:04 Psyche^ is now known as Patterner
02:09 Kapace_ can I do that for a PIR test?
02:11 stilgar left #parrot
02:13 Matt_ cotto_work: can you accept this: http://www.google-melange.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129360940323#c1
02:14 Matt_ Gave up other task after the issue [Ticket 1914] Kapace_ reported in Capture.pmc
02:15 cotto_work Matt_: It appears that I can.
02:17 cotto_work Kapace_: use todo() instead of ok()
02:18 cotto_work it's clunky.  Fixing it might make a nice gci task. ;]
02:18 Kapace_ ok, ill try that
02:18 Matt_ cotto_work: thanks!
02:19 dmalcolm left #parrot
02:22 Kapace_ I think the failed clone() call makes the test return 1, which makes the test fail
02:22 kennym left #parrot
02:24 cotto_work Kapace_: you can set up an exception handler for hat
02:25 cotto_work *that
02:25 cotto_work look for tests that use push_eh
02:25 Kapace_ ugh, totally forgot
02:25 Kapace_ I just remember about exception handlers lol
02:26 Kapace_ (sometimes I think this is a really low level language with no features)
02:27 cotto_work It has mmd.  That's a feature.
02:28 whiteknight left #parrot
02:31 Yuki`N It'd be cool if aloha could give you links for trac ticker numbers.
02:31 Patterner left #parrot
02:31 Yuki`N *ticket
02:33 plobsing Yuki`N: you could use irclog.perlgeek.de it converts TT references into links
02:34 plobsing or write a small script for whatever irc client you use
02:34 Yuki`N I suppose so.
02:39 Kapace_ is there any more debug info I should give to the ticket for failing clone in parrotlibrary?
02:42 Psyche^ joined #parrot
02:42 Psyche^ is now known as Patterner
02:45 cotto_work Kapace_: a failing test case is sufficient
02:47 * cotto_work goes home
02:47 Kapace_ sorry If im being thick, but a failing test case in the ticket, or just the failing ticket?
02:47 Kapace_ erm, just the failing test
02:51 lidden left #parrot
03:07 contingencyplan left #parrot
03:10 contingencyplan joined #parrot
03:21 Tene left #parrot
03:24 Patterner left #parrot
03:35 Psyche^ joined #parrot
03:35 Psyche^ is now known as Patterner
03:50 Patterner left #parrot
03:56 cotto ~
04:00 Psyche^ joined #parrot
04:00 Kapace_ cotto: I didn't understand, do I want to make a ticket with a test case, or just commit the test?
04:00 Psyche^ is now known as Patterner
04:10 nwellnhof left #parrot
04:13 cottoo joined #parrot
04:14 cotto left #parrot
04:23 cottoo is now known as cotot
04:23 cotot is now known as cotto
04:30 Patterner left #parrot
04:30 Psyche^ joined #parrot
04:30 Psyche^ is now known as Patterner
04:33 Matt_ left #parrot
04:47 Patterner left #parrot
04:50 Matt_ joined #parrot
04:59 Psyche^ joined #parrot
04:59 Psyche^ is now known as Patterner
04:59 Matt_ left #parrot
05:12 cotto I like having a modern vcs.
05:13 plobsing what brought on this observation?
05:15 Kapace_ my lack of expirience with it
05:15 rfw i love how fast git is
05:15 Kapace_ however, I think I got my work on a branch https://github.com/kapace/​parrot/tree/test_coverage :)
05:16 dalek parrot/encapsulate-main: 4896bc7 | plobsing++ | frontend/pbc_merge/main.c:
05:16 dalek parrot/encapsulate-main: headerizer and cpp comments
05:16 dalek parrot/encapsulate-main: review: https://github.com/parrot/parrot/commit/4896bc7424
05:16 dalek parrot: fafd33c | plobsing++ | / (2 files):
05:16 dalek parrot: don't run :immediate or :postcomp subs from libparrot
05:16 dalek parrot:
05:16 dalek parrot: These are the responsibility of the compiler (IMCC), which already takes care
05:16 dalek parrot: of them. That these are sometimes run even when a compilation has not occured
05:16 dalek parrot: is a bug.
05:16 dalek parrot: review: https://github.com/parrot/parrot/commit/fafd33c4e1
05:16 dalek parrot: e9e296a | plobsing++ | t/pmc/sub.t:
05:16 cotto plobsing, in this case, using --signoff instead of crediting a contributor in the commit message
05:16 dalek parrot: skip :immeidate/:postcomp tests under testr
05:16 dalek parrot:
05:16 dalek parrot: these should not execute when loading bytecode
05:16 dalek parrot: review: https://github.com/parrot/parrot/commit/e9e296a3d7
05:16 dalek parrot: d9c0033 | plobsing++ | compilers/imcc/main.c:
05:16 dalek parrot: imcc loads bytecode too apparently
05:16 dalek parrot: review: https://github.com/parrot/parrot/commit/d9c00337c1
05:16 dalek parrot: 2477d42 | plobsing++ | / (4 files):
05:16 dalek parrot: Merge branch 'encapsulate-compilation-phasors'
05:16 dalek parrot: review: https://github.com/parrot/parrot/commit/2477d42572
05:18 dalek parrot: b99cde0 | (Matt Rajca)++ | src/pmc/orderedhash.pmc:
05:18 dalek parrot: [pmc] comment out defined_keyed_str, which seems to be unreachable.
05:18 dalek parrot:
05:18 dalek parrot: Signed-off-by: Christoph Otto <christoph_git@mksig.org>
05:18 dalek parrot: review: https://github.com/parrot/parrot/commit/b99cde065b
05:18 dalek parrot: 3eeace2 | (Matt Rajca)++ | t/pmc/orderedhash.t:
05:18 dalek parrot: [pmc] increase OrderedHash's test coverage
05:18 dalek parrot:
05:18 dalek parrot: Signed-off-by: Christoph Otto <christoph_git@mksig.org>
05:18 dalek parrot: review: https://github.com/parrot/parrot/commit/3eeace24e9
05:19 Coke left #parrot
05:20 Kapace_ cotto: sorry to bug you, but should I create a ticket or not?
05:21 cotto Kapace_, yes.  Attaching a way to reproduce the bug is preferable but it's fine as long as you give sufficient instructions so that someone who's familiar with Parrot can figure it out easily.
05:21 Kapace_ ok, thanks :)
05:28 Tene joined #parrot
05:36 dalek TT #1915 created by DavidCzech++: Cloning ParrotLibrary results in Null PMC access
05:36 dalek TT #1915: http://trac.parrot.org/parrot/ticket/1915
05:41 Patterner left #parrot
05:44 dalek parrot: 9d077ec | plobsing++ | src/pmc/parrotlibrary.pmc:
05:44 dalek parrot: null checks on PMCs should also check against pmcnull
05:44 dalek parrot: review: https://github.com/parrot/parrot/commit/9d077eca23
05:52 dalek TT #1915 closed by plobsing++: Cloning ParrotLibrary results in Null PMC access
05:52 dalek TT #1915: http://trac.parrot.org/parrot/ticket/1915
05:52 Kapace_ that was fast :)
05:53 plobsing gdb ftw
05:54 plobsing speaking of which, can we get some gdb/parrot scripting as GCI tasks? Its a little long winded and dumb right now.
06:05 * plobsing sleeps
06:06 Psyche^ joined #parrot
06:06 Psyche^ is now known as Patterner
06:11 plobsing left #parrot
06:15 Patterner left #parrot
06:17 cotto plobsing++
06:21 Yuki`N Do you need a special trac bit to do things to tickets besides opening them?
06:27 Psyche^ joined #parrot
06:27 Psyche^ is now known as Patterner
06:32 Yuki`N left #parrot
06:37 TonyC joined #parrot
06:41 Patterner left #parrot
06:48 Psyche^ joined #parrot
06:48 Psyche^ is now known as Patterner
06:54 dalek parrot: 4111621 | GeJ++ | / (2 files):
06:54 dalek parrot: [codingstd] Pet code tests.
06:54 dalek parrot: review: https://github.com/parrot/parrot/commit/41116214cc
06:58 Patterner left #parrot
07:06 bacek left #parrot
07:09 Psyche^ joined #parrot
07:09 Psyche^ is now known as Patterner
07:17 Patterner left #parrot
07:49 fperrad joined #parrot
07:56 Psyche^ joined #parrot
07:56 Psyche^ is now known as Patterner
08:16 Patterner left #parrot
08:33 Psyche^ joined #parrot
08:33 Psyche^ is now known as Patterner
08:36 dalek parrot: 396de46 | cotto++ | src/packfile/ (2 files):
08:36 dalek parrot: [packfile] switch to exceptions for some packfile error reporting
08:36 dalek parrot: review: https://github.com/parrot/parrot/commit/396de466f2
08:42 he joined #parrot
08:43 mikehh left #parrot
08:49 Patterner left #parrot
08:50 Psyche^ joined #parrot
08:50 Psyche^ is now known as Patterner
08:52 cotto msg whiteknight Can you set up a gci task to rename packfile functions to Parrot_pf_*?
08:52 aloha OK. I'll deliver the message.
08:53 mikehh joined #parrot
09:02 Patterner left #parrot
09:10 dalek tracwiki: v4 | cotto++ | PackfileTasklist
09:10 dalek tracwiki: add notes about potential and actual gci tasks in this area
09:10 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Pack​fileTasklist?version=4&amp;action=diff
09:26 Psyche^ joined #parrot
09:26 Psyche^ is now known as Patterner
09:31 rfw left #parrot
09:36 dalek parrot: a00c8f2 | mikehh++ | MANIFEST (2 files):
09:36 dalek parrot: re-generate MANIFEST and MANIFEST.SKIP
09:36 dalek parrot: review: https://github.com/parrot/parrot/commit/a00c8f2b08
09:42 dalek parrot: 1d615b1 | mikehh++ | t/src/misc.t:
09:42 dalek parrot: add missing coda
09:42 dalek parrot: review: https://github.com/parrot/parrot/commit/1d615b1c00
09:44 theory left #parrot
09:46 Patterner left #parrot
09:58 Psyche^ joined #parrot
09:58 Psyche^ is now known as Patterner
10:15 Patterner left #parrot
10:33 Psyche^ joined #parrot
10:33 Psyche^ is now known as Patterner
10:47 mikehh cotto: ping
11:25 dalek parrot: 6da188c | (Gerd Pokorra)++ | docs/parrot.pod:
11:25 dalek parrot: update platform information
11:25 dalek parrot: review: https://github.com/parrot/parrot/commit/6da188c758
11:26 bluescreen joined #parrot
11:32 Patterner left #parrot
11:42 Psyche^ joined #parrot
11:42 Psyche^ is now known as Patterner
11:51 lucian joined #parrot
11:53 perlite left #parrot
11:53 perlite joined #parrot
12:06 mikehh left #parrot
12:06 Coke joined #parrot
12:20 mikehh joined #parrot
12:22 lucian left #parrot
12:47 mtk joined #parrot
12:56 mtk left #parrot
13:04 mtk joined #parrot
13:16 mtk left #parrot
13:17 mikehh opbots, names
13:21 contingencyplan left #parrot
13:22 mtk joined #parrot
14:00 dalek parrot: d6c805a | Coke++ | src/pmc/orderedhash.pmc:
14:00 dalek parrot: Remove commented out code.
14:00 dalek parrot: review: https://github.com/parrot/parrot/commit/d6c805a063
14:04 whiteknight joined #parrot
14:21 he left #parrot
14:26 whiteknight good morning, #parrot
14:27 whiteknight msg cotto I was waiting on the Parrot_pf_ function renames because we haven't really set up a "Packfile API" yet. We need to move several functions out of src/packfile/api.c first, which shouldn't be visible outside that subsystem
14:27 aloha OK. I'll deliver the message.
14:28 whiteknight maybe that can be a GCI task in itself
14:39 lucian joined #parrot
14:53 dmalcolm joined #parrot
14:59 whiteknight ack PBC_PBC
15:07 lucian left #parrot
15:24 whiteknight aloha, coverage?
15:24 aloha whiteknight: coverage is http://cv.perl6.cz or http://tapir2.ro.vutbr.cz/cover/cover-results/
15:26 plobsing joined #parrot
15:27 mikehh been gettin intermittent failures with t/pmc/threads.t (especially in testr and testf) but when I re-run the test or individually it does not fail
15:27 Patterner left #parrot
15:30 dalek tracwiki: v5 | whiteknight++ | PackfileTasklist
15:30 dalek tracwiki: +some tasks about sub pragmas, which need major cleanup
15:30 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Pack​fileTasklist?version=5&amp;action=diff
15:39 whiteknight mikehh: That's weird. We may have a timing issue popping up now
15:41 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#1918) fulltest) at 2_11_0-369-g6da188c - Ubuntu 10.10  i386 (gcc-4.5)
15:42 mikehh whiteknight: I don't think I am over happy with our implementation of threads anyway
15:43 mikehh I generally run with TEST_JOBS=4, which might effect the timing, but I don't think so
15:45 mikehh I think that allows tests to run in parallel, but each individual test is run serially I think
15:46 mikehh so t/pmc/threads.t will run test1 then test2 etc but might run at the same time as t/pmc/toimer.t
15:46 mikehh timer
15:47 dalek tracwiki: v6 | whiteknight++ | PackfileTasklist
15:47 dalek tracwiki: +more tasks
15:47 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Pack​fileTasklist?version=6&amp;action=diff
15:49 whiteknight mikehh: I am *extremely* unhappy with our threading implementation. I really want to completely rip it out and start from the ground up
15:49 mikehh I had problems with this when I ran smoke at the same time as fulltest (before smoke allowed TEST_JOBS=4)
15:49 mikehh Whiteknight: yes
15:49 whiteknight mikehh: the threading system has enough bugs that I think it's not usable anyway for realistic non-toy applications
15:50 mikehh ha - it does not even work reliably for simple tests
15:51 whiteknight yeah, I guess you are right
15:51 whiteknight open a ticket, suggest we deprecate it pre-3.0
15:51 plobsing whiteknight: I don't think packfile dump functions belong as pmcmethods (more namespace polution). I'd like to see pretty-print use a more clos-y multi-method-based approach.
15:51 plobsing s/multi-method/multi-sub/
15:52 whiteknight plobsing: My main drive with that idea is that I don't think we need packfile dump functions here in this subsystem at all. They should be external to the subsystem
15:52 whiteknight If we want to create new PMC types PackFileDumper, etc, that would do the same general thing
15:53 plobsing I don't like the concept of special case classes for something that should be doable on most objects (pretty-print)
15:56 mikehh the test cotto added to t/embed/pmc.t fails to build with g++ (the test sets up c files and then builds and runs them) - also those files should be in .gitignore - git status reports them although they are removed my make realclean
15:57 plobsing If we wait until we get packfile pmcs (admittedly a little far away ATM), we could put implement them in an HLL. If we're unwilling to wait, I suggest we create an NCI lib.
15:57 whiteknight plobsing: I much less like the idea of keeping around a bunch of special-case routines in the core subsystem for something we rarely use (pretty-print)
15:57 whiteknight I really don't care where those functions go, so long as they get out of src/packfile/*
15:57 whiteknight delete them for all I care
15:59 mikehh t/src/embed/pmc_1.c 11..7) and t/src/embed/strings_1.c
15:59 mikehh bah - try again
16:01 mikehh the files are t/src/embed/pmc_1.c (1..7) and t/src/embed/strings_1.c - the t/src/embed/*.t seem to only be run with fulltest - src_tests
16:06 Matt_ joined #parrot
16:08 whiteknight I sort of don't want to lose pbc_dump, but if we had a PMC-based interface to dumping packfiles we could rewrite that program in ~100 lines of PIR
16:10 mtk left #parrot
16:14 whiteknight plobsing: I am still very much interested in having a VTABLE_visit which we can pass in an arbitrary visitor PMC to. The pretty-printing is just a matter of passing in a PrettyPrintVisitor to it
16:14 whiteknight and freeze/thaw already use this pattern
16:14 whiteknight we could probably just rename VTABLE_freeze to VTABLE_visit
16:14 mtk joined #parrot
16:14 plobsing we already have visit. freeze/thaw partially makes use of it.
16:15 plobsing there is actually nothing stopping us from removing either freeze & thaw vtables or the visit vtable except inertia
16:16 whiteknight I don't think we can replace both freeze and thaw with visit
16:16 whiteknight we could have visit_read and visit_write to handle the difference between push/unshift
16:17 whiteknight and visit_finish, to round out the bunch
16:17 plobsing visit works in multiple directions. such functions are often identical except for the direction of dataflow.
16:19 plobsing having 1 function do both is very DRY. I've used macros in C to even hide the difference (eg: VISIT_PMC_ATTR)
16:19 whiteknight ah, I wasn't aware of the VISIT_PMC_ATTR macro
16:23 whiteknight I say plobsing: We should jump on that. We should put in deprecation notices for freeze/thaw vtables before 3.0 so we can replace with visit at our leisure later
16:25 plobsing ok. I'll do that soon.
16:26 whiteknight I can do it. I just wanted somebody to agree :)
16:32 Matt_ whiteknight: If I find any more dead VTABLE's while writing unit tests should I just removed the code? Can you list the places to check so I don't delete anything that's used
16:36 dalek tracwiki: v7 | whiteknight++ | PackfileTasklist
16:36 dalek tracwiki: +use visit
16:36 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Pack​fileTasklist?version=7&amp;action=diff
16:36 dalek TT #1860 closed by whiteknight++: Move pbc subsystem to src/packfile
16:36 dalek TT #1860: http://trac.parrot.org/parrot/ticket/1860
16:38 whiteknight Matt_: Don't just delete it. Ask first.
16:39 whiteknight msg cotto I created a new deprecation ticket #1916. I would like to put the notice in DEPRECATED.pod asap before the release, so let me know if you have any major problems with it beforehand
16:39 aloha OK. I'll deliver the message.
16:39 Coke whiteknight: I think a better plan, in general, when faced with a crappy subsystem, is to implement a non-crappy subsystem to replace it, then deprecate the crappy version, then remove it. Just in generael.
16:40 kennym joined #parrot
16:42 whiteknight Coke: depends on the subsystem. The packfiles system for instance is far too intertwined with other systems to just be replaced whole-hog like that
16:42 whiteknight in a general sense, yes your way is the cleanest
16:43 whiteknight Coke: I would tend to prefer the mechanism we've been doing a lot of: Create a new API for crappy subsystem, move everybody to the new API, then we can freely replace what's behind it so long as the behavior is the same
16:44 whiteknight that chain of events pays more dividends, because we can continually make improvements to system internals so long as the API does not change
16:45 Coke that's pretty much what I said, yes.
16:46 Coke as long as that's the general plan. (we've had too many cases where we've just said "oh, this will change, LOOK OUT". hll devs can't cope with that.
16:47 whiteknight Coke: there are some things where I think the best course of action in the near-term is to simply rip out the old version and offer no immediate replacement. Threads is an example
16:47 whiteknight luckily, the number of systems in this category is much smaller now than it was some years ago
16:48 whiteknight for most subsystems now, encapsulation and then changing the implementation is a much better approach
16:51 mikehh http://nopaste.snit.ch/ seems to be unavailable at present
16:52 mikehh and the bot doesn't seem to be around either
16:52 whiteknight mikehh: darn, that stinks
16:52 whiteknight mikehh: try gist.github for now?
16:53 dalek TT #1916 created by whiteknight++: Deprecate freeze, thaw, and thawfinish VTABLEs
16:53 dalek TT #1916: http://trac.parrot.org/parrot/ticket/1916
16:57 Matt_ whiteknight: What exactly is sharing of a PMC? (share / share_ro)
16:58 mikehh git://gist.github.com/759997.gitt/src/embed/t failure with g++
16:58 lucian joined #parrot
17:06 Psyche^ joined #parrot
17:06 Psyche^ is now known as Patterner
17:10 wagle left #parrot
17:11 whiteknight Matt_: I don't think we use those anymore
17:11 Myhrlin left #parrot
17:12 whiteknight mikehh: Drat, I thought I had ran that test last night with g++
17:13 whiteknight mikehh: I may need to evaluate that test and maybe rewrite portions of it. It shouldn't be calling Parrot_str_byte_length
17:13 wagle joined #parrot
17:15 mikehh whiteknight: well it works fine with gcc, but yes I wondered about that
17:19 whiteknight mikehh: I'm testing a fix now.
17:19 whiteknight I don't have g++ here though. I will try to fix the function problem but I may need you to fix the casting problem to make sure that gets done correctly
17:26 mikehh whiteknight: whenever you are ready
17:34 * Coke wonders how you can freeze an arbitrary PMC using "visit" only.
17:34 Coke whiteknight: most g++ errors show up as warnings on gcc.
17:42 dalek parrot: c103611 | fperrad++ | runtime/parrot/library/TAP/Parser.pir:
17:42 dalek parrot: [TAP] fix TAP;Parser constructor
17:42 dalek parrot: (always initialize 'tests_planned')
17:42 dalek parrot: review: https://github.com/parrot/parrot/commit/c10361155c
17:44 dalek parrot/leto/embed_grant: 80d6515 | dukeleto++ | t/src/embed.t:
17:44 dalek parrot/leto/embed_grant: [t] Test for Parrot_PMC_i_neg
17:44 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/80d6515264
17:48 dalek parrot: 7d2140e | Whiteknight++ | / (2 files):
17:48 dalek parrot: attempted partial fix for g++ build problems found in test by mikehh
17:48 dalek parrot: review: https://github.com/parrot/parrot/commit/7d2140e1b5
17:48 dalek parrot: 3e42494 | Whiteknight++ | runtime/parrot/library/TAP/Parser.pir:
17:48 dalek parrot: Merge branch 'master' of github.com:parrot/parrot
17:48 dalek parrot: review: https://github.com/parrot/parrot/commit/3e424943e9
17:49 estrabd joined #parrot
17:49 dalek parrot/leto/embed_grant: 990977d | dukeleto++ | t/src/embed.t:
17:49 dalek parrot/leto/embed_grant: [t] Parrot_PMC_increment
17:49 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/990977dcbf
17:52 davidfetter joined #parrot
17:54 dalek parrot/leto/embed_grant: 8c873ea | dukeleto++ | t/src/embed.t:
17:54 dalek parrot/leto/embed_grant: [t] Parrot_PMC_decrement
17:54 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/8c873ea61d
17:59 Matt_ Can someone here approve this task: http://www.google-melange.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129360930967#c1
18:05 Myhrlin joined #parrot
18:06 theory joined #parrot
18:13 Myhrlin left #parrot
18:13 cotto_work ~~
18:17 Myhrlin joined #parrot
18:18 whiteknight Matt_: accepted
18:20 Matt_ whiteknight: Submitted pull request: https://github.com/parrot/parrot/pull/54
18:22 whiteknight Matt_: give me a few minutes to examine it
18:25 moritz cotto_work: fwiw my last rakudo spectest on RELEASE_2_11_0-343-g0264a39 was clean
18:25 dalek parrot/gci_undef_coverage: 3d53ab3 | (Matt Rajca)++ | t/pmc/undef.t:
18:25 dalek parrot/gci_undef_coverage: Increased code coverage for Undef PMC
18:25 dalek parrot/gci_undef_coverage: review: https://github.com/parrot/parrot/commit/3d53ab3c74
18:25 dalek parrot/gci_undef_coverage: afac169 | (Matt Rajca)++ | src/pmc/undef.pmc:
18:25 dalek parrot/gci_undef_coverage: Removed share_ro VTABLE as it wasnt used
18:25 dalek parrot/gci_undef_coverage: review: https://github.com/parrot/parrot/commit/afac1693f5
18:29 cotto_work moritz: good to know.  I'm glad the failures weren't Parrot's fault.
18:31 Kapace_ cotto_work: for parrotlibrary.pmc, I have 89%, and I thought the bugfix would bring it to 95, but apparently not..
18:32 Kapace_ I need to either give it metadata or make oplib_init() for the last 5%, not sure how to do that
18:32 cotto_work Kapace_: ok.  Do your best to get to 95%, but don't worry if it's not possible or practical.
18:32 aloha left #parrot
18:32 dalek parrot: 3d53ab3 | (Matt Rajca)++ | t/pmc/undef.t:
18:32 dalek parrot: Increased code coverage for Undef PMC
18:32 dalek parrot: review: https://github.com/parrot/parrot/commit/3d53ab3c74
18:32 dalek parrot: afac169 | (Matt Rajca)++ | src/pmc/undef.pmc:
18:32 dalek parrot: Removed share_ro VTABLE as it wasnt used
18:32 dalek parrot: review: https://github.com/parrot/parrot/commit/afac1693f5
18:32 dalek parrot: ecd7551 | Whiteknight++ | / (2 files):
18:33 dalek parrot: Merge remote branch 'origin/gci_undef_coverage'
18:33 dalek parrot: review: https://github.com/parrot/parrot/commit/ecd7551205
18:33 Kapace_ ok
18:34 whiteknight Matt_: merged, and task closed. Thanks!
18:34 Matt_ whiteknight: thanks!
18:34 whiteknight cotto_work, dukeleto: I wrote up a few new GCI tasks this morning if somebody wouldn't mind publishing them
18:34 bacek_at_work left #parrot
18:36 mikehh whiteknight: ok works now - had to run make headerizer, add ASSERT_ARGS, and add cast - testing to see if it broke anything
18:38 cotto_work whiteknight: how does https://github.com/parrot/parrot/commit/396de46 look?  I mentioned it in a gci task as an example and want to make sure I'm not doing anything stupid.
18:38 cotto_work looking at tasks now
18:42 cotto_work whiteknight: all tasks published
18:44 whiteknight mikehh: Sorry about all that, my dev environment here at work is...strained. I can't run nor test most of it, most of the time
18:44 whiteknight cotto_work: that commit looks good to me, minus some indenting here and there. Assuming all tests continue to pass, I like it
18:45 cotto_work of course
18:48 dalek parrot: 7273822 | mikehh++ | t/src/embed/pmc.t:
18:48 dalek parrot: remove trailing whitespace
18:48 dalek parrot: review: https://github.com/parrot/parrot/commit/727382201d
18:48 dalek parrot: b15a550 | mikehh++ | include/parrot/api.h:
18:48 dalek parrot: run make headerizer to add function
18:48 dalek parrot: review: https://github.com/parrot/parrot/commit/b15a550eb0
18:48 dalek parrot: 7896ce6 | mikehh++ | src/embed/strings.c:
18:48 dalek parrot: add ASSERT_ARGS
18:48 dalek parrot: review: https://github.com/parrot/parrot/commit/7896ce6c1f
18:48 dalek parrot: 69c3a2d | mikehh++ | t/src/embed/pmc.t:
18:48 dalek parrot: add cast to allow test to build with g++
18:48 dalek parrot: review: https://github.com/parrot/parrot/commit/69c3a2d767
18:49 whiteknight I really need to get my laptop back up and running again. I have so many hard-core projects I want to start up
18:51 dalek parrot: a4061d5 | nwellnhof++ | / (8 files):
18:51 dalek parrot: Fix a bunch of compiler warnings
18:51 dalek parrot: review: https://github.com/parrot/parrot/commit/a4061d54ba
18:53 whiteknight nwellnhof: I'm testing the unicode_io branch now.
18:53 dukeleto ~~
18:54 whiteknight good morning dukeleto
18:55 dukeleto whiteknight: howdy
18:58 Kapace_ :( git has me soo confused, I think I should delete and reopen my fork
18:59 dmalcolm left #parrot
18:59 dukeleto Kapace_: wazzup?
18:59 bacek_at_work joined #parrot
18:59 nwellnhof joined #parrot
19:00 dukeleto Kapace_: i think you are not using your fork in a way that makes things easy. You are creating problems by how you are committing to your fork
19:00 whiteknight nwellnhof: the unicode_io branch passes all tests for me. I say merge
19:00 aloha joined #parrot
19:00 Kapace_ dukeleto: probably, I also have very little knowledge of git
19:00 dukeleto Kapace_: have you read https://github.com/parrot/parrot/blob​/master/docs/project/git_workflow.pod ?
19:00 dukeleto Kapace_: i can help you out
19:00 dukeleto Kapace_: what is your current situation?
19:00 Kapace_ dukeleto: ok, I tried to make a branch for this task
19:01 Kapace_ and it kinda worked https://github.com/kapace/​parrot/tree/test_coverage
19:01 nwellnhof whiteknight: i have another change planned for unicode_io: support for record_separator. single character only for now.
19:02 Kapace_ but I tried to push to it, but I keep getting errors etc
19:02 dalek parrot: d9b320b | mikehh++ | t/pmc/undef.t:
19:02 dalek parrot: remove trailing whitespace and update copyright
19:02 dalek parrot: review: https://github.com/parrot/parrot/commit/d9b320b8ad
19:02 dukeleto Kapace_: which errors?
19:02 dukeleto Kapace_: hard to help you if you don't give us all the info
19:02 dukeleto Kapace_: gist the entire error, with the command you are running
19:03 dukeleto Kapace_: we will get this sorted out quickly
19:03 dukeleto Kapace_: which task are you working on?
19:03 Kapace_ dukeleto: ok, http://www.google-melange.com/gci/​task/show/google/gci2010/parrot_pe​rl_foundations/t129361003071#c3001
19:03 Kapace_ oh, I should have totally read https://github.com/parrot/parrot/blob​/master/docs/project/git_workflow.pod first
19:03 Kapace_ would have saved me a lot of trouble
19:04 dukeleto Kapace_: :)
19:04 Kapace_ dukeleto: right now, I would really just like to clean up my and get rid of all the commits that I may have made by accident
19:04 Kapace_ *my fork
19:05 dukeleto Kapace_: do you have work in your fork now that you want to keep?
19:05 Kapace_ (If i try to open a pull request, I have 11 commits that wants to be merged, but I only want one commit!)
19:05 Kapace_ dukeleto: no, I have it all locally
19:06 dukeleto Kapace_: do you know the sha1 of the commit that you want to be in the pull request?
19:06 dukeleto Kapace_: we need that
19:06 Kapace_ https://github.com/kapace/parrot/commit/​7387447c2c3df009dccfd6b074f8f7d49f7d4812
19:06 dukeleto Kapace_: good
19:07 dukeleto Kapace_: which branch are you on in your local repo ?
19:07 Kapace_ but I guess I have other commit before that,
19:07 Kapace_ master
19:07 cotto_work nice to have the Dr. in
19:07 dukeleto Kapace_: as long as you know the sha1 of each commit you want, that is what we need
19:07 dukeleto Kapace_: which branch are the sha1's that you want on? Are they on master or your topic branch?
19:08 Kapace_ they should be in master i think
19:08 dukeleto Kapace_: just want to remind you that git_workflow.pod was linked to in every task description. Next time, read the docs ;)
19:08 dukeleto Kapace_: ok. create a text file with the sha1, one per line, that you want
19:09 Kapace_ I will, I just thought I had it under control for the first few tasks, but I guess it got worse over time :$
19:09 dukeleto Kapace_: yeah, ignoring small problems tend to make them into big problems :)
19:09 dukeleto Kapace_: also, gist the output of the command "cat .git/config" for me
19:10 * dukeleto muses that he needs to add docs to git_workflow.pod for keeping a fork in sync
19:11 Kapace_ dukeleto: ok, but I have two clones, one clone of parrot/parrot and other of kapace/parrot
19:11 cotto_work dukeleto: good idea.  That might have made embed_api a bit less awkward.
19:11 Kapace_ I copied my work to both
19:11 whiteknight cotto_work: I didn't use a fork for embed_api. At least not the later branches
19:12 dukeleto Kapace_: gist that command and do you have the sha1's yet?
19:12 dukeleto Kapace_: how many sha1's are we dealing with? 2?
19:12 Kapace_ dukeleto: I have the sha1s, but which clone do I get git config from?
19:12 Kapace_ dukeleto: like 3
19:12 whiteknight msg nwellnhof test for gc_dynamic_threshold fails. t/op/gc-leaky-call.t, test 3 fails on that branch
19:12 aloha OK. I'll deliver the message.
19:13 dukeleto Kapace_: cat the .git/config in whichever repo that you found the 3 sha1's in
19:13 cotto_work whiteknight: of course.  I misread "fork" as "branch".
19:13 dukeleto Kapace_: sha1's are repo-specific
19:13 Kapace_ ok
19:13 nwellnhof whiteknight: did you test on 64bit?
19:14 dukeleto Kapace_: i want you to run this command in the repo that you are gisting the .git/config and which you found the 3 sha1's: git remote add upstream git://github.com/parrot/parrot.git
19:14 Kapace_ dukeleto: https://gist.github.com/760159
19:15 whiteknight nwellnhof: yes, 64-bit
19:15 Kapace_ dukeleto: ok I see upstream in .git/config now
19:15 rfw joined #parrot
19:15 dukeleto Kapace_: after you type the git remote, do a : git fetch --all
19:16 Kapace_ ok looks good
19:16 nwellnhof whiteknight: i reenabled the gc-leaky tests in gc_dynamic_threshold, but i probably have to tweak the memory limit in the tests.
19:16 dukeleto Kapace_: do you have any uncommitted files in the current repo that you care about? If so, move them out of this directory.
19:17 Kapace_ ok
19:17 dukeleto Kapace_: once you are sure about that, type: git reset --hard upstream/master
19:17 nwellnhof whiteknight: can you give me the full output of gc-leaky-call.t?
19:17 Kapace_ ok done
19:18 dukeleto Kapace_: if that succeeded, then do a : git checkout -b kapace/parrotlibrary
19:18 dukeleto Kapace_: are we good?
19:18 Kapace_ yes
19:19 whiteknight nwellnhof: not ok 3 - allocated 46837760 (which should be <= 2_500_000) bytes of memory
19:19 whiteknight no error output otherwise
19:19 dukeleto Kapace_: ok, now you do 3 commands of the form: git cherry-pick $sha1 , where $sha1 are the sha1's of the commits you want
19:19 Kapace_ ok
19:19 dukeleto Kapace_: the $ is for you, not the computer :)
19:19 dukeleto Kapace_: so it is for example : git cherry-pick deadbeef
19:19 dukeleto Kapace_: although deadbeef is probably not a valid sha1 in your repo (but it could)
19:20 Kapace_ ooh, yeah it works
19:20 dukeleto Kapace_: now get up from your chair and do a little dance
19:20 Kapace_ done!
19:20 whiteknight DANCE!
19:21 Kapace_ http://bash.org/?4281 hehe
19:21 dukeleto Kapace_: now do: git push origin kapace/parrotlibrary
19:21 dukeleto Kapace_: then create a pull request from the kapace/parrotlibrary branch
19:22 dukeleto Kapace_: then go read git_workflow.pod :)
19:22 Matt_ left #parrot
19:22 Kapace_ yes I was just about to do that :)
19:22 Kapace_ thanks for your help dukeleto
19:23 dukeleto Kapace_: to keep that repo you have now up to date: (on master) git pull --rebase upstream
19:23 dukeleto Kapace_: you have the remote 'origin' as your fork, and you have the main parrot repo as 'upstream'
19:23 dukeleto Kapace_: you can only push to origin, but you can pull/fetch from upstream. Makes sense?
19:24 Kapace_ yes
19:24 dukeleto Kapace_: and to submit work to parrot devs, you create a topic branch from master (which you never commit to), and then make a pull request from each topic branch
19:24 dukeleto Kapace_: one topic branch per GCI task
19:24 dukeleto Kapace_: one commit per atomic change (roughl)
19:24 Kapace_ ok, makes total sense :)
19:25 dukeleto Kapace_: and you are welcome :) Good luck with GCI. With this info, you should be able to close at least 5 difficult tasks before GCI is over ;)
19:25 Kapace_ hopefully! thanks again
19:25 dukeleto Kapace_: parrot has like 30 open tasks. Go rock 'em.
19:26 Kapace_ ill finish git_workflow.pod first!
19:26 whiteknight most of those tasks are code-coverage though. Enthusiasm towards those kinds of tasks appears to be waning
19:26 Kapace_ nah, they just take time for make cover to finish :P
19:27 dukeleto whiteknight: sure. They were just easy for me to create. I would like to add more interesting tasks, of course. But those take time to write up properly.
19:27 dukeleto Kapace_: parallelize! TEST_JOBS=3 in your env will make things go faster
19:27 * dukeleto hopes that make cover understands TEST_JOBS
19:28 whiteknight dukeleto: I added a few new tasks this morning. I have more in my head that need to come out still
19:28 Kapace_ dukeleto: oh cool, didn't know about that would help alot on dual+ core machines
19:28 bluescreen left #parrot
19:28 cotto_work whiteknight: I made some notes on PackfileTasklist about possible gci tasks.
19:29 cotto_work I see you made some changes too
19:29 whiteknight cotto_work: yeah, I've been going through that list
19:30 whiteknight cotto_work: yeah, every time I read through that code I get absurdly, comically angry. Sometimes I channel that anger into a "kill all this shit" tasklist
19:31 dukeleto whiteknight: we probably need a ChoppingBlockTasklist
19:33 whiteknight dukeleto: example?
19:33 dukeleto whiteknight: well, the current Embed interface is on the chopping block
19:34 dukeleto whiteknight: Role and Scalar PMCs should be on the chopping block
19:34 dukeleto whiteknight: it would basically keep track of parts of parrot that we are trying to get rid of, so people know that they should not spend time rearranging the deck chairs on the Titanic
19:34 dukeleto whiteknight: or parts that will be totally rewritten
19:35 dukeleto whiteknight: Complex PMC sounds like it will get ejected from core, it could go on there
19:35 dukeleto whiteknight: what is the status of parrot-data-structures ?
19:35 dukeleto whiteknight: i think the complex pmc could live in there
19:35 dukeleto whiteknight: and then we can add Quaternion PMCs
19:37 whiteknight dukeleto: Okay, that kind of list sounds good. Sounds like significant overlap with DEPRECATED.pod, but a more concise list might be helpful
19:37 dukeleto whiteknight: yes, a very short list. The ChoppingBlockTasklist is just an index, that links to deprecation TT's and/or wiki pages
19:38 cotto_work dukeleto: you mean ItsABughunt?
19:38 whiteknight I haven't decided what I want to do with Complex yet. Parrot-Data-Structures was more an experimental/benchmarking platform for things like arrays, queues, and stacks. I've been using it to test alternate implementations of some things
19:38 dukeleto cotto_work: possibly.
19:38 cotto_work whiteknight: It could go into a new parrot-math package.  It doesn't really fit into an existing project.
19:38 whiteknight We may want to create a new project, Parrot-Mathematics or something similar. We could add a Complex PMC, Quaternion PMC, transformation objects between coordinate systems, etc
19:39 cotto_work ...
19:39 dukeleto whiteknight: i can do a parrot-math repo, that sounds fun to my sick mind
19:39 Coke parrot-meth
19:39 whiteknight "Doing math on Parrot isn't normal. But on Meth it is"
19:41 dukeleto whiteknight: do you have access to complex datatructures in parrot-linear-algebra from BLAS or something?
19:41 Coke http://nopaste.voric.com/paste.php?f=qy2j59 - parrot is a lot slower than perl5 on the fib benchmark.
19:42 dukeleto Coke: what compile flags are being used? which versions? ETOOVAGUE
19:43 whiteknight dukeleto: as far as I am aware, BLAS doesn't implement any data structures. The memory model it uses for matrices is very simple
19:45 dukeleto whiteknight: does it use "strides" ?
19:51 whiteknight dukeleto: yes
19:51 whiteknight NumMatrix2d has unit stride, ComplexMatrix2D stores the real and complex values for each entry together
19:51 whiteknight RIRIRI...
19:53 dukeleto whiteknight: yeps. the same as GSL
19:53 whiteknight dukeleto: At it's lowest level, I thought GSL was an implementation of BLAS/LAPACK
19:53 whiteknight or, at least contained them
19:53 dukeleto whiteknight: nope
19:53 dukeleto whiteknight: it can use BLAS/LAPACK but reimplements small parts of them
19:54 dukeleto whiteknight: GSL is mostly about special functions and solving differential equations and minimization/optimization
19:54 Matt_ joined #parrot
19:54 dukeleto whiteknight: and statistics and histograms and all that junk. it isn't just linear algebra
19:54 dukeleto whiteknight: it just reimplements the subset of linear algebra it needs to solve other stuff
19:54 whiteknight no, I knew it was much more than just linear algebra. I thought that it built on top of BLAS/LAPACK
19:54 whiteknight ok
19:55 Matt_ whiteknight: Can unit tests reference external files (i.e. to test MappedByteArray)
19:55 dukeleto whiteknight: BLAS/LAPACK is an optional dep, the last time i checked
19:55 dukeleto Matt_: yes
19:55 dukeleto Matt_: they should be in the same directory as the test file
19:55 whiteknight Matt_: yes. You can reference a file that you know exists from the build, or you can add a text file to the test directory
19:57 whiteknight oh, I've got two great tasks for GCI students
19:57 Coke dukeleto: configure_args => '"--optimize" "--ccflags=-g" "--prefix=/Users/coke/bird" "--cc=ccache g++"'
20:01 Coke that's as of yesterday, using latest parrot and perl 5.12.2
20:01 Coke ... none of which really impacts the ZOMG PARROT IS SLOW so much, and fib is a pretty short PIR program to make go faster.
20:02 Kristaba joined #parrot
20:04 Kristaba whiteknight: Hi!
20:06 dukeleto Coke: what is the optimization level of the perl you are comparing it against?
20:06 dukeleto Coke: -O2 ?
20:06 Kristaba whiteknight: I'm back, and I played a bit with ParrotSharp ;)
20:07 Kristaba whiteknight: https://github.com/Kristaba/par​rotsharp/commits/kristaba_tests
20:07 dukeleto Coke: that is probably a recent slowdown with some branch merge or something. grumble grumble.
20:08 * dukeleto needs to build the bencharking thingy already
20:08 dukeleto Interesting graph: https://github.com/parrot/parrot/graphs/traffic
20:09 Coke dukeleto: that a default perl build from perlbrew.
20:10 Coke dukeleto: optimize on the perl is -O3
20:10 dalek parrot: eaf402c | nwellnhof++ | / (18 files):
20:10 dalek parrot: Fix headerizer warnings
20:10 dalek parrot: review: https://github.com/parrot/parrot/commit/eaf402c639
20:10 dukeleto Coke: ah, that is not fair :)
20:11 Coke so make --optimize DTRT, then.
20:11 dukeleto Kapace_: i am looking at your pull request
20:12 Coke if I want a fast parrot, what should I pass to Configure.pl? (And why is it not the default?)
20:12 whiteknight Kristaba: Hello! How was your trip?
20:12 dukeleto Coke: -O3 makes compile times longer, you might want to ask parrot-dev about it before changing what --optimize does
20:12 dalek TT #1907 closed by whiteknight++: Behavior of "exit" opcode changed since 2.11.0
20:12 dalek TT #1907: http://trac.parrot.org/parrot/ticket/1907
20:12 Kapace_ dukeleto: ok, how is it looking?
20:12 dukeleto Coke: perhaps you can add a --fast-as-possible flag ?
20:12 Coke so, --cc-flags="-O3" ?
20:12 whiteknight msg plobsing Can you take a look at this old ticket: http://trac.parrot.org/parrot/ticket/833. I think if we do the next stages of the packfile reorganization correctly I think we can get this issue resolved "for free"
20:12 aloha OK. I'll deliver the message.
20:13 Coke dukeleto: seems to make more sense to ask our devs to pass in -slow-but-easier-to-debug.
20:14 Coke dukeleto: any reason why optimize is at -O2 and not -O3 ?
20:14 rurban joined #parrot
20:14 Kristaba whiteknight: It was very long and tiring, but it's nice to meet the family :)
20:15 Coke dukeleto: scratch that - it IS at -O3. so how is it not fair?
20:17 dalek parrot: 23f95af | dukeleto++ | t/pmc/parrotlibrary.t:
20:17 dalek parrot: [t] Increase test coverage of ParrotLibrary PMC, a GCI task by kapace++
20:17 dalek parrot: review: https://github.com/parrot/parrot/commit/23f95af5e5
20:17 dukeleto Kapace_: link for that task?
20:18 Kapace_ http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129361003071
20:18 dukeleto Kapace_: put task links in the pull requests next time :)
20:18 Kapace_ dukeleto: ok, will do
20:18 Kristaba whiteknight: About ParrotSharp, it was the first time I programmed in C#, so it's possible you to find strange things in my code :o
20:18 dukeleto Kapace_: task completed
20:19 Kapace_ dukeleto: awesome, lots of thanks for your useful help, now Im going to take a look at PMCProxy
20:19 dukeleto Kapace_: have fun :)
20:19 whiteknight Kristaba: I'm looking at some of your commits now. I'll create some GCI tasks for the things you've done so you can get some points for the work
20:21 Kristaba whiteknight: Great, thank you ;)
20:21 whiteknight cotto, dukeleto: 3 new tasks awaiting publication
20:22 Kristaba whiteknight: After some tests, I decided to use NUnit to write test units, it's a cool framework, but I do not know if you think it's a good idea
20:24 cotto_work Should ParrotLibrary::clone be expected to fail?
20:25 sECuRE left #parrot
20:26 whiteknight Kristaba: this all looks very good so far. Great work.
20:26 Kristaba whiteknight: Oh, and I had a strange issue when I tried to run two Parrot interpreter in the same time (because of the garbage collector don't delete instantly the instances), and the only way I find to solve it is to use a "parent" interpreter in the tests unit...
20:26 whiteknight NUnit is good. I don't know if it works on linux, I need to research that
20:27 whiteknight Kristaba: okay, thanks for that piece of information. That sounds like an issue dukeleto has had in the past
20:28 whiteknight Kristaba: all those tests and things you wrote work?
20:28 Kristaba NUnit works fine on linux (I used monodevelop + mono + NUnit under Ubuntu)
20:29 Kristaba whiteknight: Yes, from my computer I have no problem
20:29 Kristaba Have you any error?
20:30 davidfetter left #parrot
20:31 davidfetter joined #parrot
20:32 dalek parrot: aab3917 | cotto++ | t/pmc/parrotlibrary.t:
20:32 dalek parrot: [t] make ParrotLibrary test smarter about dealing with success
20:32 dalek parrot: review: https://github.com/parrot/parrot/commit/aab3917f2d
20:34 Kapace_ actually, now that I think about it it shouldn't be todo anymore right?
20:34 Kapace_ since it's fixed?
20:35 Kapace_ I'll fix that after lunch. bbl
20:37 cotto_work Kapace_: done
20:37 dalek parrot: a17cc3a | cotto++ | t/pmc/parrotlibrary.t:
20:37 dalek parrot: [t] unTODO a passing ParrotLibrary test
20:37 dalek parrot: review: https://github.com/parrot/parrot/commit/a17cc3abc9
20:40 cotto_work whiteknight: published
20:42 sECuRE joined #parrot
20:42 whiteknight cotto_work: I've jsut created two new ParrotSharp-related tests for Kristaba. Can you publish those too?
20:42 whiteknight (sorry for being such a bother!)
20:47 dukeleto whiteknight: done
20:48 Matt_ left #parrot
20:50 cotto_work whiteknight: I refuse. ;}
20:52 whiteknight Kristaba: two new tasks for you. Claim them quickly
20:56 Kristaba whiteknight: claimed http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129374166699
20:59 whiteknight accepted. Quick, submit for review!
21:00 Kristaba submited
21:02 mtk left #parrot
21:07 whiteknight Accepted. Awesome
21:07 whiteknight NEXT!
21:07 dalek parrot: 75cba75 | nwellnhof++ | compilers/imcc/Rules.in:
21:07 dalek parrot: Fix parallel build of IMCC lexer/parser
21:07 dalek parrot: review: https://github.com/parrot/parrot/commit/75cba75d86
21:08 Kristaba http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129374171224 claimed
21:08 Coke cotto_work: running tools/dev/pprof2cg.pl is unusably slow.
21:09 whiteknight Kristaba: accepted
21:09 Coke so I can't even figure out why parrot is slow, because the slow checker is slow.
21:10 Coke Any suggestions?
21:11 cotto_work Coke: what are you profiling?
21:11 Coke fib.pir
21:11 Coke examples/bench/fib.pir
21:12 cotto_work You can profile it with a lower number of iterations.
21:12 Kristaba whiteknight: Submitted, thank you a lot ;)
21:12 Coke cotto_work: the slowdowns against perl don't show up at lower number of iterations.
21:13 Coke rather: the slowdowns get even slower as the number of iterations increases.
21:13 Coke but I was afraid that was your answer. *sigh*
21:14 whiteknight Kristaba: accepted, again. Thank you
21:14 nwellnhof Coke: then it's probably GC related. i had some luck using oprofile to profile long running processes.
21:15 Coke (running fib(2) instead of fib(default=28) finished VERY quickly.
21:15 Coke what is oprofile?
21:15 whiteknight Kristaba: You have very few tasks! You need more tasks so you can get your 500$
21:15 cotto_work pprof2cg.pl has been optimized pretty well.  There' certinaly room for imrpovement, but I think the most bang per buck can be had by moving the callgrind output into the profiling runcore.
21:15 Coke blargh. and fib.pir isn't amenable to -Rprofiling, because it has only 2 subs.
21:16 nwellnhof oprofile is a system wide profiler for linux.
21:16 cotto_work Coke: yeah.  You won't get too much information from that benchmark.
21:17 cotto_work if you see the speed of pprof2cg as a blocker to making more effective use of the profiling runcore, I consider that an important data point.
21:18 whiteknight Kristaba: Yours was the 100th completed task for Perl/Parrot
21:18 whiteknight awesome
21:18 cotto_work woo
21:18 whiteknight we've got 6 more tasks in progress, and 39 available tasks in the queue
21:19 bluescreen joined #parrot
21:20 * Coke drops back to cachegrind.
21:21 nwellnhof Function calls are simply too slow in Parrot.
21:21 whiteknight no argument
21:22 Kristaba whiteknight: Awesome, it's a good thing for Parrot ;)
21:25 dukeleto Wow. 100 tasks already.
21:25 dukeleto Let's see if we can get to 150 before GCI is over :)
21:25 bluescreen left #parrot
21:26 dalek parrotsharp: 723d57c | (L�o Grange)++ | / (6 files):
21:26 dalek parrotsharp: Add an InvokeMethod function to Parrot_PMC, some related changes, and a test function
21:26 dalek parrotsharp: review: https://github.com/Whiteknight​/parrotsharp/commit/723d57c483
21:26 dalek parrotsharp: 0f08a1c | (L�o Grange)++ | src/Parrot_String.cs:
21:26 dalek parrotsharp: fix a problem with Parrot_String destructor
21:26 dalek parrotsharp: review: https://github.com/Whiteknight​/parrotsharp/commit/0f08a1c136
21:26 dalek parrotsharp: 4a2e225 | (L�o Grange)++ | src/Parrot.cs:
21:27 dalek parrotsharp: allow to instantiate several Parrot interpreter using a parent interpreter
21:27 dalek parrotsharp: review: https://github.com/Whiteknight​/parrotsharp/commit/4a2e225327
21:27 dalek parrotsharp: 866cc2b | (L�o Grange)++ | Parrot (9 files):
21:27 dalek parrotsharp: start a test project using NUnit framework
21:27 dalek parrotsharp: review: https://github.com/Whiteknight​/parrotsharp/commit/866cc2b8f8
21:27 dalek parrotsharp: cb6ce59 | (L�o Grange)++ | ParrotSharpTest/PMC_Test.cs:
21:27 dalek parrotsharp: add a test to PMC_Test
21:27 dalek parrotsharp: review: https://github.com/Whiteknight​/parrotsharp/commit/cb6ce59893
21:27 dalek parrotsharp: 39b26ba | (L�o Grange)++ | /:
21:27 dalek parrotsharp: Merge branches 'nunit_experimental' and 'HEAD' into kristaba_tests
21:27 dalek parrotsharp: review: https://github.com/Whiteknight​/parrotsharp/commit/39b26ba8af
21:27 Coke with fib=28, cachegrind is showing "fill_params" is taking 8% of program runtime.
21:27 whiteknight Kristaba: Can you create a ticket on Trac for that issue you found with parent interpreters?
21:28 whiteknight Kristaba: that's an issue we've seen before, but I don't think it's documented anywhere
21:30 whiteknight that's something I would like to see fixed ASAP
21:31 * whiteknight is leaving. later
21:31 whiteknight left #parrot
21:31 fperrad left #parrot
21:34 Coke seen chromatic?
21:34 aloha chromatic was last seen in #parrot 22 days 21 hours ago saying "multidispatch at the core makes vtables much nicer".
21:36 M_o_C joined #parrot
21:36 nwellnhof left #parrot
21:36 rurban_ joined #parrot
21:39 Matt_ joined #parrot
21:40 Matt_ can someone approve: http://www.google-melange.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129360081385#c1
21:40 Coke also interesting (but not surprising) : args.c takes up 15% of runtime. gc_ms2.c : 13%, fixed_allocator: 10%. core_ops is only 8.7
21:40 nwellnhof joined #parrot
21:40 rurban left #parrot
21:40 rurban_ is now known as rurban
21:44 plobsing Coke: that only adds up to 46%. where's the other half?
21:47 Coke plobsing: in a lot of other files.
21:48 Coke callcontext.pmc 7.3, context.c 6.7, cores.c, pmc.c, api.c, (unknown), sub.pmc, after that it's under 4% each.
21:50 nwellnhof left #parrot
21:51 Coke any kcachegrind users here?
22:01 dukeleto Coke: i pretend to be one
22:01 dukeleto Matt_: accepted
22:02 Matt_ dukeleto: https://github.com/parrot/parrot/pull/56
22:02 Matt_ submitted work here
22:10 dalek parrot: f02d66b | dukeleto++ | t/pmc/mappedbytearray.t:
22:10 dalek parrot: [t] Increase test coverage of MappedByteArray PMC to 82%, mattrajca++
22:10 dalek parrot: review: https://github.com/parrot/parrot/commit/f02d66bf95
22:12 dukeleto Matt_: task completed
22:12 Matt_ dukeleto: thanks!
22:13 dukeleto Matt_: no worries. keep on truckin' and good luck.
22:25 dalek TT #1917 created by kristaba++: Parrot_api_make_interpreter() cause a crash when another interpreter ...
22:25 dalek TT #1917: http://trac.parrot.org/parrot/ticket/1917
22:31 Coke dukeleto: I'm heading out now, but could use a pointer - is there anyway to find out what in a given function is taking more time, or do we only get function-level info?
22:42 mikehh cotto: I don't understand the change you made to t/pmc/parrotlibrary.t - it passes the tests then fails -> inconsistency detected by ld.so: dl-close.c: 736: _dl_close: Assertion `map->l_init_called' failed!
22:46 mikehh and why call sweep 1 after the tests?
22:54 lucian left #parrot
22:58 Yuki`N joined #parrot
23:00 Myhrlin left #parrot
23:01 Myhrlin joined #parrot
23:07 mikehh cotto_work: ping
23:08 cotto_work mikehh: pong
23:09 mikehh cotto_work: I am getting a failure in t/pmc/parrotlibrary.t - it passes the tests then fails -> inconsistency detected by ld.so: dl-close.c: 736: _dl_close: Assertion `map->l_init_called' failed!
23:09 mikehh cotto_work: why does it null $P0 and sweep 1 after the tests, surely that is redundant
23:09 cotto_work mikehh: I don't see that failure on my machine.  What platform are you on?
23:10 mikehh Ubuntu 10.10 i386 (g++)
23:10 cotto_work probably trying to force VTABLE_destroy to be exercised
23:10 mikehh ok, but why is that necessary
23:12 cotto_work not sure.
23:12 mikehh the end: label is also no longer necessary
23:12 Matt_ cotto_work: How exactly does the Scalar PMC work. How do I assign a value to it to perform operations on it
23:13 cotto_work mikehh: Kapace_ wrote the code.  I just committed.
23:13 cotto_work well, reviewed and committed
23:13 cotto_work Kapace_: ping
23:14 cotto_work Matt_: it's a base class.  I don't think you're supposed to instantiate/use it directly.  I might be wrong though.
23:14 cotto_work It's special.
23:15 cotto_work whiteknight and/or I would have ripped it out if other PMCs didn't depend on it.
23:18 Matt_ cotto_work: So adding tests to a class that derives from Scalar will update the code coverage in Scalar?
23:18 cotto_work Matt_: only if you're testing VTABLE functions or methods that aren't overridden.
23:20 Matt_ cotto_work: thanks! Ill take this then: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129361611720
23:21 cotto_work done
23:21 mikehh cotto_work: if I drop the last 3 lines before the .end it passes (I think they are unnecessary and cause a failure for me)
23:23 mikehh I think I will push the change, if there is another reason for the lines we can add them back
23:25 cotto_work mikehh: wfm
23:26 Matt_ left #parrot
23:28 cotto_work we can put them back if coverage mysteriously drops.
23:30 dalek parrot: aa07b32 | mikehh++ | t/pmc/parrotlibrary.t:
23:30 dalek parrot: remove redundant lines and label at end of test
23:30 dalek parrot: review: https://github.com/parrot/parrot/commit/aa07b32913
23:33 kid51 joined #parrot
23:36 nwellnhof joined #parrot
23:39 bluescreen joined #parrot
23:40 whiteknight joined #parrot
23:42 M_o_C left #parrot
23:43 whiteknight good evening, #parrot
23:43 whiteknight dukeleto: TT #1917 looks like that issue you were talking about in PL/Parrot. Fixing that is high priority for me
23:44 kid51 ~~
23:49 dalek Some 'nwellnhof' person just gave me a 41549 byte commit packet.  They need to be more careful in the future.
23:50 nwellnhof See https://github.com/parrot/parrot/commit/​606ca7a58ffb8d0af81a6e9ec887739fde1f73fa
23:51 nwellnhof FileHandle has a record_separator method now
23:52 Myhrlin left #parrot
23:52 whiteknight nwellnhof: when you going to merge that branch?
23:52 Myhrlin joined #parrot
23:52 nwellnhof whiteknight: i'd like to merge it as soon as possible
23:53 nwellnhof what i'd like to do next is to change FileHandle.read to work with character sizes, not bytes.
23:54 nwellnhof bytes don't make sense for multi-byte encodings.
23:56 plobsing encodings don't make sense for buffers
23:56 nwellnhof plobsing: why not?
23:57 nwellnhof the changes i'm talking about only affect FileHandles with a multi-byte encoding. and we also want buffering for them.
23:58 nwellnhof or we have to read methods. one that returns a ByteBuffer and one that returns a STRING.

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

Parrot | source cross referenced