Parrot 2.8.0 released | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 25 tickets; remove deprecated items (especially CodeString);
Set by moderator on 24 September 2010.
00:00 davidfetter left 00:02 tadzik joined 00:07 patspam left 00:13 patspam joined, patspam left 00:24 eternaleye_ joined, eternaleye left 00:27 ash_ joined
dalek tracwiki: v6 | cotto++ | GitHubTracPluginTests 00:32
tracwiki: be more precise
tracwiki: trac.parrot.org/parrot/wiki/GitHubT...ction=diff
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#218) fulltest) at r49301 - Ubuntu 10.10 beta amd64 (g++-4.5) 00:46
nopaste "kid51" at 192.168.1.3 pasted "t/examples/shootout.t: failure in trunk at r49277" (84 lines) at nopaste.snit.ch/23615 00:59
kid51 That FAIL was several revisions ago. Does anyone know if it has been addressed?
(aloha fails to respond to "messages erase") 01:00
chromatic Probably out of memory. 01:06
cotto It's nice to see that bacek++ is putting vtable variants to work 01:08
dalek rrot: r49303 | bacek++ | branches/generational_gc/lib/Parrot/Pmc2c/PMC/WB.pm:
Add stub for WB vtable generator.
01:10
rrot: r49304 | bacek++ | branches/generational_gc/lib/Parrot/Pmc2c (2 files):
Generate (useless for now) WB vtable methods
rrot: r49305 | bacek++ | branches/generational_gc/lib/Parrot/Pmc2c (2 files):
Generate writebarrier method stubs
rrot: r49306 | bacek++ | branches/generational_gc/lib/Parrot/Pmc2c/PMC/WB.pm:
Generate actual WB body.
rrot: r49307 | bacek++ | branches/generational_gc (3 files):
Add GC API write_barrier function
rrot: r49308 | bacek++ | branches/generational_gc/lib/Parrot/Pmc2c/PMCEmitter.pm:
More emitting of WB vtable
rrot: r49309 | bacek++ | branches/generational_gc/lib/Parrot/Pmc2c/PMC/WB.pm:
Fix generating of WB vtable.
rrot: r49310 | bacek++ | branches/generational_gc/lib/Parrot/Pmc2c/PMCEmitter.pm:
Generate wb_get_vtable function
rrot: r49311 | bacek++ | branches/generational_gc/lib/Parrot/Pmc2c/PMC/default.pm:
Hack default.pm to avoid creating of second copy of find_method
rrot: r49312 | bacek++ | branches/generational_gc/lib/Parrot/Pmc2c/PMC/default.pm:
Generate default_wb_get_vtable function.
01:15 patspam joined
cotto It's fun to watch him go when I understand the code he's working on. 01:15
01:19 plobsing left, plobsing joined
nopaste "kid51" at 192.168.1.3 pasted "shootout.t still FAIL in trunk at HEAD (though passing in strings_macro branch)" (84 lines) at nopaste.snit.ch/23616 01:25
kid51 t/shootout.t was PASS for me in trunk on the same machine currently experiencing this failure as recently as r 49250 on Sept 22. 01:27
dalek rrot: r49313 | plobsing++ | trunk (18 files):
eliminate pbc fixup table

eliminates a lot of code that doesn't help much.
kid51 So this is a new, recent failure 01:28
01:28 patspam left
kid51 So failure began sometime after 49250 and before or at 49277 01:29
dalek rrot: r49314 | plobsing++ | trunk/PBC_COMPAT:
bump PBC compat
01:44
rrot: r49315 | plobsing++ | trunk/t/tools/pbc_dump.t:
fixup table is gone. no need to test for it.
plobsing kid51: what arch is this machine? how much memory? can you run it under gdb? 01:51
kid51 $ uname -a 01:53
Linux li11-226 2.6.18.8-linode22 #1 SMP Tue Nov 10 16:12:12 UTC 2009 i686 GNU/Linux
Same Linode I've been using to test Parrot since 2006.
plobsing I wonder if there's some kind of memory quota 01:54
01:54 mikehh left
kid51 This test has been passing on this box for years. 01:55
plobsing can you run examples/shootout/regexdna.pir on its own? 01:56
dalek TT #1803 created by jkeenan++: t/shootout.t: test 16 FAIL as of r49269
TT #1803: trac.parrot.org/parrot/ticket/1803
01:57 mikehh joined
kid51 gdb --args ./parrot t/examples/shootout_16.pir seems to be just hanging 01:59
plobsing yes, it needs input. example code uses examples/shootout/regexdna.pir_input
'r <examples/shootout/regexdna.pir_input' should work
or rather "r examples/shootout/regexdna.pir <examples/shootout/regexdna.pir_inpu" 02:00
s/inpu/input/ 02:01
nopaste "kid51" at 192.168.1.3 pasted "t/examples/shootout.t: debug output for failing test 16" (24 lines) at nopaste.snit.ch/23618 02:02
02:03 perlite joined
kid51 repeated; and I'm not the one doing the killing 02:04
generational_gc branch has a lot of failures, but I presume that's because bacek is still hacking away on it
plobsing oom killer?
chromatic Most likely. 02:09
kid51 smolder on generational_gc branch: smolder.parrot.org/app/projects/rep...etails/223
bacek kid51, ignore generational_gc branch for at least few days. It's horribly broken. 02:10
kid51 bacek: Understood. I was just kicking the tires :-)
bacek kid51, :) 02:11
kid51 bacek: As I've been hinting at in various posts, first the gc_massacre branch and now trunk are slowing my Darwin/PPC to a crawl. 02:12
bacek kid51, hmmm... How much memory do you have?
kid51 While I can get trunk to build on my iBook, 'make test' will no longer complete unless I manually delete 't/compilers/opsc/*.t' from 'make test' 02:13
256M physical memory
bacek ah...
kid51 Granted, that's considered piss small these days.
But I've been able to build/test Parrot on this box for 4 years.
bacek src/gc/gc_ms2.c 02:14
line 626
I hardcoded 256 megs of memory before GC cycles.
It should depend on available physical memory.
kid51 Can you translate that for me? I'm completely at sea on these issues. 02:15
bacek Can you try to reduce it to 64M?
kid51 What do you mean" reduce it to 64M?
You mean: manually edit that line?
bacek yes
kid51 Will try
This will take 10-20 minutes to report 02:16
plobsing bacek: gc_threshold is a variable (not a constant). does this mean it is runtime-tunable somehow? 02:17
bacek plobsing, it should be.
plobsing i see
bacek download.oracle.com/javase/6/docs/t...omics.html 02:18
We need similar stuff for our GC.
Item 4 02:19
kid51 beer
dalek rrot: r49316 | bacek++ | branches/generational_gc/lib/Parrot/Vtable.pm:
Update vtable index to extract proper vtable names.
02:35
rrot: r49317 | jkeenan++ | trunk/MANIFEST:
Update MANIFEST.
02:35 janus left
kid51 bacek: The change to 64M did improve matters. 02:52
Previously, t/compilers/opsc/01-parse.t would complete, but I would get no output whatsoever for t/compilers/opsc/02-parse-all-ops.t 02:53
I would have to kill 02 to proceed to 03 ... and I had to kill some of the other tests as well.
After changing to 64, I ran prove t/compilers/opsc/*.t (without running all of 'make test').
The tests ran slowly, but they did all complete and PASS. 02:54
7 files took 349 wallclock seconds.
OTOH, on Darwin/PPC t/examples/shootout.t does no better than on Linux/i386 (which I reported on Trac) 02:55
Trying to generate a smolder for Darwin/PPC 03:00
kid51 must sleep 03:13
03:19 janus joined
kid51 1143 wallclock secs for make test on Darwin/PPC with 64M in location advised by bacek 03:20
03:20 kid51 left 03:32 eternaleye_ is now known as eternaleye
plobsing (984572438 - 983419920)/984572438 03:41
aloha 0.00117057715158181
plobsing (30061776 - 29965504)/30061776
aloha 0.00320247213604412
04:13 ash_ left
dalek rrot: r49318 | plobsing++ | trunk/src (3 files):
eliminate special case for keys withing pbc
04:16
rrot: r49319 | plobsing++ | trunk/src/packout.c:
eliminate some dead code
04:18 contingencyplan left 04:25 contingencyplan joined 04:26 theory left
dalek rrot: r49320 | plobsing++ | trunk (3 files):
eliminate unuzed PFC_* constants
04:33
05:13 contingencyplan left 05:18 bacek left 05:21 contingencyplan joined 05:28 contingencyplan left 06:42 chromatic left 06:43 AzureStone left 06:47 AzureStone joined
mikehh I am getting a failure with t/pmc/packfileconstanttable.t .. error:imcc:No such file or directory in file 't/pmc/packfileconstanttable.t' line 19 06:51
06:51 plobsing left
mikehh seems to be line 29 - .include 'packfile_constants.pasm' 06:56
r49320 removed the generation of runtime/parrot/include/packfile_constants.pasm yet the test t/pmc/packfileconstanttable.t requires the file 07:19
dukeleto tisk tisk 07:22
mikehh so do we need to restore the file generation or remove the test?
msg plobsing r49320 removed the generation of runtime/parrot/include/packfile_constants.pasm yet the test t/pmc/packfileconstanttable.t requires the file 07:24
aloha OK. I'll deliver the message.
07:48 fperrad joined 08:35 bacek joined 08:45 jan left 08:56 fperrad left
dalek rrot: r49321 | gerd++ | trunk (2 files):
add request for 2.9.0 release news
09:03
09:08 fperrad joined 09:15 bacek left 10:10 bacek joined
tadzik good morning! I have a bug for you: wklej.org/id/393177/ 10:31
10:33 plobsing joined
mikehh plobsing: ping 10:38
tadzik Filed as #1804
plobsing mikehh: pong
mikehh plobsing: did you get my message? 10:39
plobsing yes. I'm all over it.
sorear it would be nice if there was a way to configure gc-threshold for a Rakudo build, with an environment variable or something 10:40
dalek TT #1804 created by tadzik++: Parrot out of mem on building Rakudo 10:42
TT #1804: trac.parrot.org/parrot/ticket/1804
plobsing sorear: it would appear bacek makes that settable from the CLI, although that doesn't help fakecutables much 10:46
dalek rrot: r49322 | plobsing++ | trunk/t/pmc/packfileconstanttable.t:
eliminate unused and now non-existant file include
11:01
11:06 contingencyplan joined
mikehh BTW - I am getting t/pmc/eval.t - TODO passed: 12 11:08
plobsing: is TT #1142 now fixed? 11:09
plobsing not that I know of. that's probably an artifact of gc_ms2 landing 11:13
mikehh plobsing: don't think so, it didm't come up at r49301, just since your recent commits 11:17
plobsing I'm investigating at the moment. I don't think anything that happened recently should have fixed this. 11:19
hmmm... I've inadvertently fixed the test. \\o/ 11:22
unfortunately, I still think there is an error. trying to produce failure... 11:23
no matter what I try, I can't force an error in this. I guess it is fixed then. 11:26
mikehh plobsing: :-} 11:31
dalek TT #1142 closed by plobsing++: test 12 of t/pmc/eval.t fails in testr (passes in other runcores) 11:33
TT #1142: trac.parrot.org/parrot/ticket/1142
rrot: r49323 | plobsing++ | trunk/t/pmc/eval.t:
TT #1142 closed. todo unecessary.
11:35
11:37 kid51 joined
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#218) fulltest) at r49322 - Ubuntu 10.10 beta amd64 (g++-4.5) 11:44
t/pmc/eval.t - TODO passed: 12 in coretest, test/smoke, and testb, testf and testr in fulltest
fixed (remove TODO))in r49233 and TT #1142 finally closed - plobsing++
r /))/) / and r/49233/49323/ 11:48
plobsing s/r/s/ # XD 11:49
mikehh plobsing: yeah :-}
mikehh probably needs a break or something 11:50
plobsing awesome quota exceeded
kid51 build failure at r49323: 11:51
make: *** No rule to make target `src/pmc/packfilefixupentry.pmc', needed by `src/pmc/packfilefixupentry.dump'. Stop.
plobsing kid51: you'll need to reconfigure
kid51 I *did* run perl tools/dev/reconfigure.pl --step=gen-makefiles 11:52
grep -n packfilefixupentry MANIFEST
shows nothing
plobsing nuke your checkout from space. it's the only way to be sure.
kid51 mikehh: I think TT #1142 is not really closable 11:53
I suspect that suddenly passing TODO is only valid on certain platforms. 11:54
plobsing kid51: is it failing for you?
kid51 It PASSed on linux/i386, but FAILed on Darwin/PPC
plobsing urg. schrodinger's bug. is it dead yet? 11:55
kid51 I was double-checking the result on Darwin when I encountered that 'make' failure
We've encountered this situation before, as I'll describe in TT #1142 once I get result at HEAD. 11:56
12:09 whiteknight joined
kid51 Well, I stand corrected; at head this test passes in -b, -f and -r. So the ticket can stay closed. 12:10
Got a make test PASS on Darwin/PPC at r49323. 12:26
but t/examples/shootout.t continues to fail on Linux/i386
afk 12:27
12:27 kid51 left
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#236) fulltest) at r49323 - Ubuntu 10.10 beta amd64 (gcc-4.5 with --optimize) 12:35
and my previous report should have been smoke (#233) - had really lost focus there 12:36
13:07 kid51 joined
dalek rrot: r49324 | fperrad++ | trunk/src/ops (2 files):
r49300 was a mistake
13:16
13:19 Patterner left 13:29 Psyche^ joined, Psyche^ is now known as Patterner
kid51 fperrad: Can you say a bit more about what was wrong with r49300 and why it had to be reverted? 13:41
13:44 tadzik left 13:56 tadzik joined 14:29 jan joined 14:36 L0Lee joined, L0Lee left 14:52 whiteknight left 15:19 jimk joined 15:23 kid51 left
dalek kudo: 2632afb | moritz++ | src/core/EnumMap.pm:
fix EnumMap.keys and .kv to return proper Perl 6 strings
15:26
15:28 theory joined 15:30 ash_ joined, jimk is now known as kid51 15:34 PacoLinux_ joined, PacoLinux left, PacoLinux_ is now known as PacoLinux 15:53 kid51 left 16:05 patspam joined 16:11 patspam left 16:19 engine joined 16:20 engine left, engine joined 16:25 engine left
dalek a: 0c13a6d | fperrad++ | t/pmc/ (14 files):
check_logical_not needs HLL declaration
16:36
16:59 sjn left 17:00 sjn joined 17:18 aloha left 17:19 tadzik left 17:28 ruoso left 17:29 aloha joined 17:42 ruoso joined 17:47 Hunger left, davidfetter joined 17:48 Hunger joined, patspam joined 18:09 M_o_C joined 18:11 kid51 joined
dukeleto fperrad++ # HLL interop 18:21
sorear kid51++ # with your patch, Perl6::Grammar compilation takes 180mb, instead of needing to be halted after thrashing hard 18:23
kid51 sorear: Some patch of mine? I've never touched Perl6::Grammar.
Or do you mean what bacek suggested I do (256 -> 64)? 18:24
sorear kid51: the Parrot patch you posted to parrot-dev makes Rakudo builds possible again
(at least stage1; stage2 hasn't finished yet)
kid51 thank you
Am in middle of our Rakudo Star study group
sorear I suppose bacek++ too, but I wouldn't have bothered to try it without a positive report from someone 18:25
18:37 chromatic joined
dukeleto sorear: you should be able to use --gc-threshold to change that value on the commandline. the new gc may still need a fix to make it work, tho 18:42
19:16 chromatic left
nopaste "kid51" at 192.168.1.3 pasted "Rakudo rock-scissors-paper example" (42 lines) at nopaste.snit.ch/23640 19:25
kid51 (That was meant for #perl6, but there aren't any pastebots there right now.)
sorear kid51: rakudo build finished; real time 70 minutes, max vsize 420MB; down from a best of 7min/350 (~July); but still better than the overnight run from March 19:38
dukeleto: doesn't work so well for fakecutables
dukeleto sorear: i hear that. see my recent email to parrot-dev about going back to the old gc threshold by default 19:46
19:49 szabgab joined 19:52 ruoso left, kid51 left 19:54 patspam left
sorear dukeleto: I'd like to see a PARROTOPT environment variable, ideally 19:59
20:05 ruoso joined
sorear Why does pbc_to_exe default to linking against my installed Parrot 2.5? 20:12
It results in useless executables.
20:12 M_o_C left
plobsing sorear: which pbc_to_exe are you using? are you sure it's not the one that came with Parrot 2.5? 20:13
sorear plobsing: /usr/local/bin/pbc_to_exe 20:15
I very much hope Parrot is installing new versions of that
since I just got done installing Parrot 2.8
possibly related: after installing Parrot 2.8, /usr/local/lib/libparrot.so was a copy of /usr/local/lib/libparrot.so.2.5.0 20:16
plobsing I'm not sure how you've set up your filesystem, so /usr/local/bin doesn't mean much to me. fwiw, I always install under ~/bin/parrot-r#####.
sorear I just use Configure.pl's default 20:17
sudo rm -rf /usr/local/lib/libparrot* /usr/local/lib/parrot* /usr/local/src/parrot*; (reinstall Parrot); (reinstall Rakudo) did the trick
plobsing compiling and installing over existing copies of parrot can have unexpected results. there's a configure probe that checks for this situation and warns you about it. 20:25
dukeleto plobsing: why is that the case, though? 20:59
plobsing: why can't it work correctly without rm'ing a bunch of stuff? 21:00
plobsing I don't know that much. If I did, I'd most likely fix it. 21:02
mikehh had the situation a week or so ago where something had been removed from trunk but it was still finding it in some installed stuff (which was in my path of course) 21:06
if I remember I always remove the installed stuff (not that I always do) rasther than just sudo rm /usr/local/lib/libparrot.so 21:09
s/rasther/rather/
sorear Is there a good way to remove the installed stuff without using --prefix? 21:10
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#244) fulltest) at r49324 - Ubuntu 10.10 beta amd64 (g++-4.5 with --optimize) 21:15
sorear: not that I know of
I just use sudo mc and delete the relevant stuff - probably should set up a script 21:17
21:18 luben left 21:20 luben joined
dukeleto i've learned to use --prefix and add the relevant dirs to my PATH and LD_LIBRARY_PATH. then there is only 1 directory to rm 21:21
plobsing alias parrot-optconf='perl Configure.pl --maintainer --cc="ccache cc" --ccflags="-g" --optimize --prefix=" /home/pitr/parrot-$(basename $(pwd))" --no-line-directives'
dukeleto plobsing: what kind of speedup do you see in compile time with ccache? 21:23
plobsing: and why no line directives? 21:24
plobsing I run a lot of recompiles. Without ccache, gcc is the bottleneck. With ccache, pmc2c, c2str, etc are the bottleneck.
I've never actually measured the speedup. 21:25
--no-line-directives because we generate broken line directives which confuses gcc/gdb. With line directives I cannot step through vtables line-wise. 21:26
dukeleto plobsing: good to know, thanks. i've installed ccached :) 21:28
plobsing --no-line-directives works around TT #1735 21:29
dukeleto plobsing: does ccache work well with any compiler, or just gcc?
plobsing No idea. I've only used it on gcc and g++. 21:30
dukeleto plobsing: i see from their site that it only works with gcc-compatible compilers
plobsing dukeleto: I'm not sure how similar is "similar enough". clang might work. I wouldn't bet on msvc though. 21:32
dukeleto plobsing: i just saw a 25% reduction in the time to do "make clean corevm" with ccache. I am sold. 21:37
42 wallclock seconds to compile parrot with -j3 and ccache. Nice. 21:45
21:45 gottreu left
mikehh couple of failures with rakudo - spectest_smplder (#246) - t/spec/S09-typed-arrays/arrays.rakudo just hung on me (I think test 35) - had to kill it 22:18
damnit - that's #245 22:19
ansd shuld be smolder
I give up 22:20
22:20 contingencyplan left
dalek rrot: r49325 | jonathan++ | trunk/compilers/pct/src (4 files):
[pct] Add a way to tag a block with libs that it requires, which are compiled to .loadlib directives.
22:51
23:00 fperrad left 23:30 bacek left