www.parrot.org | 1.5.0 "TEH PARROTZ!" Released! | Weekly development focus: Bugfixing and stability. Keep those branches merging!
Set by moderator on 26 August 2009.
Coke woot. 00:05
That bug has been open for, what, a year? NotFound++ # again 00:06
s/instead a loop/inside a loop/ - I swear, I need to not let my fingers do autocomplete without double checking. 00:07
00:08 ZeroForce1 joined
mikehh rakudo (0712c33) builds on parrot r40884, make test PASS / make spectest (up to r28126) PASS - Ubuntu 9.04 amd64 (g++) 00:08
Coke: gonna run make spectest now 00:09
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:10
decnum_dynpmcs r181 builds on parrot r40884 - make test PASS - Ubuntu 9.04 amd64 (g++) 00:14
00:16 Tene joined
bacek_at_work mikehh: thanks for nopaste 00:21
00:45 TiMBuS joined
jrtayloriv I realize that this is probably full of bad practice, errors, etc, but can someone take a look at this -- 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:50
bah -- nm, I left out the ATTR tag in front of the attributes :) 00:53
mikehh partcl make spectest - still 3 failures with - !! child died with signal 11, without coredump - mathop, subst and while-old 01:07
Coke mikehh: yah; the tests are pretty much randomly segfaulting at this point. 01:10
01:14 whoppix_ joined 01:41 mokurai joined 01:44 mokurai joined
bacek_at_work jrtayloriv: and drop "struct". Pmc2c likely to unlike it. 02:06
02:08 Andy joined 02:10 cotto joined
cotto hi 02:12
purl hey, cotto.
Coke oh, btw, NotFound++ 02:13
02:29 kid51 joined
cotto chromatic++ 02:29
It's nice to get that nasty hack out of there. 02:32
dalek rrot: r40885 | cotto++ | branches/pluggable_runcore/src/runcore/cores.c:
[profiling] put profile_filename in the root set so it won't get collected until the interp exits.
02:34
kid51 Does anyone know if someone is working on getting our svn.parrot.org certification renewed? 02:38
02:41 janus joined
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?
purl rumour has it which ticket is this now
kid51 938?
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
We should get our *current* cert renewed pronto.
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:52
jhoprwitz 02:55
arrghh: my keyboard is messing around again
jhorwitz 02:56
purl i heard jhorwitz was "mod_parrot-guy" or mailto:jeff@smashing.org
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:57
mikehh kid51: that was the firm that Mark Shuttleworth sold to Verisign 02:59
I've had dealings with them before 03:01
or should I say I have dealt with them before
allison Thawte is *the* major supplier of security certificates. 03:04
but, jerry handled the original purchase, so waiting for him to renew
mikehh well he is de Foundation money man 03:06
I really need to get some sleep - bbl 03:07
03:12 Andy joined
kid51 must sleep 03:13
purl $kid51->sleep(8 * 3600);
Coke random : Created commit 81dead7: use more hllmacros 03:14
04:14 mokurai joined
jrtayloriv Would I need to call Parrot_gc_mark_PObj_alive on a PackFile_ByteCode struct ATTR? 04:36
(in the mark VTABLE func, that is)
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.
jrtayloriv bacek_at_work, thanks 04:41
04:44 fedorov joined
jrtayloriv bacek_at_work, And the proper way to clear it would be with PObj_live_CLEAR(seg) correct? 04:48
s/clear it/free it/ 04:49
(in destroy())
bacek_at_work jrtayloriv: just do nothing 04:50
It's safer to do nothing in this case. Pointer can be shared by someone else. 04:51
05:15 Zak joined
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
i.e. If I don't specify a mark() or destroy(), will it just use the ones for the Continuation PMC?
bacek_at_work jrtayloriv: other way round. Remove "destroy". Call SUPER() from "init". iirc 05:28
05:51 jimmy joined 05:56 mokurai joined
dalek kudo: 9a37314 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 433 files, 12465 (72.9% of 17100) pass, 0 fail
05:58
06:02 kyle_l5l joined
jrtayloriv is heading out for a bit ... big time sleepy time 06:13
06:16 chromatic joined 06:23 uniejo joined
bacek_at_work yay! www.youtube.com/watch?v=vymCfnxcEy0 06:27
:)
dalek rrot: r40886 | dukeleto++ | trunk/tools/dev/parrot_shell.pl:
[tools] Add timing information to parrot_shell.pl
06:36
06:40 mokurai left 07:01 iblechbot joined
dalek kudo: d2cc61c | moritz++ | tools/progress-graph.pl:
[tools] avoid overlapping labels in progress graph
07:07
07:19 szabgab joined 07:28 HG` joined
dalek rrot: r40887 | tene++ | trunk/compilers/nqp/src/builtins.pir:
[nqp] Initial implementation of eval.
07:39
japhb Just updating for the first time in a week -- is the cert expire for svn.parrot.org already being addressed? 07:49
Tene Coke says there's a ticket. 07:59
That's all I know. >.> 08:00
08:22 payload joined
mikehh gonna switch to i386 - needs re-boot - bbl 08:28
cognominal what is necessary beyond a .loadib to make a pmc class visible? 08:29
08:32 mikehh joined
chromatic That should do it. 08:32
Tene cognominal: make sure to check the .HLL of the code running loadlib. 08:34
Yay, segfaults based on the HLL used.
cognominal why does the .loadlib fails silently anyway? 08:36
Tene no idea.
The easy-to-reproduce segfault fails in: 08:37
0x00007ffff7b8c339 in Parrot_pmc_destroy (interp=0x608080, pmc=0x6a6ff0) at src/pmc.c:120
120\t if (pmc->vtable->attr_size) {
I wonder if it's related to that pmc attr stuff that happened recently.
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 nopaste.snit.ch/17756
Tene Yes, it's 0x0
cognominal Tene, that's a patch for blizkost, can you tell me what is wrong? 08:39
the only relevant changes are in perl5.pir 08:40
arf, I did not do the correct git invocation apparently 08:41
it lists only the new files
Tene what lists only what files when doing what? 08:42
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 nopaste.snit.ch/17757 08:48
08:52 bacek joined
bacek o hai 08:52
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.
A backtrace may be informative. 08:57
nopaste "tene" at 24.10.252.130 pasted "bt for chromatic++" (11 lines) at nopaste.snit.ch/17758
chromatic No pmc_class for that type. Interesting. 08:59
I don't remember what pmc_class represents in this respect though.
My guess is that this is a segfault only after pmichaud's "less STRING isa" patch.
Tene That's a pretty good guess. I may have to harass him tomorrow. 09:01
chromatic My next guess is that we ought to propagate PMCProxy caches through namespaces. 09:02
... or at least look them up more aggressively.
Tene I really need to learn all this pmcproxy stuff if I'm going to keep ending up in parrot guts. 09:03
chromatic You could document it. You might get a cookie. 09:04
09:05 cotto joined, uniejo joined
cotto hi 09:11
bacek hi cotto 09:12
Tene Hmm. Cookies.
I've already had enough cookies lately. 09:13
dalek kudo: 17bcd58 | moritz++ | :
Merge branch 'master' of git@github.com:rakudo/rakudo
kudo: a378770 | moritz++ | src/setting/ (2 files):
implement infix:<div>(Int, Int)
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40887, Ubuntu 9.04 i386 (g++) 09:34
dalek rrot: r40888 | bacek++ | branches/context_pmc3/src/gc/alloc_register.c:
[cage] Fix functions docs.
09:44
rrot: r40889 | bacek++ | branches/context_pmc3/src/pmc/sub.pmc:
[cage] Make codetest happy.
09:47
rrot: r40890 | bacek++ | branches/context_pmc3/lib/Parrot/OpTrans/CGoto.pm:
Fix CGoto core creation.
mikehh rakudo (a378770) builds on parrot r40887, make test / make spectest (up to r28126) PASS - Ubuntu 9.04 i386 (g++) 09:52
partcl r650 builds on parrot r40887, make test - 1 failure - t/cmd_set.t - All subtests PASS - Ubuntu 9.04 i386 (g++) 09:56
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:05
decnum_dynpmcs r181 builds on parrot r40887, make test PASS - Ubuntu 9.04 i386 (g++) 10:09
lua still fails to build 10:12
lua - first error - ./luanumber.pmc: In function ‘PMC* Parrot_LuaNumber_multi_add_LuaString_PMC(parrot_interp_t*, PMC*, PMC*, PMC*)’: ./luanumber.pmc:310: error: uninitialised const ‘n’ 10:13
lua repeated for :310, 352, 396, 439, 482, 522, 565, 606, 650, 692, 735, 776 10:17
lua - make[1]: *** [compile] Error 1, - make[1]: Leaving directory `/home/mhu/lua/src/pmc' - make: *** [src/pmc/lua_group.so] Error 2 10:18
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:20
bacek mikehh: (when you'll be on amd64) I have patch for Rakudo to build on context_pmc3 branch 10:21
mikehh bacek: heading back there now - got to reboot - bbiab 10:22
bacek mikehh: ok 10:23
10:26 donaldh joined 10:34 mikehh joined, sri joined
mikehh ok back on amd64 10:35
nopaste "bacek" at 114.73.30.163 pasted "Rakudo patch for mikehh++" (78 lines) at nopaste.snit.ch/17759 10:36
10:42 masak joined 10:46 bacek_ joined
bacek_ msg Whiteknight jit failure is last one which blocking me... 10:48
purl Message for whiteknight stored.
bacek mikehh: ping 10:50
dalek rrot: r40891 | NotFound++ | trunk/src/pmc.c:
[core] clear live flag in Parrot_pmc_destroy
10:58
mikehh bacek: pong 11:06
bacek mikehh: any luck with rakudo? 11:07
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...
mikehh oops - forgot to install 11:11
well don't have jit on amd64
bacek Ah, ok. 11:12
TiMBuS couldnt a lot of the amd64 jit just be copied over from the i386? 11:18
dalek rrot: r40892 | bacek++ | branches/context_pmc3/t/pmc/context.t:
[t] Add stub test for Context PMC.
11:19
NotFound TiMBuS: we already have enough bugs
bacek TiMBuS: there is Lorito around the corner. 11:20
moritz around which corner?
11:21 donaldh joined
bacek moritz: there is number of corners :) 11:22
nopaste "bacek" at 114.73.51.83 pasted "Patch for lua for mikehh++" (39 lines) at nopaste.snit.ch/17760 11:24
11:27 magnachef joined
bacek NotFound: any knowledge about jit? 11:31
s/^/Do you have/ 11:32
11:34 szabgab joined
mikehh bacek: rakudo looks good - make test PASS - running make spectest 11:37
bacek mikehh++ # Yay! 11:38
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...
NotFound bacek: Configure.pl --jitcapable=0 will fix it ;) 11:40
bacek NotFound: Guillotine to cure headaches ftw!!! :) 11:42
NotFound Allons enfants!
moritz le jour de gloir est arivée 11:43
bacek is enfant de terrible :)
mikehh bacek: make spectest PASS on rakudo with context_pmc3 branch 11:51
11:51 daxim joined
bacek mikehh: Hooray! Thanks a lot! 11:51
daxim the parrot.org certificate expired. who's the webmaster?
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.
We're on it.
moderator www.parrot.org | BoD purchasing a new cert. Thank you for your patience. 11:53
mikehh bacek: nah lua still getting the same failures I get in trunk - luanumber - ./luanumber.pmc:310: error: uninitialised const ‘n’ 11:57
bacek mikehh: did you try to put "= PMCNULL" on this line? 11:58
mikehh bakek, Coke partcl builds and make test PASSes on context_pmc3 branch 12:04
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:10
bacek mikehh: ah. ok. 12:11
mikehh the first error is: ./luanumber.pmc: In function ‘PMC* Parrot_LuaNumber_multi_add_LuaString_PMC(parrot_interp_t*, PMC*, PMC*, PMC*)’: ./luanumber.pmc:310: error: uninitialised const ‘n’ 12:12
bacek it shouldn't be "const"... 12:14
mikehh and similar for lines 352, 396, 439, 482, 522, 565, 606, 650, 692, 735 & 766
ok let me take them out and see what happens 12:15
bacek: you think it should be PMC * n; rather than PMC * const n; ? 12:16
bacek mikehh: yes. Pointers are actually updated in Parrot_PCCINVOKE 12:17
12:19 whiteknight joined
mikehh bacek: it finds a whole bunch more of them in luastring.pmc 12:25
bacek mikehh: sigh...
Are they same (fsvo)? 12:27
NotFound An unitialized const makes no sense. 12:28
bacek NotFound: "uninitialised pointer" 12:29
NotFound bacek: const pointer
bacek but uninitialised. 12:30
NotFound Just drop the const
bacek NotFound: that exactly what I proposed :) 12:31
NotFound What are we discusing, then? ;)
bacek Who will fix context_pmc3 failure in JIT? :) 12:32
NotFound Dr. Who? 12:33
purl Dr. is called, going in on Monday
bacek EDRNOTFOUND :) 12:35
NotFound Nice try
purl indulges in a bit of evil laughter.
bacek EDRNOTFOUNDATALL :( 12:36
:)
12:37 payload joined 12:41 iblechbot joined 12:44 jrtayloriv joined
mikehh bacek: I don't know if we have any jit experts any more :-} 12:46
mind you an ex is a has-been and a 'spurt' is a drip under pressure
bacek mikehh: oh...
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:48
it is not even enabled 12:49
bacek because it doesn't work...
mikehh because nobody has got around to getting it to work on a lot of platforms ... 12:50
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:52
bacek I was tempted at least twice to start branch to drop current gc and implement "proper" Generational GC for parrot... 12:54
mikehh :-}
bacek Especially when I spend couple of weeks fighting with "constant pmc"... 12:55
spent
Or plug-in Harmony's GC... 12:59
Coke I often wonder why the initial throw-away implementations were not just 3rd party libs. 13:02
(except for icu) 13:03
would have given us a good starting point with a known quantity to do better than or give up.
bacek NIH syndrome in action... 13:07
Anyway, bed time 13:13
G'Night
whiteknight mikehh: JIT doesn't work anywhere besides i386 13:22
Coke whiteknight: and not on every i386, either.
Coke whines again about his segfaults. 13:24
13:26 ruoso joined 13:29 giri joined 13:50 MoC joined 13:56 kid51 joined
nopaste "jrtayloriv" at 67.246.150.224 pasted "Why am I getting this error?" (956 lines) at nopaste.snit.ch/17761 14:01
14:02 ruoso joined
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:03
(And yes, I realize the code probably such -- I'm just exploring around to learn how things work ;) ) 14:05
s/such/sucks/
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:06
whiteknight src/pmc/continuation.pmc:destroy() 14:10
you are calling mem_sys_free(cc) and you shouldn't
delete that line
(the GC will free that structure automatically, which is why you are getting the double-free error) 14:11
otherwise, that's a pretty hot looking patch
14:12 mberends joined
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:12
14:13 szabgab joined
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:14
14:18 Psyche^ joined
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:18
nopaste "jrtayloriv" at 67.246.150.224 pasted "error during testing" (38 lines) at nopaste.snit.ch/17762 14:32
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:34
NotFound jrtayloriv: ba -20 14:35
jrtayloriv NotFound, thanks 14:36
NotFound And be patient ;)
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
oops :)
NotFound jrtayloriv: I said that because in really depth traces ba -n takes long time to show something 14:41
jrtayloriv NotFound, yep -- I understood. 14:42
14:59 quek joined 15:03 Andy joined
jrtayloriv Andy, Coke said you might have been working on this -- 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
I do want to do it 15:11
and yes, I see it happening.
I just have been tuit-free, working on pushing my book.
jrtayloriv Gotcha -- thanks. 15:12
Andy updated 15:14
15:14 iblechbot joined
jrtayloriv what's your book on btw? 15:15
oh, found it -- nm 15:18
15:20 donaldh joined, sri joined
Andy I need to put a link to it on perlbuzz, too 15:27
mikehh All tests PASS at r40892 (pre/post-config, smoke, nqp_test, fulltest) - Ubuntu 9.04 amd64 (gcc) 15:30
rakudo (a378770) builds on parrot r40892 - make test / make spectest (up to r28133) PASS - Ubuntu 9.04 amd64 (gcc) 15:31
partcl r650 builds on parrot r40892 - make test PASS - Ubuntu 9.04 amd64 (gcc) 15:39
decnum_dynpmcs r181 builds on parrot r40892 - make test PASS - Ubuntu 9.04 amd64 (gcc) 15:43
15:44 quek left
mikehh enough of that for a bit 15:44
15:47 theory joined
dalek kudo: dd7587a | pmichaud++ | src/setting/Rat.pm:
Fix Rat.Num.
15:48
15:53 cotto joined
cotto good morning, everyone except purl 15:56
jrtayloriv top o' the morning to ya 15:57
16:00 cghene joined
daxim the parrot.org certificate expired. who's the webmaster? 16:05
moritz daxim: look at the /topic 16:07
daxim alright, I didn't see that
nopaste "jrtayloriv" at 67.246.150.224 pasted "Continuation PMC refactor: Infinite recursion problem ...." (955 lines) at nopaste.snit.ch/17763 16:08
jrtayloriv whiteknight, everything is building now, but when t/op/annotate.t runs, the above happens. 16:09
whiteknight oh fun 16:11
jrtayloriv :)
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
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:14
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:17
dalek kudo: 87f1a27 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 433 files, 12478 (72.9% of 17110) pass, 0 fail
16:19
whiteknight jrtayloriv: Don't worry about bothering me, I wouldn't respond if I couldn't be bothered 16:22
do me a favor and nopaste your src/pmc/exceptionhandler.pmc:init() VTABLE
nopaste "jrtayloriv" at 67.246.150.224 pasted "init() VTABLE for ExceptionHandler PMC" (360 lines) at nopaste.snit.ch/17764 16:24
16:25 mokurai joined
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
NotFound Oh, i misunderstood, then 16:27
16:27 cognominal joined
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
so new_continuation(INTERP, NULL, SELF) instead of cc = new_continuation(INTERP, NULL)
jrtayloriv whiteknight, you mean use init_pmc() instead of init()?
ok -- I'll try that. 16:30
nopaste "Whiteknight" at 173.12.37.77 pasted "what init() should look like for jrtayoriv++" (18 lines) at nopaste.snit.ch/17765 16:31
whiteknight What I think is happening here is that the new_continuation function returns Continuation PMC, so you are overwriting the ExceptionHandler PMC. 16:32
so the Continuation gets registered as a handler, but the ExceptionHandler gets garbage collected 16:33
and then things go badly, because the Continuation doesn't have all the necessary information that the ExceptionHandler has
and it implements different VTABLEs 16:34
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:36
jrtayloriv whiteknight, new_continuation looks like this: pastebin.com/d1e5556f9 16:42
whiteknight, i.e. I can't say new_continuation(INTERP, NULL, SELF), but I can do this -- pastebin.com/d2204fdf8 -- is that what you mean by your paste? 16:44
whiteknight no, that doesn't really make any sense either. 16:45
I would maybe suggest deleting the function new_continuation entirely
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
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:47
->to_ctx, ->from_ctx, ->runloop_id, ->seg, ->address, ->current_results look like they all get initialized here 16:48
17:06 hercynium joined 17:07 szabgab joined
whiteknight jrtaryloriv: have you submitted a CLA? 17:12
I think I would like to nominate you to become a committer 17:13
17:21 basic joined
jrtayloriv whiteknight, No, I haven't yet. I'll look into it later. Thank you. 17:22
dalek kudo: 5c1bc83 | (Solomon Foster)++ | t/spectest.data:
Add S32-num/power.t and S32-num/rat.t.
17:38
17:52 joeri joined 17:55 chromatic joined
dalek kudo: 4fc254d | (Solomon Foster)++ | src/setting/Rat.pm:
Add gcd function and use it to reduce Rats to simplest form. Also fix - operator.
18:27
18:31 japhb joined 18:46 preflex joined 18:51 payload joined
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
duk3leto i will second the nomination for jrtayloriv++'s commit status, if necessary 19:04
19:10 MoC joined 19:19 Ryan52 joined 19:20 donaldh joined 20:08 jhelwig joined 20:12 cotto joined
dalek kudo: e005879 | pmichaud++ | src/setting/Whatever.pm:
Fix copy-pasto errors in Whatever.pm .
20:18
20:29 kjeldahl joined
dalek rrot: r40893 | NotFound++ | trunk/src (2 files):
[core] zero initialize stack-eating variables to avoid errors in gc stack trace
20:34
20:37 bacek joined
NotFound Ups... wait a moment.... 20:47
20:49 mikehh_ joined
dalek rrot: r40894 | NotFound++ | trunk/src/gc/system.c:
revert a helper function commited accidentally in r40893
20:52
21:01 ruoso joined 21:04 bacek joined 21:12 mikehh joined
bacek Good morning 21:14
purl And good moroning to you, bacek.
21:19 Zak joined
nopaste "jrtayloriv" at 67.246.150.224 pasted "Continuation PMC refactor: Infinite recursion error in ExceptionHandler PMC" (1067 lines) at nopaste.snit.ch/17766 21:24
21:24 particle joined
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
(the svn diff is at the bottom)
21:29 Whiteknight joined
bacek jrtayloriv: r40678 is good example how not to break backward compatibility :) 21:29
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
bacek jrtayloriv: r40678 is where I fixed my mistake. 21:31
jrtayloriv bacek, looking at it now 21:32
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()
jrtayloriv bacek, call super, and then just do the extra stuff specific to ExceptionHandler?
bacek yes 21:34
(And try to build parrot without --optimize. Otherwise debugging is virtually impossible) 21:35
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.
Whiteknight, the one I just posted was at nopaste.snit.ch/17766 though. 21:38
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:40
bacek PMC_cont macro as well 21:41
21:41 beta joined
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)
bacek jrtayloriv: yes 21:44
Whiteknight bacek: no problem, it's an issue that has been bothering me for some time
our JIT system is bad at a fundamental level: not maintainable, no performance benefit, poor design, not robust 21:45
bacek suffering NIH syndrome, etc, etc. 21:47
bacek need more coffee 21:49
Whiteknight much more coffee 21:50
cotto are you trying to give him the jitters? 21:54
bacek robots doesn't have jitters! 21:57
jrtayloriv w00t! 21:58
bacek++
whiteknight++
looks like it's all working now -- running make test right now ...
and it's already gotten past the annotate test it was failing on earlier ;)
bacek jrtayloriv: before submitting final patch drop "struct" in ATTR definition. 22:01
Whiteknight nice
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
oh and ... ummm ... bacek++ whiteknight++ :)
bacek jrtayloriv: (and run rakudo's spectest :)
dalek rrot: r40895 | cotto++ | branches/pluggable_runcore/src/runcore/cores.c:
[profiling] codingstd fixes
22:18
Whiteknight cotto++ 22:25
when people start making codingstd fixes, that means they're getting close to a merge 22:26
chromatic Or really bored. 22:27
cotto The C code is pretty close but the postprocessing script needs a refactor.
but yeah, I'm going to see if I can't kill this before #ps. 22:28
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 22:42 rg1 joined
dalek rrot: r40896 | bacek++ | branches/context_pmc3 (2 files):
Add get_regs_used accessor
22:49
rrot: r40897 | NotFound++ | trunk/src/pmc.c:
[core] clear custom_mark flag in Parrot_pmc_destroy
rrot: r40898 | bacek++ | branches/context_pmc3/src (6 files):
Use more accessor functions instead of CONTEXT_FIELD macro
bacek Whiteknight: ping 22:52
Whiteknight bacek: pong
dalek rrot: r40899 | bacek++ | branches/context_pmc3 (2 files):
Run headerizer
bacek Whiteknight: will you have 15 minutes to implement last 2 accessors functions in context_pmc3? For Regs_in and Regs_ps
Then I can remove CONTEXT_FIELD macros and prepare to merge back
22:54 kid51 joined
szbalint Ceterum censeo JIT esse delendam 22:56
cotto sets LANG to en_US 22:57
chromatic Carthage must be destroyed.
NotFound And marked? 22:58
chromatic And salted.
Whiteknight bacek: sure, I can do those things. You get the JIT thing fixed?
bacek Whiteknight: no...
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 :)
NotFound I've reached five partcl rebuilds without segfault in make test 23:00
Whiteknight don't you sleep at work?
:)
NotFound++
cotto In PIR, is it possible for control flow to move between files without a context switch?
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
chromatic cotto, I can't think of one either.
NotFound Still some segfault in make spectest, but the backtrace looks like a different problem
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.
Whiteknight cotto: using an .include to insert text into a function
chromatic: Yes, if we do get the deprecation notice in, I intend to start serious time designing and preparing a replacement
chromatic That should include Lorito. 23:03
bacek NotFound: "echo 0 > /proc/sys/vm/vdso_enabled" usually helps with GC bugs hunting 23:04
NotFound BTW there is at least one pmc flag not used at all 23:05
chromatic Which one?
NotFound s/pmc/pobj
PObj_need_finalize_FLAG 23:06
bacek "is_special"?
Anyway, $dayjob time. 23:07
See you!
NotFound Better said, a flag macro 23:08
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:09
cotto It looks like imcc treats opcodes added to a sub via .include as belonging to the file where the sub is defined. 23:11
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
cotto NotFound, happily annotations are separate from imcc's line and file info. 23:16
23:16 rhr joined
NotFound Oh, right, the problems I've seen were in pir line numbers, 23:16
23:20 donaldh joined 23:24 whoppix__ joined 23:31 jrtayloriv joined
NotFound In Parrot_quicksort there is a while (j > 0 ....) and j is unsigned 23:33
23:34 bacek joined
cotto Parrot_quicksort is ugly. 23:39
Whiteknight agreed
NotFound: yes, that probably needs to be fixed
NotFound I don't have a problem with his ugliness ATM, as long as it works
And looks line it doesn't
Whiteknight ok 23:41
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
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
rg ok, c needs closures :( 23:47
chromatic Preach it.
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:52
Whiteknight jrtayloriv: I'll put together a branch with it so we can do some concerted development and testing 23:58
jrtayloriv good deal 23:59