Camelia, the Perl 6 bug

IRC log for #parrot, 2009-08-31

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:05 Coke woot.
00:06 Coke That bug has been open for, what, a year? NotFound++ # again
00:07 Coke s/instead a loop/inside a loop/ - I swear, I need to not let my fingers do autocomplete without double checking.
00:08 ZeroForce1 joined #parrot
00:08 mikehh rakudo (0712c33) builds on parrot r40884, make test PASS / make spectest (up to r28126) PASS - Ubuntu 9.04 amd64 (g++)
00:09 mikehh Coke: gonna run make spectest now
00:10 mikehh cardinal builds on parrot r40884 - make test - 3 FAILures due to - get_pmc_keyed() not implemented in class 'String' - Ubuntu 9.04 amd64 (g++)
00:14 mikehh decnum_dynpmcs r181 builds on parrot r40884 - make test PASS - Ubuntu 9.04 amd64 (g++)
00:16 Tene joined #parrot
00:21 bacek_at_work mikehh: thanks for nopaste
00:45 TiMBuS joined #parrot
00:50 jrtayloriv I realize that this is probably full of bad practice, errors, etc, but can someone take a look at this -- http://nopaste.snit.ch/17754 -- and tell me why the PARROT_CONTINUATION and GET_ATTR/SET_ATTR macros, and the Parrot_Continuation_attributes struct are not getting added into the auto-generated file pmc_continuation.h during the build process?
00:53 jrtayloriv bah -- nm, I left out the ATTR tag in front of the attributes :)
01:07 mikehh partcl make spectest - still 3 failures with - !! child died with signal 11, without coredump - mathop, subst and while-old
01:10 Coke mikehh: yah; the tests are pretty much randomly segfaulting at this point.
01:14 whoppix_ joined #parrot
01:41 mokurai joined #parrot
01:44 mokurai joined #parrot
02:06 bacek_at_work jrtayloriv: and drop "struct". Pmc2c likely to unlike it.
02:08 Andy joined #parrot
02:10 cotto joined #parrot
02:12 cotto hi
02:12 purl hey, cotto.
02:13 Coke oh, btw, NotFound++
02:29 kid51 joined #parrot
02:29 cotto chromatic++
02:32 cotto It's nice to get that nasty hack out of there.
02:34 dalek parrot: r40885 | cotto++ | branches/pluggable_runcore/src/runcore/cores.c:
02:34 dalek parrot: [profiling] put profile_filename in the root set so it won't get collected until the interp exits.
02:34 dalek parrot: The cast from STRING* to PMC* is ugly, but gc_register_pmc works for any PObj.
02:34 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40885/
02:38 kid51 Does anyone know if someone is working on getting our svn.parrot.org certification renewed?
02:41 janus joined #parrot
02:43 dukeleto kid51: there is a ticket for it, i don't know if there has been any other movement towards that goal
02:43 kid51 duk3leto:  which ticket?
02:43 purl rumour has it which ticket is this now
02:43 kid51 938?
02:44 kid51 I tacked a report of our cert's expiration onto that ticket -- but that ticket was originally aimed at getting a different type of cert (if I understand it correctly).
02:44 kid51 We should get our *current* cert renewed pronto.
02:52 mikehh kid51: the site was down for a bit and jhorowitz apparently sorted this out with the site admins - possibly an annual renewal? - the cert seems to indicate that
02:55 mikehh jhoprwitz
02:55 mikehh arrghh: my keyboard is messing around again
02:56 mikehh jhorwitz
02:56 purl i heard jhorwitz was "mod_parrot-guy" or mailto:jeff@smashing.org
02:57 kid51 mikehh:  I suspect this is a different issue from the site itself, which is hosted by Oregon State U.  The cert was issued by a South African firm, which leads me to believe Allison obtained it originally.
02:59 mikehh kid51: that was the firm that Mark Shuttleworth sold to Verisign
03:01 mikehh I've had dealings with them before
03:01 mikehh or should I say I have dealt with them before
03:04 allison Thawte is *the* major supplier of security certificates.
03:04 allison but, jerry handled the original purchase, so waiting for him to renew
03:06 mikehh well he is de Foundation money man
03:07 mikehh I really need to get some sleep - bbl
03:12 Andy joined #parrot
03:13 * kid51 must sleep
03:13 purl $kid51->sleep(8 * 3600);
03:14 Coke random : Created commit 81dead7: use more hllmacros
04:14 mokurai joined #parrot
04:36 jrtayloriv Would I need to call Parrot_gc_mark_PObj_alive on a PackFile_ByteCode struct ATTR?
04:36 jrtayloriv (in the mark VTABLE func, that is)
04:40 dukeleto what is the preferred method for detecting whether load_bytecode succeeded?
04:40 bacek_at_work jrtayloriv: yes. It will not harm at least.
04:41 jrtayloriv bacek_at_work, thanks
04:44 fedorov joined #parrot
04:48 jrtayloriv bacek_at_work, And the proper way to clear it would be with PObj_live_CLEAR(seg) correct?
04:49 jrtayloriv s/clear it/free it/
04:49 jrtayloriv (in destroy())
04:50 bacek_at_work jrtayloriv: just do nothing
04:51 bacek_at_work It's safer to do nothing in this case. Pointer can be shared by someone else.
05:15 Zak joined #parrot
05:24 jrtayloriv bacek_at_work, since the Exception PMC extends Continuation PMC, and has no extra ATTRs that need to be marked, can I just remove the PObj_active_destroy_SET(SELF) and PObj_custom_mark_destroy_SETALL(SELF) from Exception's init() and leave out it's mark() and destroy() VTABLE functions?
05:24 jrtayloriv i.e. If I don't specify a mark() or destroy(), will it just use the ones for the Continuation PMC?
05:28 bacek_at_work jrtayloriv: other way round. Remove "destroy". Call SUPER() from "init". iirc
05:51 jimmy joined #parrot
05:56 mokurai joined #parrot
05:58 dalek rakudo: 9a37314 | pmichaud++ | docs/spectest-progress.csv:
05:58 dalek rakudo: spectest-progress.csv update: 433 files, 12465 (72.9% of 17100) pass, 0 fail
05:58 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​a37314d0186217770ee895e780390c2b4616e20
06:02 kyle_l5l joined #parrot
06:13 * jrtayloriv is heading out for a bit ... big time sleepy time
06:16 chromatic joined #parrot
06:23 uniejo joined #parrot
06:27 bacek_at_work yay! http://www.youtube.com/watch?v=vymCfnxcEy0
06:27 bacek_at_work :)
06:36 dalek parrot: r40886 | dukeleto++ | trunk/tools/dev/parrot_shell.pl:
06:36 dalek parrot: [tools] Add timing information to parrot_shell.pl
06:36 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40886/
06:40 mokurai left #parrot
07:01 iblechbot joined #parrot
07:07 dalek rakudo: d2cc61c | moritz++ | tools/progress-graph.pl:
07:07 dalek rakudo: [tools] avoid overlapping labels in progress graph
07:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​2cc61cf7acc4515a5440cb889c12af07a331b80
07:19 szabgab joined #parrot
07:28 HG` joined #parrot
07:39 dalek parrot: r40887 | tene++ | trunk/compilers/nqp/src/builtins.pir:
07:39 dalek parrot: [nqp] Initial implementation of eval.
07:39 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40887/
07:49 japhb Just updating for the first time in a week -- is the cert expire for svn.parrot.org already being addressed?
07:59 Tene Coke says there's a ticket.
08:00 Tene That's all I know. >.>
08:22 payload joined #parrot
08:28 mikehh gonna switch to i386 - needs re-boot - bbl
08:29 cognominal what is necessary beyond a .loadib to make a pmc class visible?
08:32 mikehh joined #parrot
08:32 chromatic That should do it.
08:34 Tene cognominal: make sure to check the .HLL of the code running loadlib.
08:34 Tene Yay, segfaults based on the HLL used.
08:36 cognominal why does the .loadlib fails silently anyway?
08:36 Tene no idea.
08:37 Tene The easy-to-reproduce segfault fails in:
08:37 Tene 0x00007ffff7b8c339 in Parrot_pmc_destroy (interp=0x608080, pmc=0x6a6ff0) at src/pmc.c:120
08:37 Tene 120    if (pmc->vtable->attr_size) {
08:37 Tene I wonder if it's related to that pmc attr stuff that happened recently.
08:38 chromatic What's invalid, pmc->vtable?
08:38 nopaste "cognominal" at 82.67.232.89 pasted "when running perl5.pir, type some code at the prompt, it fails to find the P5Interpreter" (131 lines) at http://nopaste.snit.ch/17756
08:38 Tene Yes, it's 0x0
08:39 cognominal Tene, that's a patch for blizkost, can you tell me what is wrong?
08:40 cognominal the only relevant changes are in perl5.pir
08:41 cognominal arf, I did not do the correct git invocation apparently
08:41 cognominal it lists only the new files
08:42 Tene what lists only what files when doing what?
08:48 nopaste "cognominal" at 82.67.232.89 pasted "the only necessary change to blizkost to go up to that error : Class 'P5Interpreter' not found" (13 lines) at http://nopaste.snit.ch/17757
08:52 bacek joined #parrot
08:52 bacek o hai
08:54 Tene chromatic: any idea what a null vtable means?  I'm seeing it elsewhere too when dealing with Mysql.pir.
08:54 chromatic It's not a PMC, that's my guess.
08:57 chromatic A backtrace may be informative.
08:57 nopaste "tene" at 24.10.252.130 pasted "bt for chromatic++" (11 lines) at http://nopaste.snit.ch/17758
08:59 chromatic No pmc_class for that type.  Interesting.
08:59 chromatic I don't remember what pmc_class represents in this respect though.
08:59 chromatic My guess is that this is a segfault only after pmichaud's "less STRING isa" patch.
09:01 Tene That's a pretty good guess.  I may have to harass him tomorrow.
09:02 chromatic My next guess is that we ought to propagate PMCProxy caches through namespaces.
09:02 chromatic ... or at least look them up more aggressively.
09:03 Tene I really need to learn all this pmcproxy stuff if I'm going to keep ending up in parrot guts.
09:04 chromatic You could document it.  You might get a cookie.
09:05 cotto joined #parrot
09:05 uniejo joined #parrot
09:11 cotto hi
09:12 bacek hi cotto
09:12 Tene Hmm.  Cookies.
09:13 Tene I've already had enough cookies lately.
09:13 dalek rakudo: 17bcd58 | moritz++ | :
09:13 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
09:13 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​7bcd58e3f7938afd685be3f565399f2c0f846f7
09:13 dalek rakudo: a378770 | moritz++ | src/setting/ (2 files):
09:13 dalek rakudo: implement infix:<div>(Int, Int)
09:13 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​378770d5ba2ff8171c29189102341de89db1e51
09:34 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40887, Ubuntu 9.04 i386 (g++)
09:44 dalek parrot: r40888 | bacek++ | branches/context_pmc3/src/gc/alloc_register.c:
09:44 dalek parrot: [cage] Fix functions docs.
09:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40888/
09:47 dalek parrot: r40889 | bacek++ | branches/context_pmc3/src/pmc/sub.pmc:
09:47 dalek parrot: [cage] Make codetest happy.
09:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40889/
09:47 dalek parrot: r40890 | bacek++ | branches/context_pmc3/lib/Parrot/OpTrans/CGoto.pm:
09:47 dalek parrot: Fix CGoto core creation.
09:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40890/
09:52 mikehh rakudo (a378770) builds on parrot r40887, make test / make spectest (up to r28126) PASS - Ubuntu 9.04 i386 (g++)
09:56 mikehh partcl r650 builds on parrot r40887, make test - 1 failure - t/cmd_set.t - All subtests PASS - Ubuntu 9.04 i386 (g++)
10:05 mikehh cardinal builds on parrot r40887, make test 3 complete failures: gen_08-class.pir, gen_alias.pir, gen_freeze.pir - all fail with -get_pmc_keyed() not implemented in class 'String' - Ubuntu 9.04 i386 (g++)
10:09 mikehh decnum_dynpmcs r181 builds on parrot r40887, make test PASS - Ubuntu 9.04 i386 (g++)
10:12 mikehh lua still fails to build
10:13 mikehh lua - first error - ./luanumber.pmc: In function ‘PMC* Parrot_LuaNumber_multi_add_Lu​aString_PMC(parrot_interp_t*, PMC*, PMC*, PMC*)’: ./luanumber.pmc:310: error: uninitialised const ‘n’
10:17 mikehh lua repeated for :310, 352, 396, 439, 482, 522, 565, 606, 650, 692, 735, 776
10:18 mikehh lua - make[1]: *** [compile] Error 1, - make[1]: Leaving directory `/home/mhu/lua/src/pmc' - make: *** [src/pmc/lua_group.so] Error 2
10:20 mikehh these results are pretty much the same as I get on Ubuntu 9.04 amd64 except partcl PASSed with no failures, however Coke says we are still getting random segfaults
10:21 bacek mikehh: (when you'll be on amd64) I have patch for Rakudo to build on context_pmc3 branch
10:22 mikehh bacek: heading back there now - got to reboot - bbiab
10:23 bacek mikehh: ok
10:26 donaldh joined #parrot
10:34 mikehh joined #parrot
10:34 sri joined #parrot
10:35 mikehh ok back on amd64
10:36 nopaste "bacek" at 114.73.30.163 pasted "Rakudo patch for mikehh++" (78 lines) at http://nopaste.snit.ch/17759
10:42 masak joined #parrot
10:46 bacek_ joined #parrot
10:48 bacek_ msg Whiteknight jit failure is last one which blocking me...
10:48 purl Message for whiteknight stored.
10:50 bacek mikehh: ping
10:58 dalek parrot: r40891 | NotFound++ | trunk/src/pmc.c:
10:58 dalek parrot: [core] clear live flag in Parrot_pmc_destroy
10:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40891/
11:06 mikehh bacek: pong
11:07 bacek mikehh: any luck with rakudo?
11:09 mikehh bacek: haven't got 'round to that yet - built latest, make test PASS, still lots of codetest failures, about to try rakudo now
11:09 bacek codetest should fail. and jit too...
11:11 mikehh oops - forgot to install
11:11 mikehh well don't have jit on amd64
11:12 bacek Ah, ok.
11:18 TiMBuS couldnt a lot of the amd64 jit just be copied over from the i386?
11:19 dalek parrot: r40892 | bacek++ | branches/context_pmc3/t/pmc/context.t:
11:19 dalek parrot: [t] Add stub test for Context PMC.
11:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40892/
11:19 NotFound TiMBuS: we already have enough bugs
11:20 bacek TiMBuS: there is Lorito around the corner.
11:20 moritz around which corner?
11:21 donaldh joined #parrot
11:22 bacek moritz: there is number of corners :)
11:24 nopaste "bacek" at 114.73.51.83 pasted "Patch for lua for mikehh++" (39 lines) at http://nopaste.snit.ch/17760
11:27 magnachef joined #parrot
11:31 bacek NotFound: any knowledge about jit?
11:32 bacek s/^/Do you have/
11:34 szabgab joined #parrot
11:37 mikehh bacek: rakudo looks good - make test PASS - running make spectest
11:38 bacek mikehh++ # Yay!
11:39 NotFound bacek: more than I've wanted, but even that is too few
11:39 bacek NotFound: *sigh* I need someone to fix last failure in context_pmc3...
11:40 NotFound bacek: Configure.pl --jitcapable=0 will fix it ;)
11:42 bacek NotFound: Guillotine to cure headaches ftw!!! :)
11:42 NotFound Allons enfants!
11:43 moritz le jour de gloir est arivée
11:43 * bacek is enfant de terrible :)
11:51 mikehh bacek: make spectest PASS on rakudo with context_pmc3 branch
11:51 daxim joined #parrot
11:51 bacek mikehh: Hooray! Thanks a lot!
11:51 daxim the parrot.org certificate expired.  who's the webmaster?
11:52 mikehh trying lua now
11:52 Coke mikehh: I have also been noticing failures in 'make test' - when I run the test by hand it passes; assuming til proven otherwise it's related to the segfault ticket I just opened.
11:52 Coke We're on it.
11:53 Topic for #parrotis now http://www.parrot.org | BoD purchasing a new cert. Thank you for your patience.
11:57 mikehh bacek: nah lua still getting the same failures I get in trunk - luanumber - ./luanumber.pmc:310: error: uninitialised const ‘n’
11:58 bacek mikehh: did you try to put "= PMCNULL" on this line?
12:04 mikehh bakek, Coke partcl builds and make test PASSes on context_pmc3 branch
12:10 mikehh bacek: it's not the only line in error - another bunch as well - all have PMC * const n; as the first line in a MULTI
12:11 bacek mikehh: ah. ok.
12:12 mikehh the first error is: ./luanumber.pmc: In function ‘PMC* Parrot_LuaNumber_multi_add_Lu​aString_PMC(parrot_interp_t*, PMC*, PMC*, PMC*)’: ./luanumber.pmc:310: error: uninitialised const ‘n’
12:14 bacek it shouldn't be "const"...
12:14 mikehh and similar for lines 352, 396, 439, 482, 522, 565, 606, 650, 692, 735 & 766
12:15 mikehh ok let me take them out and see what happens
12:16 mikehh bacek: you think it should be PMC * n; rather than PMC * const n; ?
12:17 bacek mikehh: yes. Pointers are actually updated in Parrot_PCCINVOKE
12:19 whiteknight joined #parrot
12:25 mikehh bacek: it finds a whole bunch more of them in luastring.pmc
12:25 bacek mikehh: sigh...
12:27 bacek Are they same (fsvo)?
12:28 NotFound An unitialized const makes no sense.
12:29 bacek NotFound: "uninitialised pointer"
12:29 NotFound bacek: const pointer
12:30 bacek but uninitialised.
12:30 NotFound Just drop the const
12:31 bacek NotFound: that exactly what I proposed :)
12:31 NotFound What are we discusing, then? ;)
12:32 bacek Who will fix context_pmc3 failure in JIT? :)
12:33 NotFound Dr. Who?
12:33 purl Dr. is called, going in on Monday
12:35 bacek EDRNOTFOUND :)
12:35 NotFound Nice try
12:35 * purl indulges in a bit of evil laughter.
12:36 bacek EDRNOTFOUNDATALL :(
12:36 bacek :)
12:37 payload joined #parrot
12:41 iblechbot joined #parrot
12:44 jrtayloriv joined #parrot
12:46 mikehh bacek: I don't know if we have any jit experts any more :-}
12:46 mikehh mind you an ex is a has-been and a 'spurt' is a drip under pressure
12:46 bacek mikehh: oh...
12:48 mikehh all the jit discussions I have followed seem to indicate that nobody is happy with it - and it certainly does not work on amd64
12:49 mikehh it is not even enabled
12:49 bacek because it doesn't work...
12:50 mikehh because nobody has got around to getting it to work on a lot of platforms ...
12:52 mikehh what code I have looked at seems to have a lot of problems, jit that is, I am not even going to discuss gc...
12:54 bacek I was tempted at least twice to start branch to drop current gc and implement "proper" Generational GC for parrot...
12:54 mikehh :-}
12:55 bacek Especially when I spend couple of weeks fighting with "constant pmc"...
12:55 bacek spent
12:59 bacek Or plug-in Harmony's GC...
13:02 Coke I often wonder why the initial throw-away implementations were not just 3rd party libs.
13:03 Coke (except for icu)
13:03 Coke would have given us a good starting point with a known quantity to do better than or give up.
13:07 bacek NIH syndrome in action...
13:13 bacek Anyway, bed time
13:13 bacek G'Night
13:22 whiteknight mikehh: JIT doesn't work anywhere besides i386
13:22 Coke whiteknight: and not on every i386, either.
13:24 * Coke whines again about his segfaults.
13:26 ruoso joined #parrot
13:29 giri joined #parrot
13:50 MoC joined #parrot
13:56 kid51 joined #parrot
14:01 nopaste "jrtayloriv" at 67.246.150.224 pasted "Why am I getting this error?" (956 lines) at http://nopaste.snit.ch/17761
14:02 ruoso joined #parrot
14:03 jrtayloriv If anyone has a few minutes, can you help me try to figure out why I am getting the error above? I am trying to kill the Parrot_cont struct out of sub.h, and I am not experiencing any build errors up to the point of failure there.
14:05 jrtayloriv (And yes, I realize the code probably such -- I'm just exploring around to learn how things work ;) )
14:05 jrtayloriv s/such/sucks/
14:06 jrtayloriv I think the problem has to do with the way that I've done the gc mark/destroying in the PMCs -- but I could be wrong there
14:10 whiteknight src/pmc/continuation.pmc:destroy()
14:10 whiteknight you are calling mem_sys_free(cc) and you shouldn't
14:10 whiteknight delete that line
14:11 whiteknight (the GC will free that structure automatically, which is why you are getting the double-free error)
14:11 whiteknight otherwise, that's a pretty hot looking patch
14:12 mberends joined #parrot
14:12 jrtayloriv whiteknight, It actually looks good? I was just experimenting -- I thought I would have broken something for sure ... I'd be very hesistant to apply it without looking over it very carefully for stupid bugs. But thanks a bunch for finding that error for me. I was definitely having trouble grokking the gc stuff.
14:13 szabgab joined #parrot
14:14 whiteknight from what I've seen of it, the patch looks like a very straight-forward conversion, and a very good first step in a comprehensive refactor of the Continuation PMC
14:18 Psyche^ joined #parrot
14:18 jrtayloriv cool -- it's nice to have some feedback ... the whole time, I wasn't really certain that I was doing things properly -- good to know that I was on the right track ... would have sucked to have wasted all of this time :)
14:32 nopaste "jrtayloriv" at 67.246.150.224 pasted "error during testing" (38 lines) at http://nopaste.snit.ch/17762
14:34 jrtayloriv Is there any way to just look directly to the top few lines of the call stack with GDB? I tried paging down for several hundred pages of the backtrace to try to get to it, but gave up ...
14:35 NotFound jrtayloriv: ba -20
14:36 jrtayloriv NotFound, thanks
14:36 NotFound And be patient ;)
14:37 jrtayloriv NotFound, I found the error already -- I've got a line that looks like this: Parrot_continuation_check(interp, SELF, SELF); ... pretty sure that's it at least.
14:37 jrtayloriv oops :)
14:41 NotFound jrtayloriv: I said that because in really depth traces ba -n takes long time to show something
14:42 jrtayloriv NotFound, yep -- I understood.
14:59 quek joined #parrot
15:03 Andy joined #parrot
15:09 jrtayloriv Andy, Coke said you might have been working on this -- https://trac.parrot.org/parrot/ticket/959 -- at some point. Is this true? Is this something you can see happening, or is it impossible/too difficult for some reason?
15:09 Andy looking
15:11 Andy I do want to do it
15:11 Andy and yes, I see it happening.
15:11 Andy I just have been tuit-free, working on pushing my book.
15:12 jrtayloriv Gotcha -- thanks.
15:14 Andy updated
15:14 iblechbot joined #parrot
15:15 jrtayloriv what's your book on btw?
15:18 jrtayloriv oh, found it -- nm
15:20 donaldh joined #parrot
15:20 sri joined #parrot
15:27 Andy I need to put a link to it on perlbuzz, too
15:30 mikehh All tests PASS at r40892 (pre/post-config, smoke, nqp_test, fulltest) - Ubuntu 9.04 amd64 (gcc)
15:31 mikehh rakudo (a378770) builds on parrot r40892 - make test / make spectest (up to r28133) PASS - Ubuntu 9.04 amd64 (gcc)
15:39 mikehh partcl r650 builds on parrot r40892 - make test PASS - Ubuntu 9.04 amd64 (gcc)
15:43 mikehh decnum_dynpmcs r181 builds on parrot r40892 - make test PASS - Ubuntu 9.04 amd64 (gcc)
15:44 quek left #parrot
15:44 mikehh enough of that for a bit
15:47 theory joined #parrot
15:48 dalek rakudo: dd7587a | pmichaud++ | src/setting/Rat.pm:
15:48 dalek rakudo: Fix Rat.Num.
15:48 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​d7587a49cda3bb3e728cee5c6f260b7d6879903
15:53 cotto joined #parrot
15:56 cotto good morning, everyone except purl
15:57 jrtayloriv top o' the morning to ya
16:00 cghene joined #parrot
16:05 daxim the parrot.org certificate expired.  who's the webmaster?
16:07 moritz daxim: look at the /topic
16:07 daxim alright, I didn't see that
16:08 nopaste "jrtayloriv" at 67.246.150.224 pasted "Continuation PMC refactor: Infinite recursion problem ...." (955 lines) at http://nopaste.snit.ch/17763
16:09 jrtayloriv whiteknight, everything is building now, but when t/op/annotate.t runs, the above happens.
16:11 whiteknight oh fun
16:11 jrtayloriv :)
16:12 whiteknight so what does Parrot_continuation_check do, and why is it throwing an exception?
16:12 * whiteknight is at work and can't really dig into it
16:14 jrtayloriv whiteknight, I'm not fully certain I understood the "why" behind it completely, but as far as I can tell it just checks to make sure the to_ctx is set for the continuation PMC that is passed into it, and throws an exception if it's not.
16:17 jrtayloriv The problem could also be in invalidate_retc_context (which I don't really understand at all), even though it's not showing up in the backtrace ... I'll keep looking around -- sorry to bother you at work :)
16:19 dalek rakudo: 87f1a27 | pmichaud++ | docs/spectest-progress.csv:
16:19 dalek rakudo: spectest-progress.csv update: 433 files, 12478 (72.9% of 17110) pass, 0 fail
16:19 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​7f1a27f8430470ac96c98931f84957d831d9a6f
16:22 whiteknight jrtayloriv: Don't worry about bothering me, I wouldn't respond if I couldn't be bothered
16:22 whiteknight do me a favor and nopaste your src/pmc/exceptionhandler.pmc:init() VTABLE
16:24 nopaste "jrtayloriv" at 67.246.150.224 pasted "init() VTABLE for ExceptionHandler PMC" (360 lines) at http://nopaste.snit.ch/17764
16:25 mokurai joined #parrot
16:26 NotFound jrtayloriv: throwing an exception in a situation almost impossible to handle is pointless, just abort.
16:26 whiteknight NotFound: he's not doing it, that function is in trunk too
16:27 NotFound Oh, i misunderstood, then
16:27 cognominal joined #parrot
16:29 whiteknight jrtayloriv: the SELF = cc line looks suspicious to me. You're probably going to have to change new_continuation to take a reference to an existing PMC and initialize it, instead of creating and returning a new one
16:29 whiteknight so new_continuation(INTERP, NULL, SELF) instead of cc = new_continuation(INTERP, NULL)
16:29 jrtayloriv whiteknight, you mean use init_pmc() instead of init()?
16:30 jrtayloriv ok -- I'll try that.
16:31 nopaste "Whiteknight" at 173.12.37.77 pasted "what init() should look like for jrtayoriv++" (18 lines) at http://nopaste.snit.ch/17765
16:32 whiteknight What I think is happening here is that the new_continuation function returns Continuation PMC, so you are overwriting the ExceptionHandler PMC.
16:33 whiteknight so the Continuation gets registered as a handler, but the ExceptionHandler gets garbage collected
16:33 whiteknight and then things go badly, because the Continuation doesn't have all the necessary information that the ExceptionHandler has
16:34 whiteknight and it implements different VTABLEs
16:36 whiteknight jrtayloriv: make sure to use the GET_ATTR and SET_ATTR macros inside new_continuation, because the incoming PMC could be an ExceptionHandler or a Continuation
16:42 jrtayloriv whiteknight,  new_continuation looks like this: http://pastebin.com/d1e5556f9
16:44 jrtayloriv whiteknight, i.e. I can't say new_continuation(INTERP, NULL, SELF), but I can do this -- http://pastebin.com/d2204fdf8 -- is that what you mean by your paste?
16:45 whiteknight no, that doesn't really make any sense either.
16:45 whiteknight I would maybe suggest deleting the function new_continuation entirely
16:46 whiteknight move most of the logic into ExceptionHandler.pmc:init and Continuation.pmc:init)
16:46 jrtayloriv whiteknight, hmmm yes -- I don't even know why I kept it around -- those are the only two places it's used
16:47 whiteknight right, it looks like the only job it has now is to initialize a few structure fields, so in the init() of ExceptionHander and Continuation, just do those initializations yourself
16:48 whiteknight ->to_ctx, ->from_ctx, ->runloop_id, ->seg, ->address, ->current_results look like they all get initialized here
17:06 hercynium joined #parrot
17:07 szabgab joined #parrot
17:12 whiteknight jrtaryloriv: have you submitted a CLA?
17:13 whiteknight I think I would like to nominate you to become a committer
17:21 basic joined #parrot
17:22 jrtayloriv whiteknight, No, I haven't yet. I'll look into it later. Thank you.
17:38 dalek rakudo: 5c1bc83 | (Solomon Foster)++ | t/spectest.data:
17:38 dalek rakudo: Add S32-num/power.t and S32-num/rat.t.
17:38 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
17:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​c1bc83d7fa7a882a88b1bc2f5978a539d3340ab
17:52 joeri joined #parrot
17:55 chromatic joined #parrot
18:27 dalek rakudo: 4fc254d | (Solomon Foster)++ | src/setting/Rat.pm:
18:27 dalek rakudo: Add gcd function and use it to reduce Rats to simplest form. Also fix - operator.
18:27 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
18:28 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​fc254d8194e7b03cae630f97a995110a09e3456
18:31 japhb joined #parrot
18:46 preflex joined #parrot
18:51 payload joined #parrot
18:58 cotto seen kid51
18:58 purl kid51 was last seen on #parrot 15 hours, 44 minutes and 24 seconds ago, saying: must sleep
18:59 preflex joined #parrot
19:04 duk3leto i will second the nomination for jrtayloriv++'s commit status, if necessary
19:10 MoC joined #parrot
19:19 Ryan52 joined #parrot
19:20 donaldh joined #parrot
20:08 jhelwig joined #parrot
20:12 cotto joined #parrot
20:18 dalek rakudo: e005879 | pmichaud++ | src/setting/Whatever.pm:
20:18 dalek rakudo: Fix copy-pasto errors in Whatever.pm .
20:18 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​0058798d202bb972a48b44e035751c61a745a2d
20:29 kjeldahl joined #parrot
20:34 dalek parrot: r40893 | NotFound++ | trunk/src (2 files):
20:34 dalek parrot: [core] zero initialize stack-eating variables to avoid errors in gc stack trace
20:34 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40893/
20:37 bacek joined #parrot
20:47 NotFound Ups... wait a moment....
20:49 mikehh_ joined #parrot
20:52 dalek parrot: r40894 | NotFound++ | trunk/src/gc/system.c:
20:52 dalek parrot: revert a helper function commited accidentally in r40893
20:52 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40894/
21:01 ruoso joined #parrot
21:04 bacek joined #parrot
21:12 mikehh joined #parrot
21:14 bacek Good morning
21:14 purl And good moroning to you, bacek.
21:19 Zak joined #parrot
21:24 nopaste "jrtayloriv" at 67.246.150.224 pasted "Continuation PMC refactor: Infinite recursion error in ExceptionHandler PMC" (1067 lines) at http://nopaste.snit.ch/17766
21:24 particle joined #parrot
21:25 jrtayloriv Can someone try that patch out on a fresh copy of r40857? I've been banging my head on this for hours, and can't figure out how to fix this ...
21:25 jrtayloriv (the svn diff is at the bottom)
21:29 Whiteknight joined #parrot
21:29 bacek jrtayloriv: r40678 is good example how not to break backward compatibility :)
21:31 jrtayloriv bacek, the revision actually doesn't matter, probably, I was just trying to cut out extra variables while trying to track down this bug.
21:31 bacek jrtayloriv: your Continutaion.clone looks suspicious
21:31 bobke joined #parrot
21:31 bacek jrtayloriv: r40678 is where I fixed my mistake.
21:32 jrtayloriv bacek, looking at it now
21:33 jrtayloriv Whiteknight, I tried what you suggested (at least, I think I did ...) regarding the init vtable from exceptionhandler, and am still encountering the same problem -- what you brought up was indeed an error, but not the one that is causing the recursion problem.
21:33 bacek ExceptionHandler.init can just call SUPER()
21:33 jrtayloriv bacek, call super, and then just do the extra stuff specific to ExceptionHandler?
21:34 bacek yes
21:35 bacek (And try to build parrot without --optimize. Otherwise debugging is virtually impossible)
21:37 Whiteknight jrtayloriv: do you have a current patch?
21:37 jrtayloriv Whiteknight, one moment -- I'm going to do what bacek suggested first, and then I'll post up the new result.
21:38 jrtayloriv Whiteknight, the one I just posted was at http://nopaste.snit.ch/17766 though.
21:40 jrtayloriv bacek, as far as r40678 -- I had already added "typedef struct Parrot_Continuation_attributes Parrot_cont;" to sub.h, is that why you pointed me to r40678?
21:41 bacek PMC_cont macro as well
21:41 beta joined #parrot
21:43 bacek Whiteknight: thanks for mail about JIT in list :)
21:43 jrtayloriv bacek, leave the PMC_cont macro in there? should I just say --> #define PMC_cont(pmc) PARROT_CONTINUATION(pmc)
21:44 bacek jrtayloriv: yes
21:44 Whiteknight bacek: no problem, it's an issue that has been bothering me for some time
21:45 Whiteknight our JIT system is bad at a fundamental level: not maintainable, no performance benefit, poor design, not robust
21:47 bacek suffering NIH syndrome, etc, etc.
21:49 * bacek need more coffee
21:50 Whiteknight much more coffee
21:54 cotto are you trying to give him the jitters?
21:57 bacek robots doesn't have jitters!
21:58 jrtayloriv w00t!
21:58 jrtayloriv bacek++
21:58 jrtayloriv whiteknight++
21:58 jrtayloriv looks like it's all working now -- running make test right now ...
21:58 jrtayloriv and it's already gotten past the annotate test it was failing on earlier ;)
22:01 bacek jrtayloriv: before submitting final patch drop "struct" in ATTR definition.
22:01 Whiteknight nice
22:02 jrtayloriv bacek, will do -- I forgot about that (I think you told me that earlier today) ... anyway, gotta go back home and then I'll get back on ...
22:02 jrtayloriv oh and ... ummm  ... bacek++ whiteknight++ :)
22:02 bacek jrtayloriv: (and run rakudo's spectest :)
22:18 dalek parrot: r40895 | cotto++ | branches/pluggable_runcore/src/runcore/cores.c:
22:18 dalek parrot: [profiling] codingstd fixes
22:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40895/
22:25 Whiteknight cotto++
22:26 Whiteknight when people start making codingstd fixes, that means they're getting close to a merge
22:27 chromatic Or really bored.
22:27 cotto The C code is pretty close but the postprocessing script needs a refactor.
22:28 cotto but yeah, I'm going to see if I can't kill this before #ps.
22:29 chromatic I want to go through and clean things up some too, but if we're close to a merge I'll wait.
22:29 cotto I thought you would.
22:33 whoppix_ joined #parrot
22:42 rg1 joined #parrot
22:49 dalek parrot: r40896 | bacek++ | branches/context_pmc3 (2 files):
22:49 dalek parrot: Add get_regs_used accessor
22:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40896/
22:49 dalek parrot: r40897 | NotFound++ | trunk/src/pmc.c:
22:49 dalek parrot: [core] clear custom_mark flag in Parrot_pmc_destroy
22:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40897/
22:49 dalek parrot: r40898 | bacek++ | branches/context_pmc3/src (6 files):
22:49 dalek parrot: Use more accessor functions instead of CONTEXT_FIELD macro
22:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40898/
22:52 bacek Whiteknight: ping
22:52 Whiteknight bacek: pong
22:52 dalek parrot: r40899 | bacek++ | branches/context_pmc3 (2 files):
22:52 dalek parrot: Run headerizer
22:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40899/
22:53 bacek Whiteknight: will you have 15 minutes to implement last 2 accessors functions in context_pmc3? For Regs_in and Regs_ps
22:53 bacek Then I can remove CONTEXT_FIELD macros and prepare to merge back
22:54 kid51 joined #parrot
22:56 szbalint Ceterum censeo JIT esse delendam
22:57 * cotto sets LANG to en_US
22:57 chromatic Carthage must be destroyed.
22:58 NotFound And marked?
22:58 chromatic And salted.
22:58 Whiteknight bacek: sure, I can do those things. You get the JIT thing fixed?
22:58 bacek Whiteknight: no...
22:59 Whiteknight okay. I don' have a lot of time tonight, so I can't look at both. I'll do the accessors while you sleep
22:59 bacek Heh. Welcome to the future! It's $dayjob time :)
23:00 NotFound I've reached five partcl rebuilds without segfault in make test
23:00 Whiteknight don't you sleep at work?
23:00 Whiteknight :)
23:00 Whiteknight NotFound++
23:00 cotto In PIR, is it possible for control flow to move between files without a context switch?
23:01 cotto I'm thinking it shouldn't be, but there could be a case I'm not thinking of.
23:01 Whiteknight chromatic, what do you think about JIT deprecation? it was your idea, even if an offhand one
23:01 chromatic cotto, I can't think of one either.
23:01 NotFound Still some segfault in make spectest, but the backtrace looks like a different problem
23:02 bacek Whiteknight: unfortunately no. I've got developer team to answer questions and 4 ongoing projects...
23:02 chromatic Whiteknight, I'm cautiously in favor, provided that we have a sane plan to replace it.
23:02 Whiteknight cotto: using an .include to insert text into a function
23:02 Whiteknight chromatic: Yes, if we do get the deprecation notice in, I intend to start serious time designing and preparing a replacement
23:03 chromatic That should include Lorito.
23:04 bacek NotFound: "echo 0 > /proc/sys/vm/vdso_enabled" usually helps with GC bugs hunting
23:05 NotFound BTW there is at least one pmc flag not used at all
23:05 chromatic Which one?
23:05 NotFound s/pmc/pobj
23:06 NotFound PObj_need_finalize_FLAG
23:06 bacek "is_special"?
23:07 bacek Anyway, $dayjob time.
23:07 bacek See you!
23:08 NotFound Better said, a flag macro
23:09 szbalint I really need to get up from my ass and do some JIT related work for parrot heh. Need to JIT work first I guess :)
23:11 cotto It looks like imcc treats opcodes added to a sub via .include as belonging to the file where the sub is defined.
23:12 chromatic It's insertion before compilation, I think.
23:12 NotFound cotto: and to make funny things with line number annotations when there is some .include
23:16 cotto NotFound, happily annotations are separate from imcc's line and file info.
23:16 rhr joined #parrot
23:16 NotFound Oh, right, the problems I've seen were in pir line numbers,
23:20 donaldh joined #parrot
23:24 whoppix__ joined #parrot
23:31 jrtayloriv joined #parrot
23:33 NotFound In Parrot_quicksort there is a while (j > 0 ....) and j is unsigned
23:34 bacek joined #parrot
23:39 cotto Parrot_quicksort is ugly.
23:39 Whiteknight agreed
23:39 Whiteknight NotFound: yes, that probably needs to be fixed
23:39 NotFound I don't have a problem with his ugliness ATM, as long as it works
23:39 NotFound And looks line it doesn't
23:41 Whiteknight ok
23:42 rg1 why does parrot need its own quicksort? my manpage says: "The qsort() function conforms to ISO/IEC 9899:1990 (“ISO C90”)"
23:42 NotFound I found that while looking for a partcl segfault, testing now if this was the culprit
23:43 NotFound rg: you can't pass a Imterpreter to the qsort comparator
23:43 duk3leto rg: the array PMC's use it
23:45 theory joined #parrot
23:47 rg ok, c needs closures :(
23:47 chromatic Preach it.
23:52 jrtayloriv bacek_at_work, whiteknight -- I added the current version of my Continuation PMC patch to tt #926 ... it's still buggy (failing several tests), but it builds without errors and actually makes it through the tests, so that's a start
23:58 Whiteknight jrtayloriv: I'll put together a branch with it so we can do some concerted development and testing
23:59 jrtayloriv good deal

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

Parrot | source cross referenced