Camelia, the Perl 6 bug

IRC log for #parrot, 2010-05-08

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:04 Coke bacek: now there's a segfault in a pge test!
00:04 Coke so, I'm doing very poorly, apparently. =-)
00:04 Coke taking a break with some facebook poker. =-)
00:04 bacek Coke, which platform?
00:05 bacek Because it's passed on Linux/i386...
00:06 mikehh bacek: I got it on amd64 - but that was about 12 hours ago - haven't checked recently
00:07 bacek mikehh, ok. I'll try on amd64
00:08 Coke bacek: darin/x86
00:08 Coke darwin
00:15 bacek Sigh... They do pass in chrooted amd64...
00:16 mikehh bacek: seems to pass for me now at r46396
00:17 eternaleye joined #parrot
00:18 * bacek thinking about installing "real" amd64...
00:22 mikehh it passes with both g++ and gcc with --optimize at r46396 - was failing on both at r46384
00:23 cotto_work I see a failure in t/compilers/pge/pge_examples.t
00:23 mikehh that was t/compilers/pct/past.t and post.t
00:26 bacek cotto_work, btw, if we can cleanup build in ops_pct we can merge it back :)
00:26 bacek cotto_work, nothing can stop us now because all old runcores are gone.
00:26 cotto_work I'm hesitant to do that without speeding it up some, even if it won't need to be run very often.
00:27 cotto_work Yup.  That was my motivation.
00:27 cotto_work do dynops work?
00:27 cotto_work or is that part of the cleanup you're talking about?
00:28 bacek and this one too
00:31 cotto_work I don't know if it's a reasonable goal but I'd like to see it in the 30s range.
00:32 cotto_work otoh, it's a good way to expose Parrot's performance to the build process.
00:32 bacek Indeed :)
00:33 cotto_work Now that I think about it, we should merge as soon as we can.  There's nothing preventing optimizations from happening after the merge.
00:34 bacek <bacek> cotto_work, btw, if we can cleanup build in ops_pct we can merge it back :)
00:34 bacek That's exactly what I'm talking about
00:34 purl talking about is "Yeah, you're alway talking and talking and talking. Shut up and code."
00:35 cotto_work bacek++
00:35 cotto_work purl++
00:35 bacek purl++
00:37 dalek parrot: r46397 | mikehh++ | trunk/src/packout.c:
00:37 dalek parrot: fix codetest failure - trailing spaces
00:37 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46397/
00:38 s1n joined #parrot
00:41 snarkyboojum joined #parrot
00:52 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33700), fulltest) at r46397 - Ubuntu 10.04 amd64 (g++)
01:00 cotto ohai
01:04 davidfetter joined #parrot
01:08 mikehh opbots names
01:21 * bacek going to reboot into Debian/amd64 installer.
01:43 dalek parrot: r46398 | cotto++ | branches/ops_pct/compilers/opsc (2 files):
01:43 dalek parrot: [opsc] simplify opsc.pir, remove an obsolete todo item
01:43 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46398/
01:49 kurahaupo joined #parrot
01:59 Psyche^ joined #parrot
02:06 jsut joined #parrot
02:16 dalek parrot: r46399 | cotto++ | branches/ops_pct (53 files):
02:16 dalek parrot: sync branch with trunk
02:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46399/
02:36 janus joined #parrot
03:31 Andy joined #parrot
03:37 khairul joined #parrot
03:59 JimmyZ joined #parrot
04:09 snarkyboojum joined #parrot
04:37 jsut joined #parrot
05:56 snarkyboojum joined #parrot
06:22 JimmyZ joined #parrot
07:03 bacek joined #parrot
07:03 bacek aloha
07:05 JimmyZ hi
07:09 dalek joined #parrot
07:17 JimmyZ roadmap?
07:17 purl roadmap is http://icanhaz.com/parrotroadmap or https://trac.parrot.org/parrot/wiki/ParrotRoadmap
07:19 JimmyZ no, roadmap is  http://icanhaz.com/parrotroadmap  or  http://trac.parrot.org/parrot/roadmap
07:19 purl okay, JimmyZ.
07:23 plobsing joined #parrot
07:30 plobsing ping bacek
07:31 bacek plobsing: pong
07:32 plobsing your consttable caching patch used an RSA. why not a hash?
07:32 plobsing s/RSA/R*A/
07:32 bacek It uses Hash of RSA
07:32 bacek Just because we don't have Tuple
07:32 * plobsing needs to read that closer
07:33 bacek There is explanation of storage in packout.c :)
07:33 bacek "foo" is hash key
07:33 fperrad joined #parrot
07:34 bacek Actually it should be Hash of List of Tuple
07:35 plobsing I have a hash compare function that considers encodings and charsets to be different. That would be simpler IMHO.
07:35 bacek Yes.
07:36 bacek But our Hashes doesn't support overriding of hashing functions (yet).
07:36 bacek And going to "low-level C hash" isn't very desirable for me :)
07:37 plobsing why don't our normal hashes consider these distinct?
07:38 bacek because they are some kind of "HLL Hashes"
07:39 bacek And from HLL perspective strings in different encodings are same
07:40 plobsing different strings being the same just seems like a recipe for fail
07:40 bacek nope
07:40 bacek String are same.
07:40 bacek Byte representations are different.
07:40 plobsing different but the same simultaneously = fail
07:41 bacek I don't disagree with it.
07:41 bacek I personally hate our string subsystem.
07:42 bacek Especially mixing of "byte array" and "string" concepts...
07:42 bacek s/ / for /
07:46 plobsing agreed
07:48 fperrad_ joined #parrot
07:48 plobsing anyways, the currently implemented cache is inefficient on misses (which likely happen often)
07:48 plobsing it seems to me that it would be much more efficient to populate the cache on string insertion
07:48 bacek It was way too much for me at 2:30 AM :)
07:51 bacek Actually, "misses" just happens twice per string. Not a big deal.
07:52 fperrad ping bacek
07:52 bacek But implementing pair of functions Parrot_str_totally_equals (or something) and STRING_totally_compare will be useful.
07:52 bacek fperrad: pong
07:53 bacek .oO( I didn't broke Lua! I swear! )
07:53 fperrad bacek new segfault on http://github.com/fperrad/digest-dynpmcs/ in Parrot_str_concat
07:53 fperrad when running parrot setup.pir
07:53 bacek Does it use StringBuilder by any chance?
07:54 plobsing bacek: strings get added for things you might not expect (eg: every PMC constant is actually a string under the covers)
07:54 fperrad bacek, I think no
07:59 bacek fperrad: fixed in r46400
08:01 fperrad bacek thanks
08:03 dalek parrot: r46400 | bacek++ | trunk/src/string/api.c:
08:03 dalek parrot: Don't try to set shared flag for string without allocated buffer. fperrad++
08:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46400/
08:20 dalek parrot: r46401 | bacek++ | trunk (2 files):
08:20 dalek parrot: Drop str->hashval in StringBuilder.set_string_native instead of get_string
08:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46401/
08:20 dalek parrot: r46402 | bacek++ | trunk/t/pmc/default.t:
08:20 dalek parrot: Rewrite test for 'new default?'
08:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46402/
08:20 dalek parrot: r46403 | bacek++ | trunk/t/pmc/default.t:
08:20 dalek parrot: Add more tests for 'new default?'
08:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46403/
08:21 bacek msg Infinoid dalek clobber commit messages somehow. Check r46402 and r46403 for example.
08:21 purl Message for infinoid stored.
08:43 nopaste "plobsing" at 192.168.1.3 pasted "packfile const table w/ custom compare and cache on insert" (177 lines) at http://nopaste.snit.ch/20499
08:49 snarkyboojum joined #parrot
08:51 dalek joined #parrot
09:00 snarkyboojum joined #parrot
09:08 dalek rakudo: c49d32b | moritz++ | t/spectest.data:
09:08 dalek rakudo: run S04-phasers/rvalues.t
09:08 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​49d32b119513fbb66d0fd8b8946458a91354994
09:10 dalek lua: d7b16d1 | fperrad++ |  (2 files):
09:10 dalek lua: fix string.format with %%
09:10 dalek lua: review: http://github.com/fperrad/lua/commit/d7​b16d1163f66e1bdb0ef0df4c114a298381a2b5
09:32 clinton joined #parrot
09:43 dalek parrot: r46404 | plobsing++ | trunk (4 files):
09:43 dalek parrot: cache pbc strings upon insertion
09:43 dalek parrot: cuts single-threaded rakudo build time in half for me
09:43 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46404/
09:49 bacek plobsing: ping.
09:55 JimmyZ joined #parrot
10:14 Whiteknight joined #parrot
10:19 joeri joined #parrot
10:52 bacek joined #parrot
11:05 dalek parrot: r46405 | fperrad++ | trunk/t/dynpmc/gziphandle.t:
11:05 dalek parrot: [GzipHandle] more tests
11:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46405/
11:05 bacek moritz: ping...
11:06 moritz bacek: pong
11:07 bacek moritz: I installed real Linux/amd64. And still can't reproduce rakudo's crashes...
11:07 moritz :(
11:08 bacek Are you still able to do it on recent trunk?
11:09 moritz on 46403 I still get craches
11:09 moritz *crashes
11:09 bacek Sigh... Which test?
11:10 moritz I don't know if any of them fails reproducible at the moment... let me check
11:13 moritz t/spec/S05-mass/properties-block.rakudo just aborted
11:13 * moritz looks if that one is a segfault
11:15 bacek "No ICU lib loaded" on my box...
11:18 moritz rx.t also aborted... might be due to memory limit
11:18 moritz runs fine without memory limit
11:18 moritz (that's a huge file)
11:19 bacek Yeah...
11:19 bacek My spectest run is up to S06-traits. Still no segfaults...
11:20 bacek moritz: can you check value in /proc/sys/kernel/randomize_va_space on your box?
11:21 moritz 2
11:21 bacek can you set it to 0?
11:21 moritz hm, don't see any segfaults either...
11:21 moritz not yet finished, but already at S32-trig
11:22 moritz typically they would appear in S03, S06 and S05
11:22 bacek We fixed few small bugs with strings recently.
11:23 dalek rakudo: ab01a92 | moritz++ | t/spectest.data:
11:23 dalek rakudo: correct a test name, moritz--
11:23 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​b01a92d9050f5e1cb691a484dcc6c85f68247c9
11:23 moritz I could have sworn I've seen some today already
11:24 bacek t/spec/S14-roles/anonymous................................ok 1/13get_string() not implemented in class 'Timer'
11:24 bacek Is it "expected"?
11:25 moritz never noticed it before
11:25 bacek oookey.
11:25 nopaste "moritz" at 192.168.1.3 pasted "test summary for bacek++" (20 lines) at http://nopaste.snit.ch/20500
11:26 moritz two aborted, otherwise onlynon-zero exit status
11:27 moritz I'm doing another run with ulimit now, hoping that the two S05 aborts go away them
11:27 bacek They are failing on my box with "No ICU loaded".
11:27 moritz well, I have ICU
11:28 bacek I will too. Soon :)
11:28 bacek But it makes sense.
11:28 bacek Recent str_byte_length vs str_length handling.
11:28 bacek ... changes.
11:29 moritz right
11:41 joeri joined #parrot
11:55 bacek moritz: interesting. This test still failing with "ICU not loaded". However I've installed ICU...
11:56 moritz and reconfigured parrot?
11:56 darbelo ... and reinstalled parrot too.
11:57 darbelo I've wasted hours by forgetting to reinstall after a rebuild.
11:58 bacek Of course!
11:58 bacek But let me check...
11:59 bacek parrot_config has_icu reports 1
12:00 bacek Installed parrot_config
12:00 purl i think Installed parrot_config is linked with build tree libparrot, not with installed libparrot
12:00 bacek purl: forget installed parrot_config
12:00 purl bacek: I forgot installed parrot_config
12:00 bacek you stupid girl...
12:00 moritz and of course you also reconfigured rakudo after that
12:00 bacek hmmm...
12:00 bacek Probably not, just rebuild.
12:01 bacek It will take some time to rebuild rakudo...
12:02 darbelo There's your incentive to make it faster :)
12:03 * bacek burn darbelo with phasers
12:10 barney joined #parrot
12:19 bacek Bah... 3 runs of S05-mass - passed.
12:23 * moritz just got an abort in t/spec/S12-methods/class-and-instance.t
12:23 moritz not reproducible
12:23 moritz :(
12:28 bacek I having some kind of deja-vu. I spend almost 2 weeks before 1.6 release fighting with GC...
12:31 jsut joined #parrot
12:32 * darbelo starts beating the strings subsystem with a sledgehammer.
12:32 dalek TT #1614 created by jkeenan++: t/pmc/packfile.t:  implement todo-ed item: pack produced same result twice
12:32 dalek TT #1614: http://trac.parrot.org/parrot/ticket/1614
12:32 dalek TT #1615 created by jkeenan++: t/pmc/class.t: implement todo-ed item: classes and methods
12:32 dalek TT #1615: http://trac.parrot.org/parrot/ticket/1615
12:42 dalek parrot: r46406 | jkeenan++ | trunk/t/pmc/packfile.t:
12:42 dalek parrot: Include reference to TT in todo-ed item.
12:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46406/
12:42 dalek parrot: r46407 | darbelo++ | trunk/.gitignore:
12:42 dalek parrot: Update .gitignore.
12:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46407/
12:42 kid51 joined #parrot
12:42 dalek parrot: r46408 | jkeenan++ | trunk/t/pmc/class.t:
12:42 dalek parrot: Include reference to TT in todo-ed item.
12:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46408/
12:46 JimmyZ joined #parrot
12:46 khairul joined #parrot
12:47 * darbelo stares in awe at lines 1070 to 1073 of src/string/api.c
12:48 dalek TT #1616 created by jkeenan++: t/pmc/bigint.t: implement 2 todo-ed items: Minint conversions
12:48 dalek TT #1616: http://trac.parrot.org/parrot/ticket/1616
12:49 iblechbot joined #parrot
12:49 darbelo bacek: I'm seeing segfaults in mark_object_cache() on OpenBSD amd64, is this the code you are fighting now?
12:50 bacek darbelo: I'm just trying to reproduce any segfault...
12:51 nopaste "darbelo" at 192.168.1.3 pasted "Here's mine." (73 lines) at http://nopaste.snit.ch/20501
12:51 darbelo e->pmc is pointing into lala-land
12:53 bacek Which "type" and "entry" do you have?
12:53 darbelo Where do I find those?
12:54 bacek gdb
12:54 bacek > p type
12:54 bacek >p entry
12:54 dalek rakudo: 7810dbe | (Solomon Foster)++ | build/PARROT_REVISION:
12:54 dalek rakudo: Bump parrot version to get string fixes.
12:54 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​810dbe417c0f068e4d4a00b2361617f4b18ca23
12:54 dalek rakudo: f8ca417 | (Solomon Foster)++ | src/core/Real.pm:
12:54 dalek rakudo: Add Real and Num versions of the numeric comparison operators.
12:54 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​8ca417cfe64fc04e625fbf394190c9b7e7a70f5
12:54 darbelo (gdb) p type
12:54 darbelo $5 = 35
12:54 darbelo (gdb) p entry
12:54 darbelo $6 = 478
12:54 bacek 478???
12:55 bacek 35 is Namespace. But 478 different namespaces looks... weird
12:56 darbelo p *e
12:56 darbelo $10 = {strstart = 0x27746f7272617027, pmc = 0x617a69736552273b, next = 0x7241434d50656c62}
12:57 bacek erm...
12:57 bacek I couldn't read 64-bits pointers.
12:58 bacek Is "0x617a69736552273b" looks like valid pointer?
12:58 darbelo Pointing into outer space.
12:58 darbelo Two meters left of the oort cloud.
12:58 dalek parrot: r46409 | jkeenan++ | trunk/t/pmc (2 files):
12:58 dalek parrot: Correct syntax of PIR todo() function.,
12:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46409/
12:59 bacek Looks about all right. At least it's in same parsec!
13:00 darbelo It's trying to mark e->pmc when it traces the root set, which ends up rather badly, given that it points out fo the solar system.
13:05 dalek TT #1617 created by jkeenan++: t/library/p6object.t: implement todo-ed item:  ResizablePMCArray_obj
13:05 dalek TT #1617: http://trac.parrot.org/parrot/ticket/1617
13:06 dalek TT #1618 created by jkeenan++: t/oo/metamodel.t:  implement todo-ed item:  tail attribute type
13:06 dalek TT #1618: http://trac.parrot.org/parrot/ticket/1618
13:06 bacek darbelo: are you on some kind of BSD?
13:16 dalek parrot: r46410 | jkeenan++ | trunk/t/library/p6object.t:
13:16 dalek parrot: Include reference to TT in todo-ed item.
13:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46410/
13:16 dalek parrot: r46411 | jkeenan++ | trunk/t/oo/metamodel.t:
13:16 dalek parrot: Include reference to TT in todo-ed item.
13:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46411/
13:16 dalek parrot: r46412 | jkeenan++ | trunk/t/oo/metamodel.t:
13:16 dalek parrot: Include reference to TT in todo-ed item.
13:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46412/
13:16 darbelo bacek: OpenBSD
13:22 dalek TT #1619 created by jkeenan++: t/oo/metamodel.t:  implement todo-ed item: new opcode makes working ...
13:22 dalek TT #1619: http://trac.parrot.org/parrot/ticket/1619
14:20 cognominal_ joined #parrot
14:28 JimmyZ joined #parrot
14:39 JimmyZ joined #parrot
14:47 dalek rakudo: 91501c7 | (Martin Berends)++ | Test.pm:
14:47 dalek rakudo: [Test.pm] emit per-test timestamps only if PERL6_TEST_TIMES is set
14:47 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​1501c7c52e328e57b321f42a990222df4fe274d
14:47 dalek rakudo: e30bcb0 | (Martin Berends)++ | tools/test_summary.pl:
14:47 dalek rakudo: [tools/test_summary.pl] record test timings in JSON format in docs/test_summary.times
14:47 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​30bcb064feac7274bc1cc84eedb38b9331c11e5
15:10 plobsing joined #parrot
15:10 dalek parrot: r46413 | fperrad++ | trunk/tools/dev/fetch_languages.pl:
15:10 dalek parrot: [languages] pynie has moved on bitbucket
15:10 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46413/
15:22 dalek rakudo: 30ac13b | jonathan++ | src/Perl6/Compiler/Role.pm:
15:22 dalek rakudo: Partially fix the role + lexical setting issue (but not completely :-/).
15:22 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​0ac13bd83551e067e4ab9d749a6d44c865cf76e
15:22 dalek rakudo: b52bbee | jonathan++ | src/glue/dispatch.pir:
15:22 dalek rakudo: Make $obj.RoleName::method() calls work.
15:22 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​52bbeee4291e43da8e3bc81aec79dcdb01e6554
15:58 jsut_ joined #parrot
16:05 Mokurai joined #parrot
16:34 theory joined #parrot
16:41 Mokurai left #parrot
17:37 fedov joined #parrot
17:49 fedov left #parrot
17:55 tcurtis joined #parrot
17:57 moritz allison: the link on http://search.cpan.org/~arandal/Pod-​PseudoPod-0.16/lib/Pod/PseudoPod.pm to Pod::PseudoPod::Tutorial is a 404
18:26 ash_ joined #parrot
19:29 Mokurai joined #parrot
20:01 rurban joined #parrot
20:27 dalek tracwiki: v127 | fperrad++ | Languages
20:27 dalek tracwiki: pynie has moved on bitbucket
20:27 dalek tracwiki: http://trac.parrot.org/parrot/wiki/L​anguages?version=127&amp;action=diff
20:32 sorear Are there any rules of thumb for when I can get away with not realcleaning before svn up?
20:43 Coke joined #parrot
20:55 shockwave joined #parrot
20:56 shockwave purl paste
20:56 purl somebody said paste was (see: nopaste) or like glue but a little safer to sniff. or http://nopaste.snit.ch:8001/ or http://scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste or App::Nopaste or toxic for bots and humans
20:59 nopaste "shockwave" at 192.168.1.3 pasted "Bug?" (21 lines) at http://nopaste.snit.ch/20503
20:59 shockwave I'm encountering something that could be qualified as a bug.
20:59 lucian joined #parrot
21:00 shockwave I'm working on Windows.
21:00 shockwave My Compiler outputs PIR to files which include new-line and carriage return combo that's usual of Windows text files: \n\r
21:01 shockwave The code I pasted above shows how the file looks in VIM.
21:01 moritz shockwave: they are not a problem; the newlines between the .param directives are
21:01 shockwave The ^M at the end of the lines are the Carriage returns VIM displays
21:01 shockwave moritz, yep, I realize that.
21:01 shockwave But that is a problem.
21:01 shockwave That should be ignored.
21:02 shockwave It should not cause an error.
21:02 moritz it's the same with unix line endings too
21:02 moritz just don't emit those newlines
21:03 shockwave moritz, That cannot not be qualified as a bug.
21:03 shockwave That behavior doesn't happen in other places, afaik.
21:03 * moritz hasn't read the PIR spec
21:04 moritz hm, not documented in pdd19, it seems
21:04 sorear sounds like an imcc bug
21:04 shockwave I'm going to file a bug report.
21:05 moritz feel free
21:05 moritz I found it neither in pdd19 nor in the PIR book
21:06 sorear Coke: How goes codestring?
21:09 Coke have not touched since last night. hope to find some time to fight with it tonight
21:09 * Coke does a quick sync with trunk.
21:09 shockwave Issue filed as: http://trac.parrot.org/parrot/ticket/1620
21:09 NotFound_gf shockwave: I think there is already a ticket for that.
21:10 Coke there is.
21:10 shockwave NotFound, I'll look for it. If there is one, I'll kill the one I entered.
21:10 Coke 1035
21:11 Coke that predats the move to trac.
21:11 Coke (there's even a test for it alrady)
21:11 Coke iirc
21:12 shockwave Coke: Thanks. That one only mentions comments. I'll add a note about the blank lines, and also remove the ticket I created.
21:15 shockwave I can't close/delete the issue I created. Can someone close it, and add a note to it mentioning 1035? Thanks
21:19 dalek TT #1620 created by shockwave++: Blank lines between or before param declarations cause errors.
21:19 dalek TT #1620: http://trac.parrot.org/parrot/ticket/1620
21:19 shockwave Also, can someone up the priority on 1035? I can work around it for now, but ultimately I'll need to be able to output new lines/comments before/between params.
21:20 plobsing shockwave: I'm working on it as we speak. With any luck I'll have it done by end of day.
21:20 Coke shockwave: sure, I got it.
21:20 Coke plobsing: on fixing IMCC? whoa, good luck. =-)
21:20 moritz shockwave: I've closed tt#1620
21:20 plobsing Coke: it looks like a small bison fix
21:23 Coke plobsing++
21:23 plobsing check out r46414. does that address all the issues?
21:25 plobsing where's a good place to throw the tests for these things?
21:26 shockwave joined #parrot
21:26 dalek parrot: r46414 | plobsing++ | trunk/compilers/imcc (3 files):
21:26 dalek parrot: allow empty lines between .param statements in PIR
21:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46414/
21:27 Coke plobsing: there are already tests . ack t for 1035
21:27 shockwave Sorry, I'm at my Girlfriends house. She tripped over my laptop's cable and disconnected me in the middle typing.
21:29 shockwave Luckily MiRC keeps logs:
21:29 shockwave [17:19] <@moritz> shockwave: I've closed tt#1620
21:29 shockwave Thanks, moritz
21:29 shockwave <@plobsing> shockwave: I'm working on it as we speak. With any luck I'll have it done by end of day.
21:29 dalek rakudo: 7247277 | moritz++ | Configure.pl:
21:29 dalek rakudo: [Configure] experimental timing option for Makefile
21:29 dalek rakudo: Inspired by sorear++
21:29 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​24727756b4f1f751f39961055b4adc3731430aa
21:29 shockwave plobsing, u da man
21:30 shockwave Also, thanks Coke.
21:30 sorear I live in the past.  Where I live, networks don't autoconfigure; your cable falling out just means a few lost packets, TCP connections survive
21:32 shockwave sorear, she tripped over the power cable :S. (Actually, she disconnected it on purpose to vacum. For some reason, she must vacuum while I'm there). My laptops battery gave our a few days ago...bam lost work, etc.
21:32 plobsing afk # shopping
21:33 Coke whoops. I misread sh* as so* earlier. shockwave, do you need this for a language?
21:33 shockwave Coke, yep.
21:33 Coke er, plobsing says he fixed it. checking tests...
21:34 shockwave Dang. He's fast.
21:34 Coke ... where the hell was he 5 years ago? =-)
21:34 shockwave lol
21:34 Coke msg plobsing hey, we have more imcc bugs for you... get back here. =-)
21:34 purl Message for plobsing stored.
21:35 shockwave I wish IMCC wouldn't have been written in Bison. I've come to dislike it.
21:35 shockwave I now use Lemon exclusively.
21:35 dalek TT #1620 closed by moritz++: Blank lines between or before param declarations cause errors.
21:35 dalek TT #1620: http://trac.parrot.org/parrot/ticket/1620
21:35 dalek TT #1620 reopened by coke++: Blank lines between or before param declarations cause errors.
21:35 dalek TT #1620: http://trac.parrot.org/parrot/ticket/1620
21:35 dalek TT #1620 closed by coke++: Blank lines between or before param declarations cause errors.
21:35 dalek TT #1620: http://trac.parrot.org/parrot/ticket/1620
21:35 dalek TT #1620 reopened by coke++: Blank lines between or before param declarations cause errors.
21:35 dalek TT #1620: http://trac.parrot.org/parrot/ticket/1620
21:35 dalek TT #1620 closed by coke++: Blank lines between or before param declarations cause errors.
21:35 dalek TT #1620: http://trac.parrot.org/parrot/ticket/1620
21:35 dalek TT #1035 closed by plobsing++: PIR should allow comments between .param lines
21:36 dalek TT #1035: http://trac.parrot.org/parrot/ticket/1035
21:36 Coke yah, sorry about that. =-)
21:36 shockwave Coke, did you write it?
21:36 Coke I mean the tickets.
21:36 shockwave ah
21:37 Coke no, imcc was originally written by... melvin smith? it was probably about 7 or 8 years ago
21:37 sorear is imcc actually parrot's most hated subsystem?
21:37 Coke yah, 2002
21:37 Coke it's on the list, anyway.
21:37 moritz IMCC and GC?
21:38 moritz cloesly followed by PCC?
21:38 Coke <shrug> hate what you like, patch it all. =-)
21:38 shockwave I used to get so confused by all those PCC, IMCC, PAST, PASM, PIR, PCT, etc.
21:38 shockwave I just ignore everything now, except PIR :)
21:40 bacek Good morning, humans.
21:42 bacek moritz: PCC is in much better shape now. Just bloody slow...
21:43 dalek parrot: r46415 | plobsing++ | trunk/t/compilers/imcc/syn/regressions.t:
21:43 dalek parrot: enable todoed TT1035 tests
21:43 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46415/
21:43 dalek parrot: r46416 | coke++ | branches/codestring (31 files):
21:43 dalek parrot: merge latest from trunk
21:43 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46416/
21:43 ash_ pcc reminds me of ppc
21:44 shockwave ash_, I used to always confuse it for it.
21:45 ash_ "oh ya my pearbook runs on a power core ... capacitor?"
21:46 arnsholt PCC is calling conventions, right?
21:46 shockwave arnsholt, yep.
21:46 moritz right
21:51 Coke PCC?
21:51 purl Welcome to Perl Community College, where we, for free, and at your convenience, teach you all of an intro-CS curriculum, such as you should have learned in college or by simply reading on your own.  Please also visit the Perl Crisis Clinic, where we do all your job for you. or Parrot Calling Convention or Proof Carrying Code or http://en.wikipedia.org/wiki/Portable_C_Compiler
21:52 shockwave plobsing, I don't think you caused the error, but I get a build error when trying to compile.
21:52 arnsholt Occasionally, I <3 purl ^^
21:52 shockwave I built in in DOS command prompt. DOS sucks, it doesn't let me copy and paste. Arg!
21:52 shockwave I'll type out the message:
21:53 Coke I'm getting test failures in trunk.'
21:53 Coke doing a realclen.
21:54 ash_ shockwave: The command prompt in Windows XP or higher?
21:54 shockwave ash_, yep.
21:54 ash_ you can copy and paste, but not with hot key
21:54 ash_ s
21:55 shockwave I can't select with the mouse.
21:55 shockwave I'm switching to PowerShell.
21:55 shockwave I shoul be able to do it there.
21:55 ash_ you have to click on the top left icon of the window, drop down to Mark, then select it and hit enter or go back to the menu and select Copy
21:55 ash_ there is also a Paste in that menu
21:55 ash_ you just have to use your mouse
21:56 Coke command -> alt-space, properties, options, "quickedit mode"
21:57 shockwave ash_, I see a select all now. Thanks for the heads up. It's building using Powershell now, though.
21:57 shockwave Coke, nice tip.
21:58 shockwave purl paste
21:58 purl somebody said paste was (see: nopaste) or like glue but a little safer to sniff. or http://nopaste.snit.ch:8001/ or http://scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste or App::Nopaste or toxic for bots and humans
21:58 nopaste "shockwave" at 192.168.1.3 pasted "error message." (20 lines) at http://nopaste.snit.ch/20505
22:00 shockwave I'm building using the Strawberry Perl, as mentioned in: README_win32.pod
22:00 shockwave Essentially:
22:01 shockwave 1) perl Configure.pl
22:01 shockwave 2) mingw32-make
22:01 shockwave ....
22:01 shockwave error
22:04 shockwave How do lines like this get added to files?: # $Id: fetch_languages.pl 46226 2010-05-03 04:54:26Z plobsing $
22:04 shockwave What tool does that?
22:06 sorear svn
22:06 sorear \$Id:.*\$ is magical to subversion and gets altered on checkout
22:06 sorear similarly for a few other names
22:07 shockwave sorear, I see. Thanks.
22:09 shockwave I wonder if these build errors are Win32 specific (or specific to my machine). I tried building parrot a few versions ago and got a similar error.
22:15 rurban joined #parrot
22:21 bacek Yay.
22:21 bacek I reproduced segfault.
22:21 sorear \o/
22:21 bacek Not in rakudo, but in codestring branch pct test.
22:21 bacek But in same mark_object_cache
22:22 sorear any fixed segfault is a good thing.
22:22 * sorear needs to try to debug the rakudo codestring failure later today
22:22 jan joined #parrot
22:32 bacek moritz: can you try r46420? I want to believe that I fixed main reason for rakudo's segfaults...
22:32 dalek parrot: r46417 | bacek++ | branches/codestring/src/oo.c:
22:32 dalek parrot: Use zeroing allocating of method cache to avoid conflict with GC
22:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46417/
22:32 dalek parrot: r46418 | bacek++ | trunk/src/string/charset (3 files):
22:32 dalek parrot: Use str_lenght instead of str_byte_length in charset validation functions
22:33 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46418/
22:33 dalek parrot: r46419 | bacek++ | trunk/src/string/api.c:
22:33 dalek parrot: Use str_length instead of str_byte_length in various string api functions.
22:33 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46419/
22:33 dalek parrot: r46420 | bacek++ | trunk/src/oo.c:
22:33 dalek parrot: Use zeroing allocating of method cache to avoid conflict with GC
22:33 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46420/
22:34 bacek msg Coke Are anything blocking merging codestring? (Assuming r46417 should fix segfault)
22:34 purl Message for coke stored.
22:34 ash_ whats the max length of a string in parrot?
22:35 bacek MAX_INT-1?
22:40 ash_ MAX_INT? or MAX_UINT?
22:42 lucian joined #parrot
22:43 bacek I think MAX_INT is safer assumption
22:43 TiMBuS joined #parrot
22:44 ash_ i only ask because (for instance) Parrot_str_length returns an unsigned value, and signed vs unsigned makes a difference in that
22:45 ash_ s/unsigned value/signed value (INTVAL not UINTVAL)/
22:45 bacek Because of INTVAL registers...
22:45 ash_ ah
22:55 sorear for address space fragmentation reasons you should avoid working with strings larger than MAX_INT**0.5
22:55 sorear the parrot string engine is not yet smart enough to do discontiguous storage itself
22:56 ash_ I guess the "right way" to do things then is to use a file and IO from there?
22:56 bacek "discontiguous storage"?
22:56 sorear bacek: allocate strings in 4k or 64k blocks when they get very large
22:57 sorear rather than a single segment
22:58 bacek it's way too far away from optimisation perspective...
22:58 dalek TT #1621 created by shockwave++: Build errors on Windows
22:58 dalek TT #1621: http://trac.parrot.org/parrot/ticket/1621
22:58 sorear you mean not on the roadmap?
22:58 sorear I agree
22:58 bacek We don't have basic algorithmic optimisations for PCT (yet)
22:58 sorear optimizing multi-megabyte strings is not and should not be a pre-R* priority
22:59 sorear exactly
22:59 bacek agreed
22:59 * sorear dreams of PCT where CodeString.emit is actually write()
22:59 sorear and the only O(n) thing is slurping the source code
23:00 bacek Why .write?
23:00 sorear write(2)
23:00 purl well, write(2) is guaranteed atomic only for BUFSIZ, riht?
23:00 sorear or maybe fprintf(3)
23:00 bacek Why?
23:00 sorear because holding all that PIR in memory is wasteful
23:01 sorear parse->past, past->post, post->pir, and pir->file (or ->code segment) should, eventually, be interleaved
23:01 sorear sending it to RAM buffers is just emptying the L2 cache for no reason
23:01 bacek PCT holds all CalllContext during parsing...
23:02 bacek And last two steps should be replaced with single one: post->pbc
23:05 dalek parrot: r46421 | bacek++ | branches/codestring/src/gc/gc_ms.c:
23:05 dalek parrot: Fix DRY violation in gc_ms_allocate_pmc_attributes.
23:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46421/
23:05 dalek parrot: r46422 | bacek++ | branches/codestring/src/gc/gc_ms.c:
23:05 dalek parrot: Fill allocated memory with some garbage to simplify tracing of memory errors
23:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46422/
23:05 ash_ a post->pbc step would be awesome
23:05 sorear You see very well where I am going with this.
23:16 sorear I wonder how much less memory PCT would use if PCT::Node used actual Object attributes for node attributes
23:16 sorear Instead of keeping them all in a $!attributes hash
23:16 sorear (each PCT::Node subclass has a fixed set of valid attribute names...)
23:19 ash_ how is the overhead of multiple objects compared to one hash?
23:21 sorear ash_: The multiple objects exist regardless.  It's an object-valued hash.
23:21 sorear Actually, PCT::Node inherits from Capture
23:21 sorear putting PMCProxy into the equation can't help.
23:22 sorear Actually I can test this myself very easily.
23:22 shockwave joined #parrot
23:24 LoganLK joined #parrot
23:30 Coke bacek: codestring now passing all parrot tests...
23:30 Coke bacek++
23:34 bacek Coke: merge it! :)
23:38 Coke can someone tell me that it makes building rakudo a little faster or memory cheaper with it?
23:40 sorear is it merged?
23:40 Coke no, it's in branches/codestring atm.
23:46 nopaste "bacek" at 192.168.1.3 pasted "Patch for string compacting." (32 lines) at http://nopaste.snit.ch/20506
23:46 bacek If someone can confirm that we have very-very big memory regression in rakudo I'll commit this patch.
23:48 ash_ how would I need to confirm that?
23:50 bacek Just try to build rakudo
23:51 Coke bacek: I am pretty sure I still have it in the CS branch.
23:51 Coke trying your patch.
23:54 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33713), fulltest) at r46422 - Ubuntu 10.04 amd64 (gcc with --optimize)
23:55 Coke the patch is missing a */
23:56 bacek Sorry... I just copied it from terminal
23:58 Coke grammar.pm up to 8M RES ...
23:58 Coke er, 8G
23:59 bacek yak... With patch?
23:59 Coke ... but I have 3G and I didn't ulimit.
23:59 Coke bacek: yes.
23:59 Coke it actually /finished/ grammar.pm this time, so it's an improvement.

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

Parrot | source cross referenced