|
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
|
|||