www.parrot.org | Prepare for 1.6.0: Improve test coverage for NameSpace and Continuation PMCs / Stability! / Port tests to PIR / Performance! / No more big branch merging until after 1.6.0
Set by moderator on 8 September 2009.
Coke jdv79: whee! 00:00
00:02 bacek_ joined 00:07 japhb joined
nopaste "darbelo" at 200.49.154.172 pasted "[PATCH] more strstart removals." (40 lines) at nopaste.snit.ch/17935 00:12
darbelo Can someone with gdbm please test nopaste.snit.ch/17935 ?
GeJ_ darbelo: patch applied. building 00:15
00:16 tetragon joined
GeJ darbelo: build failed. missing ';' after 'return ret'. 00:20
rebuilding
darbelo That's what I get for messing with code from other platforms, I guess. 00:21
GeJ darbelo: provided I add the aforementioned semicolon, the patch applies fine, build ok and gmake test doesn't complain. 00:26
Paltform: FreeBSD amd64, latest trunk + your patch.
... and gdbm, of course.
darbelo Good enough for me, then.
GeJ++
dalek rrot: r41222 | darbelo++ | trunk/src (2 files):
Remove a few more strstart uses. GeJ++ for testing the gdbm side of this.
00:31
Coke chromatic: I wonder if I can remove that trans_encoding in [puts] 00:42
I imagine translating every string into utf8 on output is not cheap.
chromatic utf8 iteration is slow. 00:45
Coke I'm sure it was necessary at some point. 'make test' doesn't need it... 00:47
hurm. having trouble displaying unicode on feather. 00:54
darbelo okay, I'm going to get some food. msg me if I broke another build :) 00:56
Coke there we go. (os x terminal, screen and more to blame.) 01:00
01:00 Zak joined
chromatic These Rakudo assertion failures are deep in the guts of PCC. 01:02
We need that branch to land.
Coke some simple stuff was updating the test files to deal with changed error verbage.
NotFound I'll take some look at pcc related failures, and gave up.
chromatic Yeah, the code is too messy, there are too many different ways to do things, and it's not clear what happens where. 01:04
I know *what* the problem is: accessing the wrong constant table.
I don't know *where* that constant table should get set, nor which one is the right one.
01:12 quek joined
Whiteknight chromatic: I feel your pain. I'ved looked at very similar problems in the past with no idea what to do about them 01:13
dalek rtcl: r728 | coke++ | trunk/runtime/builtin/subst.pir:
Remove useless stringification
Whiteknight when I see a stacktrace starting in one of the argument processing PCC functions, I shudder
dalek rtcl: r729 | coke++ | trunk/runtime/builtin/puts.pir:
Remove unnecessary trans_encoding.
chromatic Here's a weird fact: the backtrace starts *after* the program should have ended. 01:14
Why does IMCC need to run any fixup code when the program has ended?
Whiteknight because IMCC is the devil
chromatic Why does anything even call into IMCC at that point?
Whiteknight what's the stack trace?
purl i think the stack trace is probably most helpful
Whiteknight (or better yet, what's the incantation for me to duplicate it here?) 01:15
chromatic gdb ./perl6 t/spec/S14-roles/basic.rakudo
kid51 msg darbelo This Smolder report was run at r41221 with your patch 17935 applied (corrected missing semicolon)
purl Message for darbelo stored.
chromatic You need an installed Parrot, a built Rakudo, and sufficient spectest runnage for Rakudo to have that fudged file.
kid51 msg darbelo smolder.plusthree.com/app/public_pr...ails/27185 01:16
purl Message for darbelo stored.
Coke 25,068,395 src/mathops.pir:tcl;&puts []
&puts isn't defined in that file.
nopaste "chromatic" at 72.87.39.97 pasted "Rakudo bt for Whiteknight" (82 lines) at nopaste.snit.ch/17936 01:17
Whiteknight yeah, I'm looking at it now
what makes you think we are calling back into IMCC after the program should end? 01:18
or, for that matter, when do you think it "should" end?
chromatic The last line of the Rakudo program is: say "# FUDGED!";
Whiteknight that's the last line of the explict Rakudo program, yes. I have no idea what kind of cleanup work they do. 01:19
chromatic Fair enough.
Whiteknight I only say that because we're still in the runloop 01:20
and calling invokecc on the PIR compreg from there
NotFound Whiteknight: I catched in backtrace that something being destroyed as a packfile segment has as destroy function a vtable in default. With fails like that, anything can be called.
Whiteknight NotFound: I'm not sure I understand what you mean 01:21
that code string in frame 12, is that the entire text of the test file? 01:22
NotFound Whiteknight: I'm no sure to have understood what happened or to be able to explain. The only clean point is that a function completely unrelated with interpreter destruction got called.
Whiteknight this is looking to me a lot like an inferior runloop bug
where the inner runloop runs the program to completion, and the outer runloop picks up with a borked dynamic state 01:23
NotFound Maybe, but there was no pir involved in the chain of calls.
chromatic Wow, the default PMC's destroy VTABLE gets called a lot. 01:24
That shouldn't be.
It's all Exception and ExceptionHandler.
Whiteknight so somebody is being sloppy about setting active_destroy when not needed? 01:25
chromatic Yep. Removing one...
NotFound We can temporarily delete default destroy to help catch that problems. 01:26
chromatic or stick PARROT_ASSERT(0) in there.
NotFound The generated default throws, no big difference. 01:27
Whiteknight well, this segfault is lousy, but I'm getting more and more convinced it's the inferior runloop problem 01:29
although I also suspect that a fix for that might be more then we can manage before tuesday
chromatic Probably true, but I have an idea. 01:30
Coke chromatic: on the annotated output, can "PROGRAM_TOTALS" be compared across runs? 01:31
chromatic Coke, I usually compare the summary: line. 01:32
Hm, something set active_destroy on an NCI.
NotFound chromatic: all functions that reuse pmc headers are suspicious. That was the main reason to introduce Default.destroy 01:34
Whiteknight to prove it, we could modify the end opcode to write the current runloop_id to stderr
so when the program exits we can see that it's not the main runloop 01:35
chromatic Good idea. 01:37
purl chromatic: Good Idea: Kissing a loved one. Bad Idea: Kissing a total stranger.
chromatic But I love everyone, purl.
purl chromatic: what?
chromatic Yeah, you caught me.
NotFound Whiteknight: yes, but note that if the problem is that, the program doesn't exit at that point. 01:38
Coke ok. so by removing the transcoding:
14:summary: 56827595460
Whiteknight NotFound: exactly!
purl exactly! is it not awesome?
Coke 14:summary: 39122562931
so, that seems.. significant.
Whiteknight Coke: what are those numbers? 01:39
chromatic 31% improvement, Coke.
Coke summary lines from profiling runs of tcl's example/power.tcl before and after r729 01:40
cotto++
chromatic++
chromatic The current_runloop_id in the invokecc_p opcode at the crash is... 28543. 01:42
Whiteknight ...awesome
chromatic I don't know *exactly* what that means, but that is a large number.
Coke That sounds like the recursive exception crap. 01:43
chromatic Yep.
Coke No really, I got this exception. Thanks.
No really.
Hey.
Come back here.
chromatic You scared away Richard. Nice work.
Coke chromatic: hurm. by removing the transcoding, I think that avoids creating a new string on every puts. 01:44
chromatic Indeed.
Coke I am almost tempted to dig through the parrot repo and see why I added that.
chromatic Have I mentioned this month that transcoding to and from all sorts of encodings willy-nilly is crack? 01:45
Coke likely.
Now if I could just get you to do a code review of partcl...
chromatic It's crack. CRACK. crackalackalack.
Coke (though my biggest cost is no doubt algorithmic at this point.)
chromatic You keep running that parser, you keep your computer room warm. 01:46
NotFound If they were just encodings will be not such a big problem, the duality charset/encoding is what make things worse.
Coke aside from bisect, is there an easy way to say "when was foo deleted from trunk"? 01:48
chromatic git blame? 01:49
Coke if I had a full git-svn checkout, that'd work.
I went for the partial. 01:50
01:50 sri_ joined
Coke trans_encoding was added here: trac.parrot.org/parrot/changeset/10014 - looks like it was a workaround for ancient parrot unicode borking. 01:55
chromatic Isn't archaeology fun?
Coke more melancholy. 01:56
ah well. at least with the profiler, I can now concentrate on ripping things out.
(that and the enormous spec test suite.) 01:57
afk 02:03
chromatic Does anyone know if Parrot_ex_build_exception works correctly from ops? 02:04
No, that looks fine. 02:09
Maybe Rakudo needs more pop_eh.
02:22 rhr joined 02:48 janus joined 03:07 theory joined 03:53 JimmyZ joined
JimmyZ rakudo: Str.^methods().join(', ').say; 03:55
polyglotbot OUTPUT[Parrot VM: Can't stat languages/perl6/perl6.pbc, code 2.␤main: Packfile loading failed␤]
JimmyZ rakudo: Str.^methods().join(', ').say;
polyglotbot OUTPUT[Parrot VM: Can't stat languages/perl6/perl6.pbc, code 2.␤main: Packfile loading failed␤]
JimmyZ rakudo: Str.^methods().join(', ').say;
polyglotbot OUTPUT[Parrot VM: Can't stat languages/perl6/perl6.pbc, code 2.␤main: Packfile loading failed␤]
nopaste "chromatic" at 72.87.39.97 pasted "Annotations from invokecc_p for the Rakudo Spectest Bug (NotFound, Whiteknight, Tene, moritz, pmichaud)" (48 lines) at nopaste.snit.ch/17937 04:12
"chromatic" at 72.87.39.97 pasted "Better Annotations from invokecc_p for the Rakudo Spectest Bug (NotFound, Whiteknight, bacek, Tene, moritz, pmichaud)" (20 lines) at nopaste.snit.ch/17938 04:39
04:45 kyle_l5l joined 04:46 cotto joined
cotto hi 04:48
05:08 quek left 05:28 Zak joined
dukeleto 'ello 05:29
05:33 payload joined
cotto chromatic, thanks for fixing that get_line function. There's a substantial speedup in the profiler now. 05:34
35/8
purl 4.375
dalek rrot: r41223 | cotto++ | trunk/src/runcore/profiling.c:
[profiling] switch away from Parrot_Context_get_info, resulting in a major speedup in profiling.
05:44
06:14 flh joined
chromatic Now to speed up the post processor. 06:24
I'm not sure the line numbers are completely correct, but part of that may be a bug in IMCC. 06:25
cotto chromatic, I'm sure they're not and I'm pretty sure it's imcc's fault. 06:37
flh is the "set_number_same" VTABLE method still useful, or is a a relic from old times? 07:02
I only found it in the Float PMC, and it's not called by any operator 07:03
07:04 quek joined
cotto (9,922,424,896-9,579,497,782)/9,922,424,896 07:05
(9922424896-9579497782)/9922424896
purl 0.0345608172996344
cotto sounds about right
chromatic, is this patch (plus makefile template fixes) worthwhile for a ~3% faster profiler? 07:07
nopaste "cotto" at 74.61.2.46 pasted "break encapsulation a little for ~3% faster profiler" (104 lines) at nopaste.snit.ch/17939 07:08
07:13 fperrad joined
cotto time for sleeps. I'll check the backscroll in the morning. 07:32
kyle_l5l if parrot gives different output depending on if I pass it -G, what could cause this? problems with a PMC's mark(), or something else? 08:03
chromatic cotto, that's not awful, but I'd add the FIA header to call.h instead of all of the points of use. 08:12
Different output how, kyle_l5l?
kyle_l5l (I've got quite a few local changes here.) sometimes, without -G, I get segfaults. During the parrot build, I end up with pbcs with slightly different output. I'm not sure how to find anything meaningful from those differences though. 08:18
chromatic If you get segfaults without -G, that's a garbage collection problem. 08:20
kyle_l5l If I've added a new field to a PMC, but I don't handle it during mark(), could that do it? 08:30
chromatic If it's a STRING or a PMC, yes. 08:31
08:52 sundar joined
shockwave I was looking at the docs just now, but couldn't find it; but I think I saw it mentioned before: Is it possible to return more than one parameter from a subroutine? a tuple? 09:00
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41223 - Ubuntu 9.04 i386 (gcc)
partcl r729 builds on parrot r41223 - make test PASS - Ubuntu 9.04 i386 (gcc) 09:05
chromatic shockwave, you can return as many items as you like. 09:08
09:29 JimmyZ joined
mikehh rakudo (3b63817) builds on parrot r41223 - make test PASS / make spectest (up to 28221) FAIL - Ubuntu 9,04 i386 (gcc) 09:36
rakudo - 1 direct fail - t/spec/S12-introspection/walk.rakudo - Non-zero exit status: 1 - Parse errors: Bad plan. You planned 10 tests but ran 8.
rakudo - ./perl6 t/spec/S12-introspection/walk.rakudo - fails with (after ok 8): set_pmc() not implemented in class 'Failure'
rakudo - t/spec/S03-operators/arith.rakudo - TODO passed: 131
rakudo - t/spec/S12-attributes/class.rakudo and t/spec/S14-roles/basic.rakudo - Non-zero wait status: 11 (Segfault after passing tests)
09:46 MoC joined 10:16 JimmyZ joined 10:23 Whiteknight joined 10:27 quek joined
Whiteknight good morning #parot 10:30
10:30 quek left
Whiteknight or #parrot 10:30
JimmyZ good morning, Whiteknight. 10:33
Whiteknight how are you doing JimmyZ? 10:35
JimmyZ fine, thanks ;) 10:39
flh I was wondering: is the instantiate vtable method useful at all in places other than PMCProxy and Class? 10:46
the Boolean PMC for example implements it, but it never gets called (because a new ['Boolean'] in PIR is actually caught by pmcproxy) 10:47
Whiteknight flh: that I am aware, it really isn't useful anywhere 10:52
anywhere else*
flh so an easy way to improve test coverage of the Boolean PMC would be: remove the instantiate method 10:53
shall I create a ticket for that? 10:54
dalek rrot: r41224 | chromatic++ | trunk/src (4 files):
[PMC] Removed unnecessary custom_destroy flag setting on PMCs that don't have
10:57
rrot: r41225 | chromatic++ | trunk/compilers/imcc (2 files):
[IMCC] Improved IMCC line number tracking. This is an ugly fix, as it papers

detects the end of a line. This would be fine, except that IMCC emits instructions *before* it reaches the end of a line in certain circumstances, thus incrementing the line counter eventually, but not at the right time to get the right number for certain ops. A better fix is welcome. pirc is very welcome.
11:06 preflex joined
dalek TT #1001 created by flh++: Dead code in Boolean instantiate 11:27
11:29 bacek joined
bacek o hai 11:33
dalek rrot: r41226 | NotFound++ | trunk/t/pmc/resizablepmcarray.t:
[t] add a test for sort in a subclass of RPA, TT #218
11:48
11:49 joeri joined
dalek rrot: r41227 | bacek++ | trunk (2 files):
[cage] Remove dead Boolean.instantiate. Add Boolean.init_pmc. Patch cortesy of flh++
11:58
TT #1001 closed by bacek++: Dead code in Boolean instantiate 12:01
bacek Oh... Stupid typo...
NotFound Looks like r41221 fixes a segfault in a TODO test in t/pmc/threads.t , Tene++ 12:12
bacek NotFound: does auto_attrs work with inherited PMCs? 12:24
NotFound bacek: explicitly set, yes. Implicitly, there can be some corner case, but in general it works. 12:25
bacek NotFound: Ok. Thanks.
bacek going to convert Packfile* PMC to auto_attrs 12:26
NotFound BTW, I'm planning to add the flag manual_attrs after the release. Then someday add a warning if a PMC has no one of manual_attr or auto_attrs, and someday later make auto_attrs the default. 12:28
bacek +1
purl 1
NotFound bacek: trac.parrot.org/parrot/changeset/4...andler.pmc 12:30
bacek: What is the reason to add the destroy vtable function here? 12:31
bacek NotFound: I have no idea. I just merged this branch because svn was b0rked.
NotFound I was suspecting that... this function looks very wrong and may be the cause of some problems. 12:32
bacek NotFound: just remove it. Our GC doesn't require such "help". 12:35
NotFound And even if there were some reason to do that, the pmc need destruction before putting it on free list. 12:36
12:43 JimmyZ joined 12:51 tetragon joined
dalek rrot: r41228 | bacek++ | trunk/src/pmc (9 files):
[core] Migrate Packfile* PMCs to auto_attrs
12:56
bacek next release? 12:58
purl next release is the Razor in march/april 99 or when everything will be fixed
bacek next parrot release?
useless girl...
dalek TT #656 closed by bacek++: Optimization in src/pmc/RetContinuation.pmc:invoke causes segfault 13:03
bacek Looks like all "set_foo_same" VTABLEs can be removed now. 13:05
Whiteknight what are set_foo_same? 13:10
NotFound Whiteknight: Have you seen my last question to bacek?
bacek set_number_same/set_string_same/set_integer_same 13:11
Whiteknight i dont think I've ever seen one of those 13:13
13:14 rdice joined
bacek And you'll never see them. 13:15
dalek rrot: r41229 | bacek++ | trunk/src (4 files):
[cage] Remove set_string_same/set_number_same/set_integer_same VTABLEs.
13:17
bacek laughing evilly removing code from parrot
13:19 kid51 joined
flh bacek++ # set_*_same were really annoying 13:19
bacek flh: what about patch for removing other "instantiate" functions? :) 13:20
flh it will come, some day, for the moment I'm busy with resizable*array tests (improve test coverage, they said) 13:21
bacek flh: btw, I created TT#866 on this special purpose - reduce annoyance of VTABLE functions. Feel free to add more VTABLEs into kill-list :)
Removing instantiate will improve test-coverage as well :) 13:22
NotFound Yeah, deleting code is wonderfull: less code to debug, less code to cover... 13:23
As someone said: all programs can be shortened, any program has at least a bug. So all programs can be reduced to a one line of code that is wrong. 13:25
bacek actually prefer 0 lines of code :) 13:26
NotFound And then go to nirvana 13:28
13:29 fperrad joined
bacek I'm not sure about exact sequence... 13:31
NotFound Maybe is paralelizable
dalek rrot: r41230 | bacek++ | trunk (5 files):
[cage] Remove more dead VTABLE_instantiate functions. Add Integer.init_pmc
13:41
rrot: r41231 | bacek++ | trunk/src/call/context.c:
[cage] Remove useless CTX_LEAK_DEBUG_FULL macro. Contexts are GCable now.
rrot: r41232 | NotFound++ | trunk/src/pmc/exceptionhandler.pmc:
[pmc] remove unuseful and wrong ExceptionHandler destroy
13:44
13:44 MoC joined
bacek Anyone with real svn checkout around? 13:50
Whiteknight here
bacek Whiteknight: can you kill "context_attrs" and "tt971_current_context_functions" branches? They are useless. 13:52
Whiteknight done 13:53
Whiteknight has to go now
dalek rrot: r41233 | whiteknight++ | branches/context_attrs:
[context_attrs] deleting this branch for bacek++
13:54
rrot: r41234 | whiteknight++ | branches/tt971_current_context_functions:
[tt971_current_context_functions] deleting this branch for bacek++
rrot: r41235 | NotFound++ | trunk/src/pmc/unmanagedstruct.pmc:
[cage] c++ fix
14:04
bacek finally understood his stupidity and under-estimation of "Emit PBC from POST"... 14:17
14:17 theory joined
jdv79 and skip imcc? 14:34
bacek jdv79: yeah... 14:36
anyway, bed time 14:37
bacek wave from future and departing to bed
14:47 Psyche^ joined 15:00 ash_ joined
ash_ does parrot currently build with the llvm-gcc? 15:09
or clang? just curious
15:19 JimmyZ joined
Coke ash_: someone on list just said they ran it through clang for the debug output, as I recall. 15:24
dalek rtcl: r730 | coke++ | wiki/SpecTestStatus.wiki:
error fails, probably due to recent opcode changes.
15:25
ash_ it just built fine for me with llvm-gcc
Coke folks are investigating using llvm-gcc on the way towards potentially using them as a plugin jit.
ash_++
a PLATFORMS update patch would be appreciated.
ash_ i am doing make test, but you don't have to compile with llvm-gcc to link to the llvm runtime
i simply did perl Configure.pl --cc=llvm-gcc-4.2 (its installed by default on OS X 10.6) 15:26
15:27 Austin joined
Austin hello, #parrot. 15:27
ash_ hmmm, all tests passed when i complied with llvm-gcc-4.2 15:29
JimmyZ rakudo: class Alpha { has @!a = < beta gamma >; method infix:<~>($obj, $key) { return @!a[$key]; }; }; my $a = Alpha.new; say $a~1; 15:36
polyglotbot OUTPUT[Parrot VM: Can't stat languages/perl6/perl6.pbc, code 2.␤main: Packfile loading failed␤]
15:36 JimmyZ left
ash_ hmmm it doesn't seem to compile with clang however, its saying there is a duplicate symbol Linfo_begin43, not sure what thats about 15:37
Coke msg jimmyz "eval bot doesn't work here. try #perl6 on freenode" 15:41
purl Message for jimmyz stored.
Coke was all excited that chromatic fixed a line number error in imcc, but it wasn't RT#40204 15:45
dalek rtcl: r731 | coke++ | trunk/ (3 files):
spec test run

Note speedup. (part of that from the recent [puts] change)
15:46
Coke msg cotto the filenames for a lot of the profiling lines are wrong. 15:54
purl Message for cotto stored.
16:00 silug joined
ash_ weird, parrot works fine with llvm-gcc, but i just recompiled perl6 and its dying on me 16:08
16:13 mberends joined
ash_ if you have a pmc with an include, how does the pmc2c converter treat the includes? does it only allow certain ones or something? 16:21
16:21 PacoLinux joined 16:23 mokurai joined
dukeleto good localtime() 16:27
Coke when you say include, do you mean a C-style "#include" ? 16:29
16:33 flh joined 16:34 JimmyZ joined, allison joined
ash_ yeah coke, its stripping one of my includes for some reason 16:44
#include "parrot/vtable.h" keeps getting stripped out
dalek rrot: r41236 | NotFound++ | trunk/src/pmc/nci.pmc:
[pmc] NCI.mark failed to mark some attributes
NotFound ash_: Why do youn need that? 16:46
ash_ i am trying to get rakudo to build with llvm-gcc but its complaining about objectref.c:1867: warning: implicit declaration of function ā€˜VTABLE_set_integer_same’
which is defined in #include "parrot/vtable.h" 16:47
NotFound ash_: that vtable frunction has been removed
ash_ hmmm somethings wrong then, i'll do a fresh clean up 16:48
fresh git pull then
dukeleto ash_: make realclean 16:49
purl hmmm... make realclean is sometimes need in parrot to work against missing dependencies
ash_ alright, i try that 16:50
oops, i forgot to do make install-dev in parrot, now rakudo is building 16:56
NotFound ash_++ 16:58
dalek rrot: r41237 | NotFound++ | trunk/examples/nci (2 files):
[examples] try harder to locate mysql library and add show more info during test
ash_ parrot and rakudo built with llvm-gcc seem to be passing their tests 17:00
NotFound Our portability is not so bad. 17:01
ash_ clang didnt work just so you know NotFound
NotFound ash_: last time I heard about, it had some problems with #line directives and the like 17:02
You can try with the --no-line-directives Configure option 17:03
ash_ i'll try that, just curious if it works with clang really, thats all 17:05
NotFound We don't know unless someone try and tell us
ash_ did you hear apple open sourced grand central dispatch? its interesting, requires a C compiler with blocks though and pthreads, so you have to use clang or llvm-gcc to compile it 17:06
nope, with --no-line-directives didn't change it, Symbol Linfo_begin43 already defined is the error 17:07
NotFound Weird 17:08
ash_: What configure options are you using? 17:09
ash_ perl Configure.pl --cc=/Developer/usr/bin/clang --no-line-directives
NotFound You may need to also use --ld and --link options 17:10
ash_ oh, okay
hmmm does perl Configure.pl --cc=/Developer/usr/bin/clang --no-line-directives --ld=/Developer/usr/bin/clang --link=/Developer/usr/bin/clang look right? 17:15
17:17 fperrad_ joined
NotFound ash_: looks good, but I don't know how clang handle command line parameters 17:18
ash_ it still failed in the same spot, i am not that sure about clang either to be honest 17:19
17:19 Whiteknight joined
NotFound Maybe some clang include lacks appropiate include guards, or maybe a conflicting macro name... 17:20
ash_ i don't know enough to really know where to being for this 17:22
just thought i'd try it and let you guys know what happened
17:27 mikehh joined
Whiteknight NotFound: what's the incantation you use to build with clang? 17:29
I just tried it and the build failed. I'm sure I'm missing a step
ash_ Whiteknight I used perl Configure.pl --cc=/Developer/usr/bin/clang --no-line-directives --ld=/Developer/usr/bin/clang --link=/Developer/usr/bin/clang 17:31
but it failed for me
Whiteknight ah, I was forgetting --ld and --link 17:32
ash_ well, it still failed for me, just so you know
are you on OSX?
llvm-gcc worked fine though
Whiteknight no, I'm on Ubuntu 17:33
mikehh when I build with g++ I use perl Configure.pl --optimize --test --cc=g++ --cxx=g++ --link=g++ --ld=g++ --configure_trace 17:34
ash_ what does --configure_trace do? 17:35
mikehh you can ignore the --configure_trace
ash_ does parrot require a c++ compiler? 17:36
mikehh it just enables more tests and store some configure build information
no with gcc I use perl Configure.pl --optimize --test --configure_trace 17:37
Whiteknight hmm, this is really weird. The gmp.h include file looks like it has the right inclusion guards
ash_: no, C89 or better
NotFound I think that building with gdbm requires a C++ compiler 17:38
17:39 mtk joined
NotFound Whiteknight: Guards for what? 17:39
Whiteknight #ifndef inclusion guards 17:40
NotFound Whiteknight: Is that the problem with clang? 17:42
Whiteknight I don't know what the problem with clang is 17:43
NotFound Whiteknight: So what's the weirdness with gmp.h? 17:45
Whiteknight no idea 17:47
dalek rrot: r41238 | allison++ | branches/pcc_arg_unify/t/pmc/capture.t:
[pcc] Pop the exception handler when the anticipated exception has been
17:49
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41237 - Ubuntu 9.04 amd64 (g++) 18:09
partcl r731 builds on parrot r41237 - make test PASS - Ubuntu 9.04 amd64 (g++) 18:10
rakudo (3b63817) builds on parrot r41237 - make test PASS / make spectest (up to 28221) FAIL - Ubuntu 9,04 amd64 (g++) 18:15
rakudo - 1 direct fail - t/spec/S12-introspection/walk.rakudo - Non-zero exit status: 1 - Parse errors: Bad plan. You planned 10 tests but ran 8.
rakudo - ./perl6 t/spec/S12-introspection/walk.rakudo - fails with (after ok 8): set_pmc() not implemented in class 'Failure'
rakudo - t/spec/S03-operators/arith.rakudo - TODO passed: 120, 131-132
18:16 payload joined
dalek kudo: 0f1edeb | (Solomon Foster)++ | src/setting/ (3 files):
Remove Any.sec because of conflicts with S32-io/IO-Socket-INET.t, and add Rat.sec and Int.sec to replace it.
18:21
kudo: 3a48086 | (Solomon Foster)++ | src/setting/Any-num.pm:
Implement Any versions of the basic forward trig functions.
kudo: 186cf24 | (Solomon Foster)++ | src/setting/Num.pm:
Add Num.Num method which simply returns self.
18:50 chromatic joined
dalek rrot: r41239 | NotFound++ | trunk (2 files):
[threads] Fix a test that segfaulted (still fails, but now for the correct reason) and the function that allowed this fail pass unnoticed
18:54
mikehh bah make cover blows up if env var TEST_JOBS=5 is set 19:08
19:11 rhr joined 19:35 KatrinaTheLamia joined 19:53 jhelwig joined
dalek rrot: r41240 | chromatic++ | trunk/src/call/pcc.c:
[PCC] Tidied code; no functional changes.
20:26
rrot: r41241 | chromatic++ | trunk/config/gen/makefiles/root.in:
[config] Added dependencies on src/install_config.o for all installable
purl binaries is binaries, and the link format didn't seem to have an issue.
20:36 rdice joined
Coke dukeleto: if there are necessary flags for valgrind, add them to tools/*/vgp 20:43
20:50 davidfetter joined
dukeleto Coke: i didn't know about that script. darwin has a flag that it requires, so I guess i will check the output of uname? 20:52
20:53 markmont joined
dukeleto coke: also the num-callers argument is invalid for my valgrind, which is the latest release, 3.5.0 20:53
==9209== '--num-callers' argument must be between 1 and 50 20:54
valgrind: Bad option '--num-callers=500'; aborting.
ash_ anyone know if there has been any headway on trac.parrot.org/parrot/ticket/757 ? 20:56
dukeleto Coke: would anyone mind if i turned that script into a perl script to better process commandline args?
ash_: whiteknight would probably know 20:57
ash_ okay if i see him on ill ask him 21:00
dukeleto msg whiteknight what is the status of trac.parrot.org/parrot/ticket/757 ? ash_ was asking 21:04
purl Message for whiteknight stored.
ash_ I know Tene was working on trying to get rakudo to thread and thats why i ask 21:05
I was reading in the parrot docs PDD25 that it describes 'tasks' and a 'scheduler' 21:06
but Tene was just using ParrotThread for his stuff
markmont Hi, I'm new here. Build of PGE from trunk is dying with segfault under Fedora 11 when JIT enabled. Should I just go ahead and open a ticket? Stack trace is similar to trac.parrot.org/parrot/ticket/992
ash_ i realize that the scheduler is whatever you make it, but i think that makes sense because you can plug your scheduler if you want a different kind of concurrency 21:07
dukeleto markmont: JIT is deprecated and is going to be removed in a week
ash_ the JIT system is going to be deprecaed, use --optimized instead
s/deprecaed/deprecated
markmont OK, thanks! 21:08
dukeleto markmont: yes, or the fast runcore with --runcore=fast
chromatic dukeleto, FYI: the Valgrind output you pasted in TT #992 is largely irrelevant; it's due to a disconnect between what Valgrind thinks of the C stack and the stack walking code in the GC. 21:09
dukeleto markmont: --optimized is a flag to Configure.pl, --runcore is a flag to the parrot binary
chromatic: gotcha, should I use the vgp script ?
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41241 - Ubuntu 9.04 amd64
dukeleto chromatic: it requires some additional flags on darwin and has a max num callers of 50. I think I am just going to create a tools/dev/vgp_darwin for right now. is that cool? 21:10
chromatic Fine by me.
markmont I'm not trying to get any particular result except success. "perl Configure.pl" dies, "perl Configure.pl --jitcapable=0" succeeds; the latter is good enough for me but I wanted to let people know.
chromatic I don't think Valgrind will help there; it's a gdb thing.
dukeleto markmont: that sounds like a bug in Configure.pl, so I would make a ticket 21:11
markmont Will do, then. Thanks. 21:12
dukeleto chromatic: ok, understood. due you have sufficient info there to debug the issue?
chromatic I think so.
mikehh partcl r731 builds on parrot r41241 - make test PASS - Ubuntu 9.04 amd64 21:14
chromatic dukeleto, were you adding that as a test to a file somewhere? 21:17
dukeleto chromatic: i was attempting to translate t/pmc/parrotobject.t 21:18
chromatic Okay, excellent.
dukeleto chromatic: last three commits here: github.com/leto/parrot/commits/parrotobj 21:19
chromatic If you can confirm that r41242 fixes it, feel free to close the ticket and add your tests. 21:20
dalek rrot: r41242 | chromatic++ | trunk/compilers/imcc/parser_util.c:
[IMCC] Avoided a memory corruption error when switching namespaces to the

valid. This isn't the case if it's the *same* namespace and the *same* SymReg. See TT #992, filed by Jonathan Leto.
21:23
rrot: r41243 | dukeleto++ | trunk/tools/dev/vgp_darwin:
[toos] Add a valgrind script for darwin
mikehh rakudo (0f1edeb) builds on parrot r41241 - make test PASS / make spectest (up to 28222) FAIL - Ubuntu 9.04 amd64 21:27
rakudo - t/spec/S12-introspection/walk.rakudo FAILS and t/spec/S03-operators/arith.rakudo - TODO passed: 120, 131-132
21:27 Andy joined 21:29 bacek joined
mikehh Andy: I got a falal error running make cagecritic 21:30
Andy OK 21:31
I don't know what that is.
mikehh sorry probably wrong Andy then
Andy no, I can probably help
chromatic It's the biggest event in the Ultimate Formatting League regular season.
Andy The cage was started by me 21:32
mikehh Andy: Fatal error while critiquing "lib/Parrot/Install.pm": Can't call method "isa" without a package or object reference at /usr/local/lib/perl5/site_perl/5.10.0/Perl/Critic/Policy/Bangs/ProhibitRefProtoOrProto.pm line 25
Andy so that's a problem with Perl Critic then 21:33
mikehh - Perl::Critic::Bangs I think
just thought you might know something about it - checkibg further 21:36
checking
dalek TT #1002 created by markmont++: Building PGE dies with segfault when JIT enabled under Fedora 11 21:49
chromatic Hm, that backtrace in TT #1002 looks like the same problem we've been chasing in Rakudo for a few days. 22:01
markmont Similar to #992, yes. 22:04
chromatic #992 or #997 and #989? 22:05
markmont chromatic: I say #992 because that's also Parrot_NCI_invoke(); I don't know enough about Parrot to say anything about #997 or #989. 22:08
chromatic I just solved #992, so it's not likely that one. 22:11
#992 is a specific case of the fact that IMCC isn't reentrant. 22:12
The other bugs look like something's calling into the compiler long after the program should have ended.
markmont chromatic: Well, let me know if I can provide more info or run tests for you. But I've worked around the problem and gotten a working rakudo by building with --jitenable=0. 22:14
22:15 nathanmccauley joined
nathanmccauley i'd like to get involved with helping with parrot -- who should I talk to? 22:18
chromatic markmont, the best I can think of right now is reconfiguing, rebuilding, then running those PGE lines manually. Add the -t flag to Parrot for the second one. It'll make a lot of output, but if you redirect it to a file, the last couple of dozen lines might prove instructive. 22:19
nathanmccauley, anyone here should be able to help. Do you have a particular skill or interest or question?
nathanmccauley I'm fairly familiar with .NET and Java bytecode. I'd be interested in helping out with the JIT effort as well. Is there particular interest in the .NET to PIR translator? 22:22
chromatic jonathan knows the most about that. I fear it's bitrotted somewhat.
We'll start on the new JIT plan after next Tuesday's release.
22:23 MoC joined, darbelo joined
darbelo markmont: ping 22:25
nathanmccauley Is there a page where I can view parrot's plan and goals? 22:26
markmont darbelo: here
bacek nathanmccauley: trac.parrot.org 22:27
Good morning
purl And good moroning to you, bacek.
darbelo Can you nopaste the output of Configure.pl ?
nathanmccauley Also, if anyone has a particular TODO item that's causing them pain I'd be happy to tackle a small one to start getting familiar with the codebase.
darbelo purl: nopaste? 22:28
purl i heard nopaste was at nopaste.snit.ch/ (ask TonyC for new channels) or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others) or gist.github.com/ or paste or gtfo or tools/dev/nopaste.pl
22:28 mokurai joined
bacek nathanmccauley: You can check "Newbie ticket" and "Cage cleanup ticket" on trac. They are probably easiest way to understand parrot codebase. 22:29
darbelo markmont: Or, even better, see if it looks like nopaste.com/p/ahhiotQTb (The auto::jit line in particular) 22:30
dalek TT #78 closed by bacek++: Remove executable code from src/jit//jit_emit.h
bacek chromatic: any luck with my nopasted Parrot_alloc_context/alloc_context split? 22:31
markmont darbelo: www-personal.umich.edu/~markmont/pa...r41241.txt
darbelo: Yes, exactly the same. 22:32
chromatic I haven't tried bacek; I was tracking down some other bugs first. 22:33
darbelo markmont: Then yo9u got bit by SELinux, apparently it's on by default on Fedora, and doesn't like some of the stunts the JIT pulls.
markmont darbelo: There were no unexpected SELinux audit events, but let me disable SELinux and try again. 22:34
darbelo: Configure.pl output looks much better with SELlnux disabled. 22:35
darbelo The current JIT likes to have write and execute permissions on memory, to which SELinux objects, but the configure probe isn't smart enough to notice. 22:37
It gets failure: Permission denied
markmont darbelo: ...and the build succeeds. 22:38
darbelo but still marks your platform as JIT capable. Much segfaulting results.
markmont darbelo: Thanks. I've updated trac.parrot.org/parrot/ticket/1002 with what you said. 22:41
darbelo: given the upcoming changes to JIT, would it be worth it to fix the configure probe? Creating a patch for this should be barely within my abilities. 22:43
22:43 rg joined
darbelo markmont: The next release will still have JIT enabled, so a smarter Configure probe would probably be beneficial, yes. 22:46
markmont darbelo: OK, thanks, I'll see what I can come up with assuming nobody beats me to it. 22:48
chromatic I'm starting to wonder if PGE is missing a pop_eh. 22:50
darbelo markmont: I have to go now, but TT#581 might prove inspirational to your endeavors :) 23:09
markmont darbelo: I'll look at it, thanks.
bacek wander why ExceptionHandlers aren't attached to Contexts to prevent "pop_eh" shenanigans... 23:12
23:19 jhelwig joined 23:39 quek joined
nopaste "NotFound" at 213.96.228.50 pasted "Patch: throw when failed to allocate executable memory" (38 lines) at nopaste.snit.ch/17942 23:45
23:45 rdice joined
NotFound I think this patch may help users while jit is not removed. Some opinion? 23:46
Coke (vgp) I don't care; I just threw it in the rpeository so I could stop asking chromatic "how do you run that again?" 23:48
23:54 dukeleto joined 23:59 fperrad left