Camelia, the Perl 6 bug

IRC log for #parrot, 2009-09-12

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 Coke jdv79: whee!
00:02 bacek_ joined #parrot
00:07 japhb joined #parrot
00:12 nopaste "darbelo" at 200.49.154.172 pasted "[PATCH] more strstart removals." (40 lines) at http://nopaste.snit.ch/17935
00:12 darbelo Can someone with gdbm please test http://nopaste.snit.ch/17935 ?
00:15 GeJ_ darbelo: patch applied. building
00:16 tetragon joined #parrot
00:20 GeJ darbelo: build failed. missing ';' after 'return ret'.
00:20 GeJ rebuilding
00:21 darbelo That's what I get for messing with code from other platforms, I guess.
00:26 GeJ darbelo: provided I add the aforementioned semicolon, the patch applies fine, build ok and gmake test doesn't complain.
00:26 GeJ Paltform: FreeBSD amd64, latest trunk + your patch.
00:26 GeJ ... and gdbm, of course.
00:26 darbelo Good enough for me, then.
00:26 darbelo GeJ++
00:31 dalek parrot: r41222 | darbelo++ | trunk/src (2 files):
00:31 dalek parrot: Remove a few more strstart uses. GeJ++ for testing the gdbm side of this.
00:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41222/
00:42 Coke chromatic: I wonder if I can remove that trans_encoding in [puts]
00:42 Coke I imagine translating every string into utf8 on output is not cheap.
00:45 chromatic utf8 iteration is slow.
00:47 Coke I'm sure it was necessary at some point. 'make test' doesn't need it...
00:54 Coke hurm. having trouble displaying unicode on feather.
00:56 darbelo okay, I'm going to get some food. msg me if I broke another build :)
01:00 Coke there we go. (os x terminal, screen and more to blame.)
01:00 Zak joined #parrot
01:02 chromatic These Rakudo assertion failures are deep in the guts of PCC.
01:02 chromatic We need that branch to land.
01:02 Coke some simple stuff was updating the test files to deal with changed error verbage.
01:02 NotFound I'll take some look at pcc related failures, and gave up.
01:04 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 chromatic I know *what* the problem is: accessing the wrong constant table.
01:04 chromatic I don't know *where* that constant table should get set, nor which one is the right one.
01:12 quek joined #parrot
01:13 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 partcl: r728 | coke++ | trunk/runtime/builtin/subst.pir:
01:13 dalek partcl: Remove useless stringification
01:13 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=728
01:13 Whiteknight when I see a stacktrace starting in one of the argument processing PCC functions, I shudder
01:13 dalek partcl: r729 | coke++ | trunk/runtime/builtin/puts.pir:
01:13 dalek partcl: Remove unnecessary trans_encoding.
01:13 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=729
01:14 chromatic Here's a weird fact: the backtrace starts *after* the program should have ended.
01:14 chromatic Why does IMCC need to run any fixup code when the program has ended?
01:14 Whiteknight because IMCC is the devil
01:14 chromatic Why does anything even call into IMCC at that point?
01:14 Whiteknight what's the stack trace?
01:14 purl i think the stack trace is probably most helpful
01:15 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
01:15 kid51 msg darbelo This Smolder report was run at r41221 with your patch 17935 applied (corrected missing semicolon)
01:15 purl Message for darbelo stored.
01:15 chromatic You need an installed Parrot, a built Rakudo, and sufficient spectest runnage for Rakudo to have that fudged file.
01:16 kid51 msg darbelo http://smolder.plusthree.com/app/pu​blic_projects/report_details/27185
01:16 purl Message for darbelo stored.
01:16 Coke 25,068,395  src/mathops.pir:tcl;&puts []
01:16 Coke &puts isn't defined in that file.
01:17 nopaste "chromatic" at 72.87.39.97 pasted "Rakudo bt for Whiteknight" (82 lines) at http://nopaste.snit.ch/17936
01:17 Whiteknight yeah, I'm looking at it now
01:18 Whiteknight what makes you think we are calling back into IMCC after the program should end?
01:18 Whiteknight or, for that matter, when do you think it "should" end?
01:18 chromatic The last line of the Rakudo program is: say "# FUDGED!";
01:19 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.
01:20 Whiteknight I only say that because we're still in the runloop
01:20 Whiteknight and calling invokecc on the PIR compreg from there
01:20 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.
01:21 Whiteknight NotFound: I'm not sure I understand what you mean
01:22 Whiteknight 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.
01:22 Whiteknight this is looking to me a lot like an inferior runloop bug
01:23 Whiteknight 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.
01:24 chromatic Wow, the default PMC's destroy VTABLE gets called a lot.
01:24 chromatic That shouldn't be.
01:24 chromatic It's all Exception and ExceptionHandler.
01:25 Whiteknight so somebody is being sloppy about setting active_destroy when not needed?
01:25 chromatic Yep.  Removing one...
01:26 NotFound We can temporarily delete default destroy to help catch that problems.
01:26 chromatic or stick PARROT_ASSERT(0) in there.
01:27 NotFound The generated default throws, no big difference.
01:29 Whiteknight well, this segfault is lousy, but I'm getting more and more convinced it's the inferior runloop problem
01:29 Whiteknight although I also suspect that a fix for that might be more then we can manage before tuesday
01:30 chromatic Probably true, but I have an idea.
01:31 Coke chromatic: on the annotated output, can "PROGRAM_TOTALS" be compared across runs?
01:32 chromatic Coke, I usually compare the summary: line.
01:32 chromatic Hm, something set active_destroy on an NCI.
01:34 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
01:35 Whiteknight so when the program exits we can see that it's not the main runloop
01:37 chromatic Good idea.
01:37 purl chromatic: Good Idea: Kissing a loved one. Bad Idea: Kissing a total stranger.
01:37 chromatic But I love everyone, purl.
01:37 purl chromatic: what?
01:37 chromatic Yeah, you caught me.
01:38 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:
01:38 Coke 14:summary: 56827595460
01:38 Whiteknight NotFound: exactly!
01:38 purl exactly! is it not awesome?
01:38 Coke 14:summary: 39122562931
01:38 Coke so, that seems.. significant.
01:39 Whiteknight Coke: what are those numbers?
01:39 chromatic 31% improvement, Coke.
01:40 Coke summary lines from profiling runs of tcl's example/power.tcl before and after r729
01:40 Coke cotto++
01:40 Coke chromatic++
01:42 chromatic The current_runloop_id in the invokecc_p opcode at the crash is... 28543.
01:42 Whiteknight ...awesome
01:42 chromatic I don't know *exactly* what that means, but that is a large number.
01:43 Coke That sounds like the recursive exception crap.
01:43 chromatic Yep.
01:43 Coke No really, I got this exception. Thanks.
01:43 Coke No really.
01:43 Coke Hey.
01:43 Coke Come back here.
01:43 chromatic You scared away Richard.  Nice work.
01:44 Coke chromatic: hurm. by removing the transcoding, I think that avoids creating a new string on every puts.
01:44 chromatic Indeed.
01:44 Coke I am almost tempted to dig through the parrot repo and see why I added that.
01:45 chromatic Have I mentioned this month that transcoding to and from all sorts of encodings willy-nilly is crack?
01:45 Coke likely.
01:45 Coke Now if I could just get you to do a code review of partcl...
01:45 chromatic It's crack.  CRACK.  crackalackalack.
01:45 Coke (though my biggest cost is no doubt algorithmic at this point.)
01:46 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.
01:48 Coke aside from bisect, is there an easy way to say "when was foo deleted from trunk"?
01:49 chromatic git blame?
01:49 Coke if I had a full git-svn checkout, that'd work.
01:50 Coke I went for the partial.
01:50 sri_ joined #parrot
01:55 Coke trans_encoding was added here: https://trac.parrot.org/parrot/changeset/10014 - looks like it was a workaround for ancient parrot unicode borking.
01:55 chromatic Isn't archaeology fun?
01:56 Coke more melancholy.
01:56 Coke ah well. at least with the profiler, I can now concentrate on ripping things out.
01:57 Coke (that and the enormous spec test suite.)
02:03 Coke afk
02:04 chromatic Does anyone know if Parrot_ex_build_exception works correctly from ops?
02:09 chromatic No, that looks fine.
02:09 chromatic Maybe Rakudo needs more pop_eh.
02:22 rhr joined #parrot
02:48 janus joined #parrot
03:07 theory joined #parrot
03:53 JimmyZ joined #parrot
03:55 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␤]
03:55 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␤]
03:55 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␤]
04:12 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 http://nopaste.snit.ch/17937
04:39 nopaste "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 http://nopaste.snit.ch/17938
04:45 kyle_l5l joined #parrot
04:46 cotto joined #parrot
04:48 cotto hi
05:08 quek left #parrot
05:28 Zak joined #parrot
05:29 dukeleto 'ello
05:33 payload joined #parrot
05:34 cotto chromatic, thanks for fixing that get_line function.  There's a substantial speedup in the profiler now.
05:34 cotto 35/8
05:34 purl 4.375
05:44 dalek parrot: r41223 | cotto++ | trunk/src/runcore/profiling.c:
05:45 dalek parrot: [profiling] switch away from Parrot_Context_get_info, resulting in a major speedup in profiling.
05:45 dalek parrot: For example, examples/benchmarks/oofib.pir runs more than 4x faster under the profiler with this change.
05:45 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41223/
06:14 flh joined #parrot
06:24 chromatic Now to speed up the post processor.
06:25 chromatic I'm not sure the line numbers are completely correct, but part of that may be a bug in IMCC.
06:37 cotto chromatic, I'm sure they're not and I'm pretty sure it's imcc's fault.
07:02 flh is the "set_number_same" VTABLE method still useful, or is a a relic from old times?
07:03 flh I only found it in the Float PMC, and it's not called by any operator
07:04 quek joined #parrot
07:05 cotto (9,922,424,896-9,579,497,782)/9,922,424,896
07:05 cotto (9922424896-9579497782)/9922424896
07:05 purl 0.0345608172996344
07:05 cotto sounds about right
07:07 cotto chromatic, is this patch (plus makefile template fixes) worthwhile for a ~3% faster profiler?
07:08 nopaste "cotto" at 74.61.2.46 pasted "break encapsulation a little for ~3% faster profiler" (104 lines) at http://nopaste.snit.ch/17939
07:13 fperrad joined #parrot
07:32 cotto time for sleeps.  I'll check the backscroll in the morning.
08:03 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:12 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 chromatic Different output how, kyle_l5l?
08:18 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:20 chromatic If you get segfaults without -G, that's a garbage collection problem.
08:30 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:31 chromatic If it's a STRING or a PMC, yes.
08:52 sundar joined #parrot
09:00 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)
09:05 mikehh partcl r729 builds on parrot r41223 - make test PASS - Ubuntu 9.04 i386 (gcc)
09:08 chromatic shockwave, you can return as many items as you like.
09:29 JimmyZ joined #parrot
09:36 mikehh rakudo (3b63817) builds on parrot r41223 - make test PASS / make spectest (up to 28221) FAIL - Ubuntu 9,04 i386 (gcc)
09:36 mikehh 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.
09:36 mikehh rakudo - ./perl6 t/spec/S12-introspection/walk.rakudo - fails with (after ok 8): set_pmc() not implemented in class 'Failure'
09:36 mikehh rakudo - t/spec/S03-operators/arith.rakudo - TODO passed:   131
09:36 mikehh 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 #parrot
10:16 JimmyZ joined #parrot
10:23 Whiteknight joined #parrot
10:27 quek joined #parrot
10:30 Whiteknight good morning #parot
10:30 quek left #parrot
10:30 Whiteknight or #parrot
10:33 JimmyZ good morning, Whiteknight.
10:35 Whiteknight how are you doing JimmyZ?
10:39 JimmyZ fine, thanks ;)
10:46 flh I was wondering: is the instantiate vtable method useful at all in places other than PMCProxy and Class?
10:47 flh the Boolean PMC for example implements it, but it never gets called (because a new ['Boolean'] in PIR is actually caught by pmcproxy)
10:52 Whiteknight flh: that I am aware, it really isn't useful anywhere
10:52 Whiteknight anywhere else*
10:53 flh so an easy way to improve test coverage of the Boolean PMC would be: remove the instantiate method
10:54 flh shall I create a ticket for that?
10:57 dalek parrot: r41224 | chromatic++ | trunk/src (4 files):
10:57 dalek parrot: [PMC] Removed unnecessary custom_destroy flag setting on PMCs that don't have
10:57 dalek parrot: their own destroy VTABLE entries anymore.
10:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41224/
10:57 dalek parrot: r41225 | chromatic++ | trunk/compilers/imcc (2 files):
10:57 dalek parrot: [IMCC] Improved IMCC line number tracking.  This is an ugly fix, as it papers
10:57 dalek parrot: around the unfortunate fact that IMCC only increases the line number as it
10:57 dalek parrot: detects the end of a line.  This would be fine, except that IMCC emits
10:57 dalek parrot: instructions *before* it reaches the end of a line in certain circumstances,
10:57 dalek parrot: thus incrementing the line counter eventually, but not at the right time to get
10:57 dalek parrot: the right number for certain ops.
10:57 dalek parrot: A better fix is welcome.  pirc is very welcome.
10:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41225/
11:06 preflex joined #parrot
11:27 dalek TT #1001 created by flh++: Dead code in Boolean instantiate
11:29 bacek joined #parrot
11:33 bacek o hai
11:48 dalek parrot: r41226 | NotFound++ | trunk/t/pmc/resizablepmcarray.t:
11:48 dalek parrot: [t] add a test for sort in a subclass of RPA, TT #218
11:48 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41226/
11:49 joeri joined #parrot
11:58 dalek parrot: r41227 | bacek++ | trunk (2 files):
11:58 dalek parrot: [cage] Remove dead Boolean.instantiate. Add Boolean.init_pmc. Patch cortesy of flh++
11:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41227/
12:01 dalek TT #1001 closed by bacek++: Dead code in Boolean instantiate
12:01 bacek Oh... Stupid typo...
12:12 NotFound Looks like r41221 fixes a segfault in a TODO test in t/pmc/threads.t , Tene++
12:24 bacek NotFound: does auto_attrs work with inherited PMCs?
12:25 NotFound bacek: explicitly set, yes. Implicitly, there can be some corner case, but in general it works.
12:25 bacek NotFound: Ok. Thanks.
12:26 * bacek going to convert Packfile* PMC to auto_attrs
12:28 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
12:28 purl 1
12:30 NotFound bacek: https://trac.parrot.org/parrot/changeset/​41039/trunk/src/pmc/exceptionhandler.pmc
12:31 NotFound 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.
12:32 NotFound I was suspecting that... this function looks very wrong and may be the cause of some problems.
12:35 bacek NotFound: just remove it. Our GC doesn't require such "help".
12:36 NotFound And even if there were some reason to do that, the pmc need destruction before putting it on free list.
12:43 JimmyZ joined #parrot
12:51 tetragon joined #parrot
12:56 dalek parrot: r41228 | bacek++ | trunk/src/pmc (9 files):
12:56 dalek parrot: [core] Migrate Packfile* PMCs to auto_attrs
12:56 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41228/
12:58 bacek next release?
12:58 purl next release is the Razor in march/april 99 or when everything will be fixed
12:58 bacek next parrot release?
12:58 bacek useless girl...
13:03 dalek TT #656 closed by bacek++: Optimization in src/pmc/RetContinuation.pmc:invoke causes segfault
13:05 bacek Looks like all "set_foo_same" VTABLEs can be removed now.
13:10 Whiteknight what are set_foo_same?
13:10 NotFound Whiteknight: Have you seen my last question to bacek?
13:11 bacek set_number_same/set_string_same/set_integer_same
13:13 Whiteknight i dont think I've ever seen one of those
13:14 rdice joined #parrot
13:15 bacek And you'll never see them.
13:17 dalek parrot: r41229 | bacek++ | trunk/src (4 files):
13:17 dalek parrot: [cage] Remove set_string_same/set_number_same/set_integer_same VTABLEs.
13:17 dalek parrot: Part of TT#866
13:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41229/
13:17 * bacek laughing evilly removing code from parrot
13:19 kid51 joined #parrot
13:19 flh bacek++ # set_*_same were really annoying
13:20 bacek flh: what about patch for removing other "instantiate" functions? :)
13:21 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 :)
13:22 bacek Removing instantiate will improve test-coverage as well :)
13:23 NotFound Yeah, deleting code is wonderfull: less code to debug, less code to cover...
13:25 NotFound 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:26 * bacek actually prefer 0 lines of code :)
13:28 NotFound And then go to nirvana
13:29 fperrad joined #parrot
13:31 bacek I'm not sure about exact sequence...
13:31 NotFound Maybe is paralelizable
13:41 dalek parrot: r41230 | bacek++ | trunk (5 files):
13:41 dalek parrot: [cage] Remove more dead VTABLE_instantiate functions. Add Integer.init_pmc
13:41 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41230/
13:41 dalek parrot: r41231 | bacek++ | trunk/src/call/context.c:
13:41 dalek parrot: [cage] Remove useless CTX_LEAK_DEBUG_FULL macro. Contexts are GCable now.
13:41 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41231/
13:44 dalek parrot: r41232 | NotFound++ | trunk/src/pmc/exceptionhandler.pmc:
13:44 dalek parrot: [pmc] remove unuseful and wrong ExceptionHandler destroy
13:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41232/
13:44 MoC joined #parrot
13:50 bacek Anyone with real svn checkout around?
13:50 Whiteknight here
13:52 bacek Whiteknight: can you kill "context_attrs" and "tt971_current_context_functions" branches? They are useless.
13:53 Whiteknight done
13:53 * Whiteknight has to go now
13:54 dalek parrot: r41233 | whiteknight++ | branches/context_attrs:
13:54 dalek parrot: [context_attrs] deleting this branch for bacek++
13:54 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41233/
13:54 dalek parrot: r41234 | whiteknight++ | branches/tt971_current_context_functions:
13:54 dalek parrot: [tt971_current_context_functions] deleting this branch for bacek++
13:54 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41234/
14:04 dalek parrot: r41235 | NotFound++ | trunk/src/pmc/unmanagedstruct.pmc:
14:04 dalek parrot: [cage] c++ fix
14:04 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41235/
14:17 * bacek finally understood his stupidity and under-estimation of "Emit PBC from POST"...
14:17 theory joined #parrot
14:34 jdv79 and skip imcc?
14:36 bacek jdv79: yeah...
14:37 bacek anyway, bed time
14:37 * bacek wave from future and departing to bed
14:47 Psyche^ joined #parrot
15:00 ash_ joined #parrot
15:09 ash_ does parrot currently build with the llvm-gcc?
15:09 ash_ or clang? just curious
15:19 JimmyZ joined #parrot
15:24 Coke ash_: someone on list just said they ran it through clang for the debug output, as I recall.
15:25 dalek partcl: r730 | coke++ | wiki/SpecTestStatus.wiki:
15:25 dalek partcl: error fails, probably due to recent opcode changes.
15:25 ash_ it just built fine for me with llvm-gcc
15:25 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=730
15:25 Coke folks are investigating using llvm-gcc on the way towards potentially using them as a plugin jit.
15:25 Coke ash_++
15:25 Coke a PLATFORMS update patch would be appreciated.
15:25 ash_ i am doing make test, but you don't have to compile with llvm-gcc to link to the llvm runtime
15:26 ash_ i simply did perl Configure.pl --cc=llvm-gcc-4.2 (its installed by default on OS X 10.6)
15:27 Austin joined #parrot
15:27 Austin hello, #parrot.
15:29 ash_ hmmm, all tests passed when i complied with llvm-gcc-4.2
15:36 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 #parrot
15:37 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:41 Coke msg jimmyz "eval bot doesn't work here. try #perl6 on freenode"
15:41 purl Message for jimmyz stored.
15:45 * Coke was all excited that chromatic fixed a line number error in imcc, but it wasn't RT#40204
15:46 dalek partcl: r731 | coke++ | trunk/ (3 files):
15:46 dalek partcl: spec test run
15:46 dalek partcl: avoid 3 segfaults, lose one due to partcl changes.
15:46 dalek partcl: Note speedup. (part of that from the recent [puts] change)
15:46 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=731
15:54 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 #parrot
16:08 ash_ weird, parrot works fine with llvm-gcc, but i just recompiled perl6 and its dying on me
16:13 mberends joined #parrot
16:21 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 PacoLinux joined #parrot
16:23 mokurai joined #parrot
16:27 dukeleto good localtime()
16:29 Coke when you say include, do you mean a C-style "#include" ?
16:33 flh joined #parrot
16:34 JimmyZ joined #parrot
16:34 allison joined #parrot
16:44 ash_ yeah coke, its stripping one of my includes for some reason
16:44 ash_ #include "parrot/vtable.h" keeps getting stripped out
16:44 dalek parrot: r41236 | NotFound++ | trunk/src/pmc/nci.pmc:
16:44 dalek parrot: [pmc] NCI.mark failed to mark some attributes
16:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41236/
16:46 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’
16:47 ash_ which is defined in #include "parrot/vtable.h"
16:47 NotFound ash_: that vtable frunction has been removed
16:48 ash_ hmmm somethings wrong then, i'll do a fresh clean up
16:48 ash_ fresh git pull then
16:49 dukeleto ash_: make realclean
16:49 purl hmmm... make realclean is sometimes need in parrot to work against missing dependencies
16:50 ash_ alright, i try that
16:56 ash_ oops, i forgot to do make install-dev in parrot, now rakudo is building
16:58 NotFound ash_++
16:58 dalek parrot: r41237 | NotFound++ | trunk/examples/nci (2 files):
16:58 dalek parrot: [examples] try harder to locate mysql library and add show more info during test
16:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41237/
17:00 ash_ parrot and rakudo built with llvm-gcc seem to be passing their tests
17:01 NotFound Our portability is not so bad.
17:01 ash_ clang didnt work just so you know NotFound
17:02 NotFound ash_: last time I heard about, it had some problems with #line directives and the like
17:03 NotFound You can try with the --no-line-directives Configure option
17:05 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
17:06 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:07 ash_ nope, with --no-line-directives didn't change it, Symbol Linfo_begin43 already defined is the error
17:08 NotFound Weird
17:09 NotFound ash_: What configure options are you using?
17:09 ash_ perl Configure.pl --cc=/Developer/usr/bin/clang --no-line-directives
17:10 NotFound You may need to also use --ld and --link options
17:10 ash_ oh, okay
17:15 ash_ 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:17 fperrad_ joined #parrot
17:18 NotFound ash_: looks good, but I don't know how clang handle command line parameters
17:19 ash_ it still failed in the same spot, i am not that sure about clang either to be honest
17:19 Whiteknight joined #parrot
17:20 NotFound Maybe some clang include lacks appropiate include guards, or maybe a conflicting macro name...
17:22 ash_ i don't know enough to really know where to being for this
17:22 ash_ just thought i'd try it and let you guys know what happened
17:27 mikehh joined #parrot
17:29 Whiteknight NotFound: what's the incantation you use to build with clang?
17:29 Whiteknight I just tried it and the build failed. I'm sure I'm missing a step
17:31 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 ash_ but it failed for me
17:32 Whiteknight ah, I was forgetting --ld and --link
17:32 ash_ well, it still failed for me, just so you know
17:32 ash_ are you on OSX?
17:32 ash_ llvm-gcc worked fine though
17:33 Whiteknight no, I'm on Ubuntu
17:34 mikehh when I build with g++ I use perl Configure.pl --optimize --test --cc=g++ --cxx=g++ --link=g++ --ld=g++ --configure_trace
17:35 ash_ what does --configure_trace do?
17:35 mikehh you can ignore the --configure_trace
17:36 ash_ does parrot require a c++ compiler?
17:36 mikehh it just enables more tests and store some configure build information
17:37 mikehh 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
17:37 Whiteknight ash_: no, C89 or better
17:38 NotFound I think that building with gdbm requires a C++ compiler
17:39 mtk joined #parrot
17:39 NotFound Whiteknight: Guards for what?
17:40 Whiteknight #ifndef inclusion guards
17:42 NotFound Whiteknight: Is that the problem with clang?
17:43 Whiteknight I don't know what the problem with clang is
17:45 NotFound Whiteknight: So what's the weirdness with gmp.h?
17:47 Whiteknight no idea
17:49 dalek parrot: r41238 | allison++ | branches/pcc_arg_unify/t/pmc/capture.t:
17:49 dalek parrot: [pcc] Pop the exception handler when the anticipated exception has been
17:49 dalek parrot: handled to avoid infinite exception handler loop.
17:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41238/
18:09 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41237 - Ubuntu 9.04 amd64 (g++)
18:10 mikehh partcl r731 builds on parrot r41237 - make test PASS - Ubuntu 9.04 amd64 (g++)
18:15 mikehh rakudo (3b63817) builds on parrot r41237 - make test PASS / make spectest (up to 28221) FAIL - Ubuntu 9,04 amd64 (g++)
18:15 mikehh 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.
18:15 mikehh rakudo - ./perl6 t/spec/S12-introspection/walk.rakudo - fails with (after ok 8): set_pmc() not implemented in class 'Failure'
18:15 mikehh rakudo - t/spec/S03-operators/arith.rakudo - TODO passed:   120, 131-132
18:16 payload joined #parrot
18:21 dalek rakudo: 0f1edeb | (Solomon Foster)++ | src/setting/ (3 files):
18:21 dalek rakudo: 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 dalek rakudo: I'm not sure why Any.sec fails, but this patch keeps the spectests happy until we can figure out a better approach.
18:21 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​f1edeb0959e62338bed60e9e87b5bed65488cc7
18:21 dalek rakudo: 3a48086 | (Solomon Foster)++ | src/setting/Any-num.pm:
18:21 dalek rakudo: Implement Any versions of the basic forward trig functions.
18:21 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​a480865f6df73ec9e17edd52773aff9fbf0e059
18:21 dalek rakudo: 186cf24 | (Solomon Foster)++ | src/setting/Num.pm:
18:21 dalek rakudo: Add Num.Num method which simply returns self.
18:21 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​86cf24ba3a32d0e9f75eceb89ce76a1a2b945b4
18:50 chromatic joined #parrot
18:54 dalek parrot: r41239 | NotFound++ | trunk (2 files):
18:54 dalek parrot: [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 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41239/
19:08 mikehh bah make cover blows up if env var TEST_JOBS=5 is set
19:11 rhr joined #parrot
19:35 KatrinaTheLamia joined #parrot
19:53 jhelwig joined #parrot
20:26 dalek parrot: r41240 | chromatic++ | trunk/src/call/pcc.c:
20:26 dalek parrot: [PCC] Tidied code; no functional changes.
20:26 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41240/
20:26 dalek parrot: r41241 | chromatic++ | trunk/config/gen/makefiles/root.in:
20:26 dalek parrot: [config] Added dependencies on src/install_config.o for all installable
20:26 dalek parrot: binaries.
20:26 purl binaries is binaries, and the link format didn't seem to have an issue.
20:26 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41241/
20:36 rdice joined #parrot
20:43 Coke dukeleto: if there are necessary flags for valgrind, add them to tools/*/vgp
20:50 davidfetter joined #parrot
20:52 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:53 markmont joined #parrot
20:53 dukeleto coke: also the num-callers argument is invalid for my valgrind, which is the latest release, 3.5.0
20:54 dukeleto ==9209== '--num-callers' argument must be between 1 and 50
20:54 dukeleto valgrind: Bad option '--num-callers=500'; aborting.
20:56 ash_ anyone know if there has been any headway on https://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?
20:57 dukeleto ash_: whiteknight would probably know
21:00 ash_ okay if i see him on ill ask him
21:04 dukeleto msg whiteknight what is the status of  https://trac.parrot.org/parrot/ticket/757 ? ash_ was asking
21:04 purl Message for whiteknight stored.
21:05 ash_ I know Tene was working on trying to get rakudo to thread and thats why i ask
21:06 ash_ I was reading in the parrot docs PDD25 that it describes 'tasks' and a 'scheduler'
21:06 ash_ but Tene was just using ParrotThread for his stuff
21:06 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 https://trac.parrot.org/parrot/ticket/992
21:07 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
21:07 ash_ the JIT system is going to be deprecaed, use --optimized instead
21:07 ash_ s/deprecaed/deprecated
21:08 markmont OK, thanks!
21:08 dukeleto markmont: yes, or the fast runcore with --runcore=fast
21:09 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
21:09 dukeleto chromatic: gotcha, should I use the vgp script ?
21:09 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41241 - Ubuntu 9.04 amd64
21:10 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.
21:10 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.
21:10 chromatic I don't think Valgrind will help there; it's a gdb thing.
21:11 dukeleto markmont: that sounds like a bug in Configure.pl, so I would make a ticket
21:12 markmont Will do, then.  Thanks.
21:12 dukeleto chromatic: ok, understood. due you have sufficient info there to debug the issue?
21:12 chromatic I think so.
21:14 mikehh partcl r731 builds on parrot r41241 - make test PASS - Ubuntu 9.04 amd64
21:17 chromatic dukeleto, were you adding that as a test to a file somewhere?
21:18 dukeleto chromatic: i was attempting to translate t/pmc/parrotobject.t
21:18 chromatic Okay, excellent.
21:19 dukeleto chromatic: last three commits here: http://github.com/leto/parrot/commits/parrotobj
21:20 chromatic If you can confirm that r41242 fixes it, feel free to close the ticket and add your tests.
21:23 dalek parrot: r41242 | chromatic++ | trunk/compilers/imcc/parser_util.c:
21:23 dalek parrot: [IMCC] Avoided a memory corruption error when switching namespaces to the
21:23 dalek parrot: *current* namespace in PIR: IMCC assumed that freeing the old SymReg was always
21:23 dalek parrot: valid.  This isn't the case if it's the *same* namespace and the *same* SymReg.
21:23 dalek parrot: See TT #992, filed by Jonathan Leto.
21:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41242/
21:23 dalek parrot: r41243 | dukeleto++ | trunk/tools/dev/vgp_darwin:
21:23 dalek parrot: [toos] Add a valgrind script for darwin
21:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41243/
21:27 mikehh rakudo (0f1edeb) builds on parrot r41241 - make test PASS / make spectest (up to 28222) FAIL - Ubuntu 9.04 amd64
21:27 mikehh rakudo - t/spec/S12-introspection/walk.rakudo FAILS and t/spec/S03-operators/arith.rakudo - TODO passed:   120, 131-132
21:27 Andy joined #parrot
21:29 bacek joined #parrot
21:30 mikehh Andy: I got a falal error running make cagecritic
21:31 Andy OK
21:31 Andy I don't know what that is.
21:31 mikehh sorry probably wrong Andy then
21:31 Andy no, I can probably help
21:31 chromatic It's the biggest event in the Ultimate Formatting League regular season.
21:32 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/Cr​itic/Policy/Bangs/ProhibitRefProtoOrProto.pm line 25
21:33 Andy so that's a problem with Perl Critic then
21:33 mikehh - Perl::Critic::Bangs I think
21:36 mikehh just thought you might know something about it - checkibg further
21:36 mikehh checking
21:49 dalek TT #1002 created by markmont++: Building PGE dies with segfault when JIT enabled under Fedora 11
22:01 chromatic Hm, that backtrace in TT #1002 looks like the same problem we've been chasing in Rakudo for a few days.
22:04 markmont Similar to #992, yes.
22:05 chromatic #992 or #997 and #989?
22:08 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:11 chromatic I just solved #992, so it's not likely that one.
22:12 chromatic #992 is a specific case of the fact that IMCC isn't reentrant.
22:12 chromatic The other bugs look like something's calling into the compiler long after the program should have ended.
22:14 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:15 nathanmccauley joined #parrot
22:18 nathanmccauley i'd like to get involved with helping with parrot -- who should I talk to?
22:19 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 chromatic nathanmccauley, anyone here should be able to help.  Do you have a particular skill or interest or question?
22:22 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.
22:22 chromatic We'll start on the new JIT plan after next Tuesday's release.
22:23 MoC joined #parrot
22:23 darbelo joined #parrot
22:25 darbelo markmont: ping
22:26 nathanmccauley Is there a page where I can view parrot's plan and goals?
22:26 markmont darbelo: here
22:27 bacek nathanmccauley: trac.parrot.org
22:27 bacek Good morning
22:27 purl And good moroning to you, bacek.
22:27 darbelo Can you nopaste the output of Configure.pl ?
22:27 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.
22:28 darbelo purl: nopaste?
22:28 purl i heard nopaste was at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others) or http://gist.github.com/ or paste or gtfo or tools/dev/nopaste.pl
22:28 mokurai joined #parrot
22:29 bacek nathanmccauley: You can check "Newbie ticket" and "Cage cleanup ticket" on trac. They are probably easiest way to understand parrot codebase.
22:30 darbelo markmont: Or, even better, see if it looks like http://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
22:31 bacek chromatic: any luck with my nopasted Parrot_alloc_context/alloc_context split?
22:31 markmont darbelo: http://www-personal.umich.edu/~markm​ont/parrot.log.Configure.r41241.txt
22:32 markmont darbelo: Yes, exactly the same.
22:33 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.
22:34 markmont darbelo: There were no unexpected SELinux audit events, but let me disable SELinux and try again.
22:35 markmont darbelo: Configure.pl output looks much better with SELlnux disabled.
22:37 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 darbelo It gets failure: Permission denied
22:38 markmont darbelo: ...and the build succeeds.
22:38 darbelo but still marks your platform as JIT capable. Much segfaulting results.
22:41 markmont darbelo: Thanks.  I've updated https://trac.parrot.org/parrot/ticket/1002 with what you said.
22:43 markmont 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 rg joined #parrot
22:46 darbelo markmont: The next release will still have JIT enabled, so a smarter Configure probe would probably be beneficial, yes.
22:48 markmont darbelo: OK, thanks, I'll see what I can come up with assuming nobody beats me to it.
22:50 chromatic I'm starting to wonder if PGE is missing a pop_eh.
23:09 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.
23:12 * bacek wander why ExceptionHandlers aren't attached to Contexts to prevent "pop_eh" shenanigans...
23:19 jhelwig joined #parrot
23:39 quek joined #parrot
23:45 nopaste "NotFound" at 213.96.228.50 pasted "Patch: throw when failed to allocate executable memory" (38 lines) at http://nopaste.snit.ch/17942
23:45 rdice joined #parrot
23:46 NotFound I think this patch may help users while jit is not removed. Some opinion?
23:48 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:54 dukeleto joined #parrot
23:59 fperrad left #parrot

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

Parrot | source cross referenced