|
parrot.org/ - clean up those smolders for the release! Set by moderator on 20 October 2008. |
|||
|
00:09
AndyA joined
|
|||
| pantherse | particle, looks like mk_language_shell.sh produces code that doesn't error out on make test anymore. However, it appears that make test on parrot root now spits out an error | 00:12 | |
|
00:13
dmknopp joined
|
|||
| nopaste | "pantherse" at 69.233.246.105 pasted "make test on parrot root dir output" (561 lines) at nopaste.snit.ch/14341 | 00:13 | |
| pantherse | before the 32061 revision I didn't get an actual error code from gmake, thought I'd let you know | 00:14 | |
| chromatic | pantherse, those are non-functional tests that we're not going to run by default any more. | 00:17 | |
| Don't worry about them; all of the functional tests of things that matter passed. | 00:18 | ||
| pantherse | ok, just making sure. I figured it's okay per the last few messages. | ||
| chromatic | We had a long discussion about this earlier today, actually. | 00:19 | |
| I've corrected the appropriate files and am re-running the test before I commit a fix. | 00:20 | ||
|
00:25
grim_fandango__ joined
|
|||
| dalek | r32062 | chromatic++ | trunk: | 00:26 | |
| : [lib] Fixed SVN properties on new file Parrot::Test::Util. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32062 | |||
| chromatic | make testj works on x86-32/Linux | 00:35 | |
| make testC has some segfaults. | 00:39 | ||
| The testC problems look like the same weird context problems we have with Parrot -> NCI -> Parrot control flow in the slow core. | 00:44 | ||
| make testf works on x86-32/Linux | 00:47 | ||
| make testg works on x86-32/Linux | |||
| make testj works on x86-32/Linux | 00:48 | ||
| make testr has the same failure as last month on x86-32/Linux | 00:50 | ||
| make testS has plenty of problems | 00:51 | ||
| It looks like testC and testS have the same types of problems. | 00:52 | ||
| Whiteknight | I didn't even know we had all those make targets! | 00:53 | |
|
00:54
rdice joined
|
|||
| chromatic | They run through make fulltest. | 00:55 | |
| examples/benchmarks/overload.pir has deprecated add_multi syntax. | 01:04 | ||
| Whiteknight | don't open a ticket, we're so close to 600! | ||
| chromatic | I'll just fix it in place. | 01:07 | |
| dalek | r32063 | chromatic++ | trunk: | 01:08 | |
| : [examples] Replaced deprecated add_multi op with :multi declaration on multisub. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32063 | |||
| particle | thanks for cleaning up my commit detritus, chromatic | 01:09 | |
| chromatic | You'd do the same for me. | ||
| particle | and i have. :) | ||
| particle looks at svn log for the past month | |||
| just under 1k revs | 01:10 | ||
| ok, <900 | 01:11 | ||
| i've got to get these five tests passing | |||
| and i'd love to apply some patches from p6c | |||
| e.g. the doc patch from ovid | 01:12 | ||
| # compiler_6.obj : error LNK2001: unresolved external symbol _PMCNULL | |||
| chromatic | Whiteknight, there's a segfault in examples/benchmarks/oofib.pir. Want to stab it? | ||
| Whiteknight | can't tonight, but if it's still here tomorrow I can | 01:15 | |
| oh shoot, I need to update NEWS with some of the stuff I've been doing | 01:16 | ||
| Whiteknight goes to look at the SVN logs now | |||
| particle | svn log -r 31199:HEAD | gvim - | ||
| Whiteknight | svn log -r 31199:HEAD | medit - | 01:17 | |
| I never got into the swing of vim or it's kin | |||
| particle | i never got away from it | ||
| Whiteknight | back when I was first learning it, I left my computer on for 4 days because I couldn't figure out how to exit it | 01:18 | |
| particle | it's an editor with line noise commands... perfect for this perl programmer. | ||
| chromatic | src/multidispatch.c is broken with regard to CPointer | 02:33 | |
| It's setting CPointer to stack locations, which isn't going to work. | 02:34 | ||
| Infinoid | is that related to the issues I'm seeing? | ||
| chromatic | Looks like it. | 02:35 | |
| Add this at line 170 in src/pmc/cpointer.pmc | |||
| fprintf( stderr, "Set %p pointer to %p\\n", pmc, value ); | |||
| then ./parrot examples/benchmarks/oofib.pir | |||
| Set 0x80db55c pointer to 0xbfc3cec0 | 02:36 | ||
| Set 0x80db2bc pointer to 0xbfc3cec0 | |||
| Set 0x80db0a8 pointer to 0xbfc3cec0 | |||
| Set 0x80dae5c pointer to 0xbfc3cec0 | |||
| 0xbfc3cec0 is way outside of any PMC pool... and it looks like stack storage, though I haven't checked the process map to be absolutely sure. | 02:38 | ||
| Infinoid | it sure does | ||
| Infinoid updates to r32063 | |||
| chromatic | I'm not sure the varargs unpacking code is correct in Parrot_mmd_add_function, even. | ||
| But that's a matter of taking one * off of STRING ** and PMC **. | 02:39 | ||
|
02:41
ab5tract joined
|
|||
| chromatic | That means CPointer's set_pointer has to dereference value pointers and merely copy pointers. | 02:42 | |
| Infinoid | ah. now that ccache isn't trying to go over an nfsmount over a slow VPN, things are actually building at a reasonable pace. (oops) | 02:44 | |
| chromatic | No reason we couldn't combine all of those operations in to set_FOO_keyed_str, where the key is the STRING type. | 02:48 | |
| Infinoid | infinoid@chirp parrot-trunk % ./parrot examples/benchmarks/oofib.pir | ||
| Set 0x994150 pointer to 0x7fff4ec3a5b8 | |||
| Set 0x993d60 pointer to 0x7fff4ec3a5b8 | |||
| [snip a bunch of pages] | |||
| Set 0xa1c190 pointer to 0x7fff4ec3a5b8 | 02:49 | ||
| Set 0xa1be10 pointer to 0x7fff4ec3a5c8 | |||
| zsh: segmentation fault ./parrot examples/benchmarks/oofib.pir | |||
| chromatic | 0x7fff... definitely looks like stack space. | ||
| Infinoid | yep, confirmed by /proc/[pid]/maps | 02:50 | |
| I'm seriously considering turning off this stack randomization stuff gentoo does. The numbers aren't consistent between runs, which make this kind of thing harder. | |||
|
03:24
apeiron joined
03:31
Zaba joined
03:38
apeiron joined
03:40
allison joined
03:42
apeiron joined
|
|||
| chromatic | Infinoid, look at Parrot_mmd_multi_dispatch_from_c_args though. | 03:43 | |
| With a signature like PP->I, the INTVAL is a pointer to an INTVAL. | |||
| See cmp in src/pmc/default.pmc for example. | 03:44 | ||
| In that case, the pointer *can* be to a stack location, because it's to a prior call. | 03:47 | ||
| Infinoid | hmm | 03:48 | |
| that sounds dangerous | |||
| chromatic | Parrot_mmd_multi_dispatch_from_c_args(interp, | ||
| "cmp", "PP->I", SELF, value, &retval); | |||
| It's an out parameter. | |||
| Infinoid | so what's to stop that spot on the stack from being overwritten? | 03:50 | |
| shouldn't it be copied to some more stable location when wrapping a PMC around it? | 03:51 | ||
| chromatic | In theory, the PMC shouldn't outlast that call frame. | 03:52 | |
| Infinoid | an "out parameter" is a return value, right? | ||
| chromatic | yes. | ||
| Because the MMD function doesn't know the arity of the function being called, you pass in pointers to locations where it will store the return values. | 03:53 | ||
| Infinoid | so you allocate something on the stack and return it, thereby "freeing" your section of the stack... then the caller goes and calls something else that uses a lot of stack... crunch? | ||
| chromatic | INTVAL retval; | ||
| /* Don't multidispatch if you've got two pointers to the same PMC. They | |||
| * are equal. */ | |||
| if (SELF == value) | |||
| return 0; | |||
| Parrot_mmd_multi_dispatch_from_c_args(interp, | |||
| "cmp", "PP->I", SELF, value, &retval); | |||
| return retval; | |||
| retval's a stack variable, so &retval is a pointer to a stack location, but return retval is fine because it returns a value, not a pointer. | 03:54 | ||
| Infinoid | ok, that makes sense. sorry, I thought we were talking about pointers to pointers | ||
| chromatic | Me too, but we're not here. | 03:55 | |
|
03:57
Ademan joined
|
|||
| Infinoid | what's a "PPP->P" signature? I'm not sure how to read that. | 04:02 | |
| takes 3 PMC arguments, returns 1 PMC? | |||
| chromatic | Yes. | 04:03 | |
| Infinoid | cool. | ||
| chromatic | allison, how does a CallSignature set return values through a CPointer PMC? | 04:05 | |
| Anyway Infinoid, that's why our backtraces were showing that BigInt and FixedIntegerArray and such were changing the value of the pointed-to value. | 04:10 | ||
| Infinoid | ok, that makes sense | 04:14 | |
| unfortunately, I think the memory containing this pointer got freed somewhere. | |||
| chromatic | We probably need to invalidate the CPointer PMC after we've finished manipulating its results. | 04:17 | |
|
04:27
tetragon joined
|
|||
| nopaste | "chromatic" at 69.64.234.10 pasted "Invalid CPointer After Setting Its Return Values" (49 lines) at nopaste.snit.ch/14342 | 04:28 | |
| chromatic | Infinoid, try that. It fixes things for me. | ||
| dalek | r32064 | chromatic++ | trunk: | 04:31 | |
| : [t] Fixed benchmark output results from floating point precision patch. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32064 | |||
| Infinoid | t/op/bitwise....ok | ||
| examples/benchmarks/oofib.pir runs to completion, too | 04:32 | ||
| chromatic | That's definitely an improvement. | ||
| Infinoid | absolutely. going through a "make test" now | 04:33 | |
| ab5tract is making smoke | 04:37 | ||
| Infinoid | All tests successful. | 04:39 | |
| chromatic++ | |||
|
04:40
donaldh joined
|
|||
| chromatic | Committing now. | 04:40 | |
| Infinoid | out of curiosity, what's the s/results/returns/ part about? | ||
| chromatic | See set_attr_str in the CallSignature PMC. | 04:42 | |
| Future-proofing. | |||
| dalek | r32065 | chromatic++ | trunk: | 04:46 | |
| : [src] Made return-to-C parameter handling invalidate any CPointer PMC used to | |||
| : store out parameter pointers. Without this, any GC which somehow marks a used | |||
| : CPointer PMC may attempt to mark a location on the C stack as if it were a | |||
| : pointer. That should frighten you. See RT #59880 for an example of the | |||
| : consequences. | |||
| : If CPointer PMCs get re-used, this may be a problem, but if you re-use a | |||
| : CPointer PMC, you're probably going to abuse your C stack in a very bad way | |||
| : anyway, and I may not help you, so don't do that. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32065 | |||
| chromatic | Hm, perhaps I should eat. | 04:47 | |
| Infinoid | oh hey, good idea. | 04:48 | |
| ab5tract is making smoke again | 05:08 | ||
| good shit yall ;) | |||
| dalek | r32066 | moritz++ | trunk: | 05:32 | |
| : [rakudo] Update README with instructions on how to run individual tests. | |||
| : Patch courtesy by Ovid++. Closes [perl #60016]. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32066 | |||
|
05:39
TimToady joined
05:40
diakopter joined
|
|||
| Infinoid | chromatic: I've closed #59880, thanks again. | 05:59 | |
| z & | |||
|
06:05
rajit joined
06:10
uniejo joined
|
|||
| allison | chromatic: still around? | 06:26 | |
| chromatic: ah, looks like you've got it sorted, and no longer need the answer to the earlier question | 06:38 | ||
| chromatic: giving the CPointer an empty signature, clever | 06:40 | ||
|
06:43
Patterner joined
|
|||
| chromatic | It might not even be worth marking anything in CPointer. | 06:56 | |
| allison | chromatic:possibly not, though if GC did run in the middle of a call, then it's useful to know that a string or PMC return value isn't going to be collected before the call completes | 07:07 | |
|
07:08
spinclad joined
|
|||
| allison | (in theory, it will be marked by the calling context, but can't necessarily guarantee that) | 07:08 | |
| allison sleeps, early to airport tomorrow | 07:09 | ||
|
07:16
bacek joined
07:30
cosimo joined
07:34
tetragon joined
07:56
iblechbot joined
|
|||
| bacek | evening | 08:16 | |
| moritz: around? | 08:17 | ||
| msg moritz There is 'sprintf' and 'chomp' is Str.pir in "todo" section. Looks like they already implemented | 08:19 | ||
| purl | Message for moritz stored. | ||
|
08:29
tomyan joined
08:49
TiMBuS joined
|
|||
| dalek | r32067 | fperrad++ | trunk: | 09:02 | |
| : [install] | |||
| : - remove Perl modules dependencies | |||
| : - this script must be shipped (see RT #58852) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32067 | |||
|
09:04
Zaba joined
09:12
Debolaz joined
09:49
kj joined
11:06
Bzek joined
11:18
Bzek joined
11:22
gaz joined
11:28
ruoso joined
11:33
masak joined
11:42
nopaste joined
12:00
TonyC joined
12:03
Lorn joined
|
|||
| moritz | I won't be there for #ps today, but I have nothing interesting to report anyway | 12:29 | |
|
12:44
davidfetter joined
|
|||
| ruoso wonders if anyone is aware of www.perlfoundation.org/perl6/index....tionformat | 12:59 | ||
| masak | is it release day today? | 13:00 | |
|
13:03
gryphon joined
|
|||
| Infinoid | I think so, yes | 13:04 | |
|
13:09
donaldh joined
13:15
xiaoyafeng joined
|
|||
| Infinoid | infinoid@tweet ~/parrot $ ./parrot examples/library/pcre.pir asdf as | 13:16 | |
| asdf =~ /as/ | |||
| 1 match(es): | |||
| Segmentation fault | |||
| purl | (Core dumped) | ||
|
13:16
jhorwitz joined
|
|||
| nopaste | "Infinoid" at 75.28.74.251 pasted "backtrace (bufstart pointer is null)" (34 lines) at nopaste.snit.ch/14346 | 13:17 | |
| Infinoid | NotFound: I think that's the same error you were seeing. | 13:18 | |
| ./parrot -G runs fine, of course. | 13:20 | ||
|
13:25
Wknight8111 joined
|
|||
| particle | masak: yes, i release today | 13:34 | |
| Wknight8111 | particle++ | 13:36 | |
| particle | moritz++ for applying ovid's patch before me | 13:37 | |
| Wknight8111 | the karma fairy sprinkles liberally! | ||
| particle | :) | ||
| i *really* hate releasing parrot with known segfaults | |||
| Wknight8111 | There are known segfaults? Which ones? | 13:41 | |
| and have you started the release process yet? Is it too late to update NEWS and stuff? | 13:42 | ||
| jhorwitz | Wknight8111: i submitted #60030 last night. chromatic and i worked on it before, but i was able to get a nice test case this time. | ||
| you're local, so if you fix, you could collect your beer in person. ;-) | 13:44 | ||
| PerlJam | particle: just remember that perl 5 AFAIK can still be made to segfault. | ||
| Wknight8111 | great, now I have to take a look at it | ||
| PerlJam | (I haven't played with 5.10 much, so they may have fixed most of the segfaults) | ||
| particle | Wknight8111: please update news, i haven't started the release yet | ||
| will probably be a few hours, as i'm getting paid for work atm :) | 13:45 | ||
| Wknight8111 | yeah, me too :) | ||
| jhorwitz has a sudden guilt trip and gets to work... | |||
| dalek | r32068 | Whiteknight++ | trunk: | 13:46 | |
| : [NEWS] Update NEWS with an IMCC change I made this week. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32068 | |||
|
14:02
barney joined
|
|||
| pmichaud | particle: what's the release eta? | 14:09 | |
| Wknight8111 | he said it's going to be a few hours | 14:11 | |
| I'm more interested in what the release version and release name is going to be! | |||
| and I really should be taking good notes if I'm going to have to do this in december | 14:12 | ||
| DietCoke | Wknight8111: the notes are already taken. docs/project/rel* | ||
| feel free to do a dry run to practice. =-) | |||
| Wknight8111 | trust me, I've already done one or two on my machine | 14:13 | |
| I thought about scheduling the day off work too, but I don't have any vacation time left and I need the money too bad | |||
| DietCoke | money++ | 14:15 | |
| pmichaud | I'm not in favor of a release that regresses, though. | ||
| DietCoke | which regressions are you referring to? | 14:18 | |
| pmichaud | the inplace math ops | ||
| DietCoke | I didn't realize we had any failing tests on that. | ||
| (I've pretty much given up on this release for tcl, though, so haven't been following much else.) | |||
| pmichaud | #59788, but apparently there are more. | ||
| particle | pmichaud: yeah, i want that fixed | 14:20 | |
| i may hold over until tomorrow for it, if we see a solution in sight | 14:21 | ||
| DietCoke | I added it as a dep on the release ticket. | ||
| particle | Wknight8111: the release number is 0.8.0 | ||
| i haven't even put two minutes thought into a name | |||
| DietCoke | I didn't realize it was a showstopper. | ||
| pmichaud | inplace might not be a showstopper, but we keep finding more fundamental failures in Parrot so I'm curious how many more are left. | 14:22 | |
| DietCoke | are we adding failing tests for these failures? | 14:23 | |
| (not that we'd have noticed them given that smolder's been dying for about a week) | 14:24 | ||
| pmichaud | yes. #59788 has tests. | ||
| #59630, too. | |||
|
14:25
grim_fandango joined
|
|||
| Wknight8111 | 8.0? nice! | 14:29 | |
| or, 0.8.0 | |||
| DietCoke | 0.8.0 | 14:45 | |
| note that 0.9 is NOT the last point release, a source of much confusion. | |||
| PerlJam | People won't be confused any more when 0.10.0 comes out :) | ||
| DietCoke | perhaps we should just jump to that. =-) | 14:46 | |
|
14:50
silug joined
|
|||
| dalek | r32069 | pmichaud++ | trunk: | 15:16 | |
| : [rakudo]: per #parrot, remove 'codetest' from 'make test' target | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32069 | |||
| Wknight8111 | What's the criteria to updating to 0.x.0 or 0.x.y? How do we decide whether it's a major or minor point release? | 15:18 | |
| pmichaud | addition of a major milestone feature causes a major point release | 15:19 | |
| Infinoid | isn't it a milestone thing? | ||
| pmichaud | in this case, mmd | ||
| Infinoid | cool. | ||
| particle | Wknight8111: www.perlfoundation.org/parrot/index...e_planning | ||
| things are a little out of order there, but we keep adjusting | |||
| pmichaud: are you ready to call ast 'complete'? can't remember if that milestone has been paid | 15:20 | ||
| actually, are compiler tools complete, too? | |||
| pmichaud | milestone for ast implementation is paid | 15:21 | |
| particle | where complete is >>80% | ||
| pmichaud | but not for ast documentation (still needs to be done) | ||
| oh, maybe I have that backwards | |||
| I think we've already done ast impl and doc, but only compiler tools impl | |||
| particle | that sounds right to me | 15:22 | |
| pmichaud | (i.e., we're still missing compiler tools doc) | ||
| adding that to my hiveminder list.... | |||
| particle | unless you count kj++'s tutorial | ||
| Wknight8111 | hiveminder! I started using hiveminder about a week ago, and I love it! | 15:24 | |
| it's turning my entire life around | |||
| Infinoid | wow. with a glowing review like that, how can I not check it out | ||
| pmichaud | what's really nice is being able to manipulate my hiveminder lists from irssi :-) | ||
| Wknight8111 | I haven't watched more then 15 minutes of TV since I got organized with hiveminder. Having a todo list right there in my face is amazingly motivating | 15:25 | |
| pmichaud | since I already have irssi open anyway, it's nice to just be able to type "/todo add compiler tools documentation [perl]" and have it go onto my list. | ||
| particle | hiveminder++ | ||
| wish it would work on my phone, att-- | |||
| so, should i pop the release number to 0.9.0 based on ast completion? | 15:26 | ||
| pmichaud | no | ||
| i'd still only go to 0.8, even if there are multiple milestones achieved. | 15:27 | ||
| Wknight8111 | What all milestones have been acheived this month? | ||
| I know we did the MMD stuff, what else? | 15:28 | ||
| particle | ok, i'm renumbering the release plan now | ||
| dalek | jerry.gay+openid@gmail.com | Release Planning: | ||
| link: www.perlfoundation.org/parrot/index...e_planning | |||
| particle | mmd/concurrency | ||
| Wknight8111 | I can't wait till we can finally get that GC milestone tackled! | 15:29 | |
| until that problem gets resolved, my sanity is going to be tenuous at best | |||
| especially with daily hiveminder emails about it in my inbox! | 15:30 | ||
| particle | currently, gc is scheduled for release 0.13 :) | ||
| Wknight8111: take a week off the reminder emails for your sanity | 15:31 | ||
| just postpone it, you're not going to work on it anyway | |||
| Wknight8111 | ...that sounds like a challenge! | ||
| DietCoke | particle: works fine on my at&t phone. =-) | ||
| dalek | r32070 | pmichaud++ | trunk: | ||
| : [rakudo]: Fix test output in 06-op-inplace.t (RT #60016) | |||
| : * Patch courtesy Ovid++ (publiustemp-perl6internals2@yahoo.com) | |||
| Wknight8111 | but no, you're probably right. I won't have time to work on it for a while | ||
| dalek | : * Now correctly reports failures as failures instead of misnumbered tests | ||
| : * Still some failing tests due to inplace errors (RT #59788 ?) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32070 | |||
| r32071 | pmichaud++ | trunk: | |||
| : [rakudo]: Correct infix:<**=> operation for new 'pow' opcode (RT #60016) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32071 | |||
| particle | pmichaud: r32071 is purely a workaround, correct? | 15:33 | |
|
15:34
jan joined
|
|||
| dalek | jerry.gay+openid@gmail.com | Release Planning: | 15:36 | |
| link: www.perlfoundation.org/parrot/index...e_planning | |||
| pmichaud | no. | 15:38 | |
| it's not a workaround. | |||
| particle | so, do the rest of the inplace ops need to change? | 15:42 | |
| pmichaud | I don't know yet | ||
| the difference for **= is that parrot doesn't have an inplace pow opcode | |||
| thus the code was doing pow a, a, b | |||
| which used to compute a**b and then store the result back in a | 15:43 | ||
| but now the pow opcode code something different | |||
| namely, it computes a**b in a new PMC and then sets the a register to point to the new PMC, leaving the original PMC untouched (i.e., it now acts like n_pow) | |||
| particle | ah | 15:47 | |
| dalek | r32072 | pmichaud++ | trunk: | ||
| : [rakudo]: Fix some tests in 06-op-inplace.t . | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32072 | |||
| particle | that seems wrong on the parrot side | 15:48 | |
| seems to me there should be inplace pow | |||
| pmichaud | eh, it's not likely going to matter anyway, at least for Rakudo. | 15:49 | |
| I suspect most or all of the inplace operations are going to end up not using the inplace opcodes anyway | |||
| unless we really think we get a significant optimization from it. | |||
| in Rakudo, a op= b is likely to be implemented as a meta operator, directly becoming a = a op b | 15:50 | ||
| at least for most values of "op" | |||
| we're agreed that t/02-test-pm/ should disappear, yes? | 15:54 | ||
| particle | sure, rip it out | ||
|
15:54
Theory joined
|
|||
| pmichaud | done in r32073. | 15:55 | |
| dalek | r32073 | pmichaud++ | trunk: | 15:56 | |
| : [rakudo]: Remove obsolete t/02-test-pm/ . | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32073 | |||
| DietCoke | particle: is "cd languages/pheme && make test" a showstopper for you to release? | ||
| particle | what's pheme?!?! ;) | ||
| the failures are the same in pheme as for tcl, right? | 15:57 | ||
| pmichaud: you need to delete the testtest target in perl6 makefile | |||
| DietCoke | particle: they're related. I can't say more than that with certainty | 15:58 | |
| pmichaud | particle: I thought I already did that. | 16:00 | |
| (r32069) | 16:01 | ||
| particle | ah, sorry i missed that one | ||
| ok, i have <30m to write an important work document, so i'm going incognito | |||
| i'll read scrollback | |||
| pmichaud | np -- I have errands to run, then I need to head back to the hospital | 16:05 | |
| I _may_ miss #ps today | |||
| if so, I'll post-contribute my report | |||
| (oh, for those who are wondering -- paula's having minor surgery today so I'm shuttling her to/from the hospital) | 16:06 | ||
| nopaste | "barney" at 84.154.51.71 pasted "Has IMCC been changed WRT macros?" (36 lines) at nopaste.snit.ch/14347 | 16:07 | |
|
16:28
sjansen joined
|
|||
| DietCoke | barney: odd. (I'd update the label and locals to use the macro versions of same, but even with that, I can't get that last line to compile | 16:34 | |
|
16:49
NotFound joined
|
|||
| NotFound | Hi | 16:49 | |
| DietCoke | NotFound: ho | ||
| barney | Coke: I think it's the macro constants .STAT_xxxx The order of evaluation might have changed | ||
| NotFound | Let's go | 16:50 | |
| DietCoke is found by his high school reunion committee. | |||
| DietCoke hopes his easy-to-remember email address helped. | |||
| dalek | r32074 | bernhard++ | trunk: | 17:00 | |
| : [Pipp] workaround for funny macro expansion weirdness | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32074 | |||
| Infinoid | All tests successful on 4 out of 5 of my linux boxes... that's a lot better than last week | 17:06 | |
| particle | pmichaud: let me know if you want to get spectest_regression.csv updates in before release | ||
| Infinoid | my only remaining failure is the pcre test in t/examples/library.t, and I'm not sure what's different about that box. | 17:07 | |
|
17:17
Theory joined
|
|||
| DietCoke | pcre version? | 17:19 | |
|
17:21
tewk joined
|
|||
| Infinoid | 7.7 | 17:22 | |
|
17:22
chromatic joined
|
|||
| Infinoid | hmm. the GC is barfing because we're allocating a buffer with a null pointer, and then trying to dereference it later during a compact_pool run | 17:22 | |
| #2 0xb7b57e46 in string_make_direct (interp=0x8050040, buffer=0x0, len=500, encoding=0x8070d88, charset=0x8072328, flags=0) at src/string.c:725 | 17:23 | ||
| buffer=0 is wrong, right? | |||
| oh, nevermind. the pointer is set and then nulled later by libpcre, that was nice of them. | 17:24 | ||
| Old value = (void *) 0xb72a5904 | |||
| New value = (void *) 0x0 | 17:25 | ||
| 0xb78db59e in pcre_compile2 () from /usr/lib/libpcre.so.0 | |||
| NotFound | NULL buffer and non zero length? | 17:26 | |
| Infinoid | yep | 17:27 | |
| pointer=0 length=0x500 | |||
| Wknight8111 | urg | 17:28 | |
| NotFound | Smells bad to me, even if valid. | ||
| Infinoid | I really doubt it's valid. | ||
| Wknight8111 | tell libpcre that I hate it | ||
| Infinoid | even if it didn't crash, it would leak memory | ||
| NotFound | Infinoid: if (buffer) { ... } else {s->strlen = s->bufused = 0;} | ||
| Is ignored. | 17:29 | ||
| DietCoke | smolder.plusthree.com/app/public_pr...st_failure ... that's looking pretty tragic for a near-release check. | 17:30 | |
| DietCoke fires up a run on his OS X box. | |||
| Infinoid | parrot's testsuite passes fine for me on 4 out of 5 boxes | 17:31 | |
| this crash is the only thing preventing the 5th from passing | |||
| particle | dietcoke: looks like it's a link problem, which is what's causing 5 test failures for me with t/src/ with msvc | ||
| NotFound | Infinoid: from where is that call to string_make_direct? | 17:32 | |
| chromatic | It'd be nice to bisect that link problem down to one specific patch. | 17:34 | |
| particle | yes, it would. | ||
| Tene | I don't have net access here, so no #ps for me. | 17:36 | |
| particle checks out r31199 as a starting point | |||
| Infinoid | NotFound: one moment, nopasting | ||
| barney | LDTA 2009 in York, ldta.info/, might be an interesting conference | ||
| particle | tene: any time to update pynie/cardinal news before release? | ||
| nopaste | "Infinoid" at 96.238.213.50 pasted "gdb log" (98 lines) at nopaste.snit.ch/14348 | 17:37 | |
| Infinoid | NotFound: see the first and second backtraces. but I don't think that's the problem... it seems to have been allocated correctly | ||
| the issue is, the pointer was unset later | |||
| particle | Infinoid: when you say testsuite, do you mean fulltest or test? | 17:38 | |
| Tene | particle: I'll be back online around 5:00 EST. | ||
| particle | tene: you may make the cut, then. thanks | ||
| Infinoid | I just mean test | ||
| once that passes, I can fulltest too :) | |||
| Tene | I'm on my phone right now. I don't think there are any svn clients for PalmOS. :) | ||
| (I certainly hope not!) | 17:39 | ||
| particle | i don't need a proper patch, bullet points will do | ||
|
17:39
allison joined
|
|||
| particle | however, you may need svn log to jog your memory, i know | 17:39 | |
| hey allison, travelling today? | |||
| allison | yup, flying to sfo | 17:40 | |
| Tene | Oh, sure. I'll /query | ||
| particle | from? | ||
| allison | portland | ||
| purl | portland is at www.perl.org/oscon/2003/portland/altis.html or (: oscon, pdx people) | ||
| particle | an, no worries | ||
| Infinoid | NotFound: I created #60042 so I won't forget about the issue. | 17:41 | |
| particle | allison: anything special i should worry about wrt release? | 17:43 | |
| pmichaud | particle: yes, I'd like to get spectest_regression.csv updates in today, but it may be 3-4 hours before I can do that | 17:44 | |
| NotFound | Infinoid: looks like the buffer is allocated, but length and bufused are set to zero. | ||
| pmichaud | it's not worth holding the release for, if that's the only thing holding the release | ||
| allison | particle: looks like we've had a fantastic effort at cleaning up smolder failures | ||
| particle | pmichaud: i *must* be *done* with release by 5p seattle time | ||
| pmichaud | that's 7p CDT -- hrm | 17:45 | |
| Infinoid | NotFound: yes, the values are set correctly later on in Parrot_allocate_string() | ||
| particle | pmichaud: your changes can go in last, since they're not code | ||
| allison: yes, and hopefully squashing a few more before release | |||
| pmichaud | particle: if I don't have it done by 3:30p PDT, it's not likely to happen. | ||
| Infinoid | wonder if there's a way of telling libpcre to not null our pointer. or maybe we can just give it a bounce pointer and fixup the case afterwards | ||
| NotFound | Infinoid: the setting to zero happens *after* calling Parrot_allocate_string | ||
| Infinoid | NotFound: ... by libpcre | ||
| dalek | r32075 | particle++ | trunk: | 17:47 | |
| : [RELEASE] updates for Cardinal and numbered release as 0.8.0 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32075 | |||
| NotFound | Infinoid: if libpcre manipulate string internal details, is not strange that if fails in bizarre ways. | ||
| DietCoke | particle: smolder.plusthree.com/app/public_pr...tails/6473 looks good, anyway. | 17:48 | |
| Infinoid | it is unsetting our pointer, it must think its a string literal or something (otherwise memory will leak) | ||
| DietCoke | (osx intel) | ||
| particle | boy, i wish those urls were friendlier | ||
| DietCoke | shorten that | 17:49 | |
| purl | That URL is at xrl.us/oumq7 [smolder.plusthree.com] | ||
| Infinoid | nice. | ||
| NotFound: we've made an NCI call out to a library that unset the pointer we gave it, which screwed up our internals. sounds like something NCI should handle | 17:50 | ||
| DietCoke <B extjs. | |||
| particle | friendly as in, parrot/darwin-gcc-x86_64/ or whatever | ||
| DietCoke | particle: there's a tag could, I think. | ||
| particle | and i'd love the test summary info at the top | 17:51 | |
| DietCoke | smolder? | ||
| purl | smolder is sourceforge.net/projects/smolder or web-based smoke test aggregator used by developers and testers to upload (automated or manually) and view smoke/regression tests using the Test Anything Protocol (TAP). or smolder.plusthree.com/app/public_pr..._reports/8 | ||
| NotFound | Infinoid: you must not treat a buffer under control of the string subsystem as an arbitrary pointer. | ||
| DietCoke | the smolder guy (mike?) has been very responsive when we ask for features. | 17:52 | |
| Infinoid | agreed. I think maybe we should create a bounce pointer and then give *that* to libpcre | ||
| DietCoke | bounce pointer? | ||
| Infinoid | we're giving it a pointer to a pointer, but that value is important to use for GC reasons | 17:53 | |
| tewk | Infinoid: you can tell NCI to transform a STRING to a char*, i think a 't' in the signature doesn that. | ||
| Infinoid | so I want to copy it and then give libpcre the copy | ||
| so it can unset it without breaking us | |||
| s/use/us/ | |||
| tewk | s/doesn/does | ||
| jhorwitz finds string GC maddening | 17:54 | ||
| Infinoid finds NCI confusing | |||
| its being called by pcf_p_tiB3P(), if that tells you anything about the signature it's using. | 17:55 | ||
| tewk | the B in the signature may not be right, it may need to be a t, file:line? | 17:57 | |
| Infinoid | typedef void * (*func_t)(char *, int, void **, int *, PMC *); | 17:58 | |
| DietCoke | better you get confused now than someone else at 1.0. or something. | ||
| Infinoid | yeah, I don't think the char* is the problem, I think its the void** | ||
| that's pcre_compile's char**errptr argument | |||
| tewk: nopaste.snit.ch/14348 | 17:59 | ||
| second backtrace. | |||
| tewk | Infinoid: where is the pir its trying to execute? | 18:00 | |
| Infinoid | oh. its something called from examples/library/pcre.pir, one moment | ||
| runtime/parrot/library/pcre.pir:89 | 18:01 | ||
| that NCI function is called by examples/library/pcre.pir line 56. | 18:02 | ||
| jhorwitz | that doesn't look right for the signature | 18:04 | |
| Infinoid | its a pointer to a char* which libpcre uses to give you an error string if something breaks | 18:05 | |
| but instead, we're passing a pointer to a string as an input, and libpcre is mangling it and breaking GC. | |||
|
18:06
particle joined
|
|||
| Infinoid | it is odd that this only breaks on one machine and not others | 18:07 | |
| allison | Infinoid: mmm, yeah, passing a pointer to a STRING in place of a pointer to a char * will certainly break things | ||
| tewk | Yeah its a char* OUT type variable, I'm trying to see how to handle that. B used to be the way to do that but I don't know now. | ||
| jhorwitz | i *never* got B to work | 18:08 | |
| tewk | B reached into the guts of buffers. | ||
| jhorwitz | tried to use it in mod_parrot years ago and i gave up | ||
| tewk | I think it worked before calling conventions got redone. | ||
| allison | we haven't changed the NCI calling conventions | 18:09 | |
| Infinoid | allison: well, we're giving it a pointer to the char* pointed to by the STRING... but its an output, not an input | ||
| when libpcre sets it to NULL, its really setting the STRING's pointer to NULL, which breaks gc later on. | |||
| (I think.) | 18:10 | ||
| allison | yeah, that's giving a little too much access to STRING internals | ||
| tewk | looking at tools/build/nativecall.pl:97 | ||
| Zaba | what does parrot use pcre for? | 18:11 | |
| tewk | 16172 paultcochrane # b => "Buffer *final_destination = | ||
| Infinoid | well, the NCI example, for starters | ||
| jhorwitz fails at "Failed to load libpcre" even with libpcre installed. hrm. | |||
| particle | pcre is optional | ||
| used as an example of linking an external library to parrot | |||
| NotFound | The library linking is another issue that needs some discussion. | ||
| particle | yes, i'm trying to find where it bork | 18:12 | |
| tewk | svn blame 16172 paultcochrane | ||
| I'm guessing it hasn't worked since pre 16172 | |||
| Infinoid | have we just gotten lucky and libpcre didn't try to overwrite the error pointer in most cases? | 18:13 | |
| chromatic | That sounds likely. | ||
| Infinoid | lucky me | ||
| tewk | Infinoid: It shouldn't be to hard to fix. | 18:14 | |
| NotFound | With code like that, minimal changes in garbage collection can break. | ||
| Infinoid | tewk: great, I'm pretty clueless but I'm open to suggestion | 18:15 | |
| tewk | give me a minute | ||
| particle | r31199 failed (t/src linking), trying r30000 | ||
| NotFound | "if compilation of a pattern fails, pcre_compile() returns NULL, and sets the variable pointed to by errptr to point to a textual error message. This is a static string that is part of the library. You must not try to free it." | 18:18 | |
| chromatic | We need to set the external flag on the STRING then somehow. | ||
| Infinoid | in my case, it's just trying to write NULL to errptr, which has disasterous consequences | ||
| jhorwitz | couldn't you pin it beforehand? | 18:19 | |
| tewk | "B" is the right answer, B is just broken. | 18:21 | |
| jhorwitz touches nose | |||
| Infinoid | tewk: ok. I posted that nopaste as RT #60042, but it's pretty terse, I can add your analysis to it | 18:22 | |
| tewk | I'm working on fixing it right now, assign #60042 to me | 18:23 | |
| Infinoid | great, thanks | ||
| chromatic | #ps in 7 | 18:24 | |
| allison | my flight leaves 20 minutes after #ps starts, so I'll miss question time. does anyone have any questions for me? | 18:26 | |
| chromatic | Why is there air? | 18:27 | |
| allison | So you can speak. | ||
|
18:28
Ivatar joined
|
|||
| particle | allison: if you have any suggestions for a release name, let me know | 18:29 | |
| chromatic | "A Golden Field of Radioactive Parrots" | ||
| kj | currently it seems 'broken wings' would do, but that's kindof bad for publicity :-P | ||
| allison | particle: There's the ever useful "Index of Parrot Species" www.avianweb.com/parrotspecies.htm | 18:30 | |
| NotFound | kj: 'Broken arrow' can be even worse X-) | ||
| allison | have we used "Antipodes Island" yet? :) | ||
| NotFound | Anti-pod? | 18:31 | |
| chromatic | #ps time | ||
| Infinoid | NotFound: its just like pod, but it contains disinformation | ||
| NotFound | Infinoid: I think we have several of that kind | 18:32 | |
| chromatic | allison, any ideas on how to unbreak Pheme? | 18:33 | |
| allison | chromatic: I suspect the problem is that PGE's output tree changed | 18:34 | |
| chromatic: I know the problem is that Pheme's TGE rules are returning null nodes, which shouldn't happen | 18:35 | ||
|
18:35
johbar joined
|
|||
| chromatic | Cannot find the attribute 'application' (PAST;Op) that you asked for. | 18:36 | |
| allison | chromatic: okay, so PAST attributes have changed | ||
| chromatic: are you using PCT PAST or custom PAST? | 18:37 | ||
| chromatic | PCT PAST. | ||
| transform application (PAST::Op) :language('PIR') { ... } | |||
| allison | chromatic: so it's very possible that it changed out from under you | ||
| chromatic | lib/ASTGrammar.pir:157:.sub '_PAST::Op_application' :method | 18:38 | |
| I don't know how TGE creates the subs for the attribute grammars. | 18:39 | ||
| DietCoke drinks a coffee. | |||
| I think that's an OK sub name; just need to key off the types properly in the dispatch() calls. | 18:40 | ||
| -think-. (never did get tcl working) | 18:41 | ||
| Tene: allison will not be here for questions, so ask over here now. | |||
| allison | chromatic: okay, I'll take a look on the plane | 18:42 | |
| DietCoke | de plane? | ||
| allison | en plane | 18:43 | |
| chromatic | en passant | ||
| DietCoke | check. | ||
| Tene | parrot;Foo;Bar and perl6;Foo;Bar are both created as class Foo;Bar. There's an RT ticket somewhere. | 18:45 | |
| I'll make mail later. | |||
|
18:46
masak joined
|
|||
| Wknight8111 | $real_job can be such a bother sometimes, like when it distracts me from #ps! | 18:47 | |
| jhorwitz | $real_job-- | ||
| particle | yeah. $real_job--. who's hiring? | ||
| Tene | Or takes me to Georgia, with no wifi. | 18:48 | |
| jhorwitz | oh the horror! | ||
| Wknight8111 | particle, I could probably get you a job here as a low-level hardware assembly guy | ||
| ...not that you would want that | |||
| jhorwitz | yes particle, get back over here. | ||
| particle | i haven't used a soldering gun in a few months... | ||
| Wknight8111 | good, we don't even have guns here, just shitty radioshack irons | 18:49 | |
| particle | i *didn't* get a job in pittsburgh today | ||
| jhorwitz | Wknight8111: you and i require a beer one happy hour in the near future. | ||
| particle | ...better than a one beer happy hour... | ||
| jhorwitz | well, it all starts with one.... | 18:50 | |
| Wknight8111 | why, did I do something good? | 18:51 | |
| jhorwitz | i didn't say i was buying... ;-) | ||
| Wknight8111 | haha! nice | ||
| I'm around in November if you want to get together and drink and hack | 18:52 | ||
| jhorwitz | we're 15 minutes away. the rules state that beer must be had. | ||
| Wknight8111 | Agreed | 18:53 | |
| jhorwitz | november it is then | ||
| masak | I have a question about point 1 of bacek's comment in rt.perl.org/rt3/Ticket/Display.html?id=57652 -- what does it mean, more exactly? | ||
| because I think I can do points 2 and 3 quite easily, so I'm wondering if point 1 is easy too. | 18:54 | ||
| jsut|work | there are 2 companies i know of looking hard for perl people in toronto. | ||
| particle | jsut|work: feel free to send me the details, i'll see if they're open to part-time telecommuters | 18:55 | |
| particle? | 18:56 | ||
| purl | The most abundant particle in the universe is the moron. or spin 1/2, charge 2/3 or jerry gay or a boson. or a bozon. or a bogon or one bad mobo. or full of lies | ||
| particle | particle is also mailto:jerry.gay@gmail.com | ||
| purl | okay, particle. | ||
| pmichaud | masak: bacek's patch is modifying PCT to allow a 'control' attribute | 18:57 | |
| masak | oh! didn't see the attached patch till now | 18:58 | |
| masak investigates | |||
| Infinoid | chromatic: you're welcome. | 19:00 | |
| particle | has the 'loop' refactor been done yet? | ||
| chromatic | welcome? | 19:02 | |
| purl | Heh, not likely around here you won't be. | ||
| particle | carrie fisher was born today in 1956 | ||
| chromatic | mmm cinnamon rolls | 19:05 | |
| jhorwitz | LOL | ||
|
19:06
cotto joined
|
|||
| DietCoke | I'm only using TGE because PCT can't do everything I need. I think. | 19:06 | |
| Tene | particle: no | ||
| DietCoke | I wouldn't complain if someone ported parrot away from TGE if the plan is to ditch TGE. | ||
| particle | the plan is not to ditch tge | ||
| DietCoke | s/ported parrot/ported partcl/ | ||
| pmichaud | DietCoke: even if PCT doesn't do what you need it to, NQP might. | 19:07 | |
| the "replacement" for TGE is really NQP, not PCT | |||
| particle | except see my "really ugly" comment about tree walking with nqp | ||
| pmichaud | I saw the comment but didn't understand | 19:08 | |
| particle | see the patch i emailed you | ||
| Wknight8111 | purl, the plan? | ||
| purl | well, the plan is to get you onto something, aevil. | ||
| DietCoke | basically, I don't have a preference, is what I'm saying. | ||
| particle | for $?BLOCK[0][1] { ... | ||
| pmichaud | oops, I have to run now | 19:09 | |
| time to head home again :-) | |||
| particle | ~~ | ||
| chromatic | That man seems born to run. | ||
| DietCoke | baby? | 19:10 | |
| purl | Baby me and you'll be peeing through a catheter! | ||
| masak | purl, you're obscene, grotesque and obnoxious. | ||
| purl | masak: sorry... | ||
| jhorwitz | purl requires an anger management module | 19:11 | |
| purl | jhorwitz: excuse me? | ||
| cotto | Great Tit would be a good release name (en.wikipedia.org/wiki/Great_Tit) | 19:12 | |
| chromatic | That *is* a nice name for 8 | ||
| cotto | although not technically a parrot | ||
| Wknight8111 | and not technically unobscene | 19:13 | |
| masak | does it have to be? | ||
| cotto | there are some nice Tits on that page | ||
| jhorwitz covers purl's ears | |||
| Wknight8111 | no, we can be as obscene as we want. Everybody knows there are no women on the internet :) | ||
| cotto | masak, I don't think "reverse sublimation" is a parrot either. | ||
| masak | jhorwitz: way, way too late | ||
| jhorwitz | :) | 19:14 | |
| masak | cotto: did I say it was? :) | ||
| chromatic | It might be nice to pick something that's not even tangentially sexist though. | ||
| masak | yes. | ||
| masak is slowly coming around to 'Octarine' | |||
| chromatic | Though I do admit "Caulked Snack" was Cockney slang. | ||
| masak | octarine's a nice color | 19:15 | |
| Wknight8111 | okay, I have to split. I have another meeting today on another IRC server. | 19:17 | |
| later | |||
|
19:17
Wknight8111 left
|
|||
| masak | has there already been a Parrot release named 'Cockatoo'? | 19:18 | |
| cotto | hmmm. it seems like Parrot's Wikipedia page should have a list of previous releases. | 19:20 | |
| masak | I know some page on the web does | 19:21 | |
| cotto | www.parrotcode.org/docs/parrothist.html | 19:22 | |
| masak | hm, says here #57332 depends on merging of the pdd25cx branch. that branch is merged now. maybe something I could look into? | 19:23 | |
| NotFound | Some objection to "typedef struct Parrot_Context Parrot_Contex;" and get rid of parrot_context_t ? | 19:27 | |
| (The lack of t in the second is a typo) | 19:28 | ||
| chromatic | Don't care either way. | ||
| NotFound | This will solve the current headerizer breakage and help prevent others. | 19:29 | |
| particle | if it breaks my release, i will break you. :) | ||
| chromatic | Solving the headerizer breakage gets +1 | ||
| particle | indeed | ||
| Infinoid | thought there already was a Parrot_Context typedef | ||
| NotFound | particle: you must found me ;) | 19:30 | |
| Infinoid: easily solvable | |||
| Infinoid | oh, I see | ||
| consolidation++ | |||
| chromatic | jhorwitz, your string segfault example in RT #60030 doesn't segfault for me. | 19:31 | |
| particle | even with --gc-debug? | ||
| jhorwitz | i had the same issue on 64-bit | 19:32 | |
| however, the "say" after the collect would print nothing or garbage | |||
| chromatic | With --gc-debug, the last say prints nothing. | ||
| jhorwitz | which is obviously not the right thing to print | 19:33 | |
| chromatic | True. | ||
| particle | infinoid: can you check svn log -r 20750 | ||
| t/src/compiler.t fails to link for me, with missing exported symbol PMCNULL | 19:34 | ||
| NotFound | chromatic: same results for me | ||
| particle | in 20750, you reverted my changes since thy broke darwin | ||
| but i'm not sure there's a fix for msvc again later | |||
| NotFound | Why PMCNULL must be exported? | ||
| chromatic | 'Foo::Bar' is a constant string though, stored in the bytecode. | 19:35 | |
| particle | NotFound: actually, i think linking needs to be fixed, not pmcnull exported | ||
| NotFound | From the outside, there is a function to be used to check pmc nullness instead of the macro. | 19:36 | |
| particle | PMC_is_null is tha function | ||
| jhorwitz | chromatic: i believe the string becomes "unconstanted" after substr cuz of COW. | ||
| in the parlance of our times | |||
| particle | ok, i'm hungry. sorry for the misdirection. | ||
| uncontantinople | 19:37 | ||
| chromatic | I have an idea then. | ||
| particle | unconstantinople | ||
| where are all these darned bugs coming from!?! we need less code. | |||
| jhorwitz | NotFound: the embed/extend API needs PMCNULL | 19:38 | |
| chromatic | From New Bugsterdam. | ||
| NotFound | jhorwitz: why? | 19:39 | |
| jhorwitz | so i can assign a NULL PMC to things | ||
| example... | |||
| from mod_parrot: Parrot_PMC_set_pmc_intkey(interp, handler, 0, PMCNULL); | |||
| sets foo[0] to an null PMC. | |||
| NotFound | jhorwitz: we can solve that with a function that returns a null pmc. | ||
| jhorwitz | that would work too | 19:40 | |
| particle | NotFound: please update NEWS with any pirric &| examples info you want added | ||
| nopaste | "chromatic" at 69.64.234.10 pasted "jhorwitz: Fix for in place substr with constant source string segfault" (14 lines) at nopaste.snit.ch/14349 | ||
| jhorwitz | oooooh, tasty tasty patch | ||
| NotFound | particle: sorry, I completely forgot it. | 19:41 | |
| particle | np, you have time | ||
| chromatic | Add another doit('Foo::Bar') call after the first, and you see that the source string isn't modified. | ||
| jhorwitz tries it on his 2 platforms.... | |||
| Infinoid | particle: can do | 19:43 | |
| jhorwitz needs to svn up... | 19:45 | ||
| Infinoid | particle: I take it r20767 didn't help? | 19:47 | |
| jhorwitz | chromatic: can you explain why that works in 50 words or less? | 19:48 | |
| particle | parrot had a cow, man. | 19:49 | |
| jhorwitz rolls eyes | |||
| purl | You rolled a 11, jhorwitz | ||
| chromatic | A string is a container. | 19:50 | |
| Infinoid | regarding r20750, declaring a local (uninitialized) PMCNULL variable may hide linker problems, but I'd prefer to actually solve them | ||
| chromatic | When you free a string, you free its contents. | ||
| A constant string is a constant container. | |||
| Passing a constant string and modifying it in place reuses the container. | 19:51 | ||
| particle | Infinoid: yes, you're correct with that approach | ||
| chromatic | Making the string COW reuses the contents until they change, and modifies the container. | ||
| Freeing the modified string during GC frees only any copied contents. | |||
| Looks like ~60 words. Sorry. | 19:52 | ||
| jhorwitz segfaults | |||
| purl | No whammies! | ||
|
19:52
peepsalot joined
|
|||
| jhorwitz | ah, looks like it works! chromatic++ | 19:53 | |
| DietCoke | segfaults works? | ||
| Infinoid | the 50 word buffer overflowed | ||
| jhorwitz | indeed | 19:54 | |
| DietCoke | ah. | ||
| jhorwitz | subtle | ||
| chromatic | This is probably a pattern we need to repeat in our code -- either always COW when we modify constants in place in ops, or COW constant strings passed as function arguments. | 19:55 | |
| The latter seems like a more complete change. | |||
| ... but this one fixes a release semi-blocker, so commit it goes. | |||
| jhorwitz | ...and there was much rejoicing. | ||
| chromatic | Nice test case too. | 19:58 | |
| jhorwitz | 3 weeks in the making. ;-) | 19:59 | |
| chromatic | Two line patch. | ||
| How nicely things work with simple PIR test cases! | 20:00 | ||
| dalek | r32076 | chromatic++ | trunk: | ||
| : [ops] Added a COW when attempting to modify a constant string with inplace | |||
| : substr when passed as a parameter to a function. This avoids strange GC | |||
| : segfaults. See RT #60030, reported by Jeff Horwitz. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32076 | |||
| chromatic | Three more tickets to go until we hit 650. | 20:01 | |
| DietCoke | 60020 should be pretty easy. | 20:03 | |
| (also, there are about 5 tickets relating to Storable version.) | 20:08 | ||
| chromatic | Like r32069? | ||
| Or was that just the Parrot side? | |||
| Just the Rakudo side. | 20:09 | ||
| DietCoke | his was just rakudo | 20:10 | |
| chromatic | Testing my patch now. | 20:11 | |
|
20:14
Zaba_ joined
|
|||
| dalek | r32077 | chromatic++ | trunk: | 20:16 | |
| : [lib] Removed coding standards tests from default test target (RT #60020). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32077 | |||
| r32078 | julianalbo++ | trunk: | 20:18 | ||
| : put pirric in NEWS | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32078 | |||
| NotFound | If we want to upset a lot of people, we can call this release: 'GOTO parrot' X-) | 20:25 | |
| cotto | I'm sure pirric will upset enough people as-is. | 20:26 | |
| particle | i just might have to call the release "Macaw-Palin" | 20:30 | |
| NotFound | What about 'Crisis? What Crisis?' | 20:31 | |
| cotto | "Parrot for President" | 20:32 | |
| chromatic | What should say_p output when given PMCNULL? | ||
| Stringy Undef? | 20:33 | ||
| DietCoke | BOOM? | ||
| purl | i think BOOM is the battery exploding. | ||
| Infinoid | perl6 say(undef) prints "\\n" I think | ||
| NotFound | Warning! Big commit! | 20:34 | |
| Infinoid | Danger Will Robinson | ||
| purl | use POE! ohh... DANGER! | ||
| dalek | r32079 | julianalbo++ | trunk: | 20:36 | |
| : typedef struct Parrot_Context Parrot_Context, replace parrot_context_t usages with Parrot_Context and update headerizing | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32079 | |||
| pmichaud | (say_p null) seems like it ought to throw the same exception that most other opcodes give when doing something with a null PMC | 20:37 | |
| chromatic | I'm thinking the fix in typeof is more useful. | 20:38 | |
|
20:38
allison joined
|
|||
| particle | how was the flight, alison? | 20:38 | |
| allison, even | |||
| dalek | r32080 | particle++ | trunk: | ||
| : [RELEASE] NEWS updates | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32080 | |||
| allison | particle: mercifully brief | 20:39 | |
| particle | ok, i have zero tuits to fix that link problem, so i'm skipping those tests | ||
| allison | I fixed the pheme problem too | ||
| it was a separator problem | |||
| PAST nodes now report their type as "PAST;Op" instead of "PAST::Op" | 20:40 | ||
| chromatic | The Great Divorce | ||
| purl | it has been said that the great divorce is good too :) CS Lewis is wonderful | ||
| pmichaud | that's just what typeof_s_p returns :-) | ||
| nopaste | "chromatic" at 69.64.234.10 pasted "Make typeof_p_p return Undef instead of PMCNULL (RT #59532)" (16 lines) at nopaste.snit.ch/14351 | 20:42 | |
| pmichaud | chromatic: is that because typeof_p_p returns PMCNULL if run on a PMCNULL argument? | 20:43 | |
| dalek | r32081 | allison++ | trunk: | ||
| : [CAGE] TGE now accepts classname strings that use either ';' or '::' as the separator. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32081 | |||
| pmichaud | or is there some argument to typeof that is returning PMCNULL as its class? | 20:44 | |
| chromatic | typeof_p_p returns PMCNULL when run on a namespace with no associated class. | ||
| pmichaud | ....shouldn't it be returning NameSpace ? | ||
| allison | typeof just calls VTABLE_name | ||
| dalek | r32082 | allison++ | trunk: | ||
| : [CAGE] Update Pheme to use ';' separators for PAST node names (since that's | |||
| : what the PAST classes use). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32082 | |||
| chromatic | typeof_p_p just calls VTABLE_get_class | 20:45 | |
| allison | so, every PMC gets to decide how it'll report its string name | ||
| pmichaud | $P0 = get_namespace ['Foo']; $P1 = typeof $P0; # I expect to get the NameSpace PMCProxy | ||
| allison: we're talking about typeof_p_p, not typeof_s_p | |||
| allison | I should say typeof_s_p | ||
| yes | |||
| chromatic | $P0 = get_namespace | ||
| $P1 = typeof $P0 | |||
| say $P1 | |||
| *crash* | |||
| pmichaud | I think that $P1 should end up being the NameSpace PMCProxy in that case | 20:46 | |
| having it return Undef is ... wrong. | |||
| allison | is this an unrelated conversation I wandered into, or is it related to the Pheme problem? | ||
| pmichaud | allison: unrelated to pheme | 20:47 | |
| allison | ok | ||
| dalek | r32083 | particle++ | trunk: | ||
| : [t] skip tests which fail to link with msvc -- fix these after release! | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32083 | |||
| chromatic | RT #59532 | ||
| pmichaud | I'm referring to chromatic's nopaste | ||
| it's causing typeof_p_p to return Undef instead of PMCNULL | |||
| I see two issues there. | |||
| First, say_p on PMCNULL shouldn't cause "boom" -- it should throw a "Null PMC exception" like most other operations | 20:48 | ||
| chromatic | I'm comfortable with that. | ||
| allison | oh, yeah, we've been changing all those Undef returns to PMCNULL wherever possible | ||
| pmichaud | secondly, typeof $P0 should always return something that is class-like. | ||
| (unless overridden, of course.) | |||
| allison | pmichaud: yes, Null PMC exception is right | ||
| particle | i hate fulltest | 20:49 | |
|
20:49
Theory joined
|
|||
| NotFound | A guideline on some doc about returning PMCNULL, NULL, or Undef will be helpful. | 20:49 | |
| chromatic | I'll put the Null PMC exception in place there and close the segfault ticket. | ||
|
20:50
zostay joined
|
|||
| DietCoke | I don't think anything "user facing" in parrot should be returning NULL. | 20:50 | |
| pmichaud | NotFound: the basic guideline I use is: PMCNULL == "doesn't exist", Undef == "exists but isn't defined" | ||
| DietCoke: hash['no_such'key'] returns PMCNULL | |||
| DietCoke | PMCNULL != NULL | 20:51 | |
| pmichaud | I agree there, then. | ||
| sorry, I misread. | |||
| DietCoke | I don't think anything "user facing" in parrot should be returning C's NULL. | ||
| pmichaud | I agree. | ||
| NotFound | DietCoke: mainly, no function whose result is assigned to register must never return NULL. | ||
| allison | no, Undef is Perl 6 | ||
| purl | okay, allison. | ||
| allison | PMCNULL is Parrot | 20:52 | |
| pmichaud | Perl 6 has no Undef | ||
| allison | returning Undef as an 'error' value is Perl 6 semantics | ||
| DietCoke | should we at some point commit a run of 'make headerizer' ? | ||
| allison | Parrot has an Undef, but it's only provided as a utility to various HLLs | ||
| pmichaud | Perl 6 returns Failure as an error | ||
| Perl 6 doesn't have an C<Undef> class. | 20:53 | ||
| NotFound | DietCoke: I've done it right now | ||
| allison | ah, so now we have legacy useless code | ||
| pmichaud | oh, it gets used | ||
| DietCoke | ah, so you have. | ||
| pmichaud | PCT makes use of Parrot's Undef type because it can't rely on having a Perl 6 runtime. | ||
| allison | okay, in the old days, Parrot returned Undef because Perl 6 wanted it | ||
| pmichaud | So yes, Undef then becomes perl-like semantics | ||
| NotFound | So we must deprecate the Undef pmc? | 20:54 | |
| allison | fair enough | ||
| NotFound: no | |||
| pmichaud | PCT and PGE depend on Undef | ||
| I just want to be clear (because it's a common point of confusion) that Perl 6 itself doesn't have a "Undef" type | |||
| allison | NotFound: we're just changing core types like Array and Hash to return PMCNULL instead of Undef | ||
| (have changed many) | |||
| pmichaud | We still need some sort of PMC in Parrot to represent undefined values | 20:55 | |
| allison | but, Undef is provided for HLLs | ||
| and for tools | |||
| though, if Perl 6 has abandoned the name "Undef", maybe we should use a more generic name for the Parrot type | |||
| because that name came straight from the old Perl 6 specs | |||
| TimToady | the most generic undefined type in Perl 6 is "Object" | ||
| pmichaud | "Undef" works well for me in Parrot | 20:56 | |
| allison | well, the relevant type here would be "Failure" | ||
| but, we don't really want that | |||
| chromatic | "Teenager" | ||
| Full of potential, but practically useless. | |||
| allison | pmichaud: It likely wouldn't make much difference to you if it was called "Undefined" instead, though | 20:57 | |
| pmichaud | allison: correct, other than it's yet-another-name to have to remember. | ||
| allison | pmichaud: or "Empty", or whatever | ||
| pmichaud | at least "Undef" roughly correspond's to Perl 5's "undef" | 20:58 | |
| chromatic | "CPD"? | ||
| DietCoke | allison: is that PAST::Op -> Past;Op change only if you're using some default PAST object? | ||
| allison | pmichaud: yeah, but we're supporting legacy specs that never saw the light of day, seems like a silly burden to put on future language implementors | ||
| NotFound | Maybe we can just use the Default pmc. | ||
| pmichaud | but you're right, it doesn't make much difference to me | ||
| DietCoke: when ['PAST::Op'] changed to ['PAST';'Op'], the way that Parrot reports the typename for PAST::Op objects changed from "PAST::Op" to "PAST;Op" | 20:59 | ||
| allison | DietCoke: it's basically whatever the output of 'typeof' is on the node you're transforming | ||
| DietCoke: so you can quickly check if you need to use "PAST;Op" or "PAST::Op" | |||
| NotFound: Default might work, though currently it's "abstract" never instantiated | 21:00 | ||
| dalek | r32084 | chromatic++ | trunk: | 21:01 | |
| : [ops] Added PMCNULL exception to say_p op to avoid segfaults when trying to | |||
| : stringify PMCNULL (RT #59532, reported by I Sop). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32084 | |||
| allison | NotFound: the scalar PMC might also work | ||
|
21:01
particle1 joined
|
|||
| allison | NotFound: but "Undefined" is more immediately obvious than "Scalar" | 21:02 | |
| DietCoke rants about "Null pmc access in invoke()" with lack of stacktrace. | |||
| chromatic | Pheme confirmed to work as of r32084. | ||
| NotFound | Yes, for code and error messages a descriptive name is better. | ||
| allison | NotFound: Also possible is creating an "Error" type, which could also contain an error message (explaining the reason for the Null return value), and allowing easy promotion to an actual exception in certain contexts or pragmas | 21:03 | |
| NotFound | DietCoke: if you want a stack trace, add an exception handler with hcf inside. | ||
| DietCoke | a -parrot- stack trace. | 21:04 | |
| allison | uncaught fatal exceptions should spit out a stack trace | ||
| NotFound | We have an opcode for that, if I remember well. | ||
| DietCoke | unfortunately, this is a rethrow'n one. | ||
| (If it's where I think it is. which of course, i don't know at the moment.) | 21:05 | ||
| pmichaud | chromatic: did you happen to catch my addition to RT #59778? I'm thinking that ticket should move to the parrot queue because it's not really a rakudo issue. | 21:06 | |
| chromatic | pmichaud, I saw that. You may be right. It could be that longjmp confuses gdb terribly. | 21:07 | |
| pmichaud | okay, just wanted to make sure you saw it. No rush for a fix from here. :-) | ||
| chromatic | It might also be the resumable exception problem as well. | 21:08 | |
| 42 new + 609 open = 651 | |||
| pmichaud | yes, I know moving it to the queue would work in the wrong direction. Maybe I need to close a parrot ticket before I move it :-P | ||
| NotFound | allison: sounds good, like Undef except that throws an exception with a descriptive message instead of "Null pmc access" in any usage other than check for defined | ||
| nopaste | "Coke" at 72.228.52.192 pasted "shouldn't rethrow show the full stacktrace here?" (18 lines) at nopaste.snit.ch/14352 | ||
| particle1 | allison: tene's question from earlier was about class registration | 21:09 | |
| particle | perl6;Foo;Bar and python;Foo;Bar both register as Foo;Bar | ||
| DietCoke | that is showing that the error occurred at the rethrow, making that just a throw. | ||
| allison | yes, that is a bug in the current registry code | ||
| pmichaud | tene's question is essentially RT #43419. | ||
| allison | it's one of the reasons we started ripping out the current registry | 21:10 | |
| ah, yeah, I looked at that ticket before, should have left a note | |||
| pmichaud | it's also a big reason why Rakudo does things like "Perl6Object", "Perl6Array", "Perl6Scalar", etc. -- because the non-Perl6 names are already taken by the class registry for 'parrot'. | 21:11 | |
| allison | which is silly, since that's the whole reason for having HLL namespaces | ||
| pmichaud | correct. it's also one of the reasons why I hadn't been pushing hard to get .HLL to work in Rakudo | ||
| (we now have lots of languages using PCT, though, and so we need .HLL to work so we can avoid global symbol name conflicts for things like "infix:+" | 21:12 | ||
| particle | yep | ||
| Infinoid does another run of make tests | 21:13 | ||
| NotFound | There is a note in oo.c:fail_if_type_exists that says: "The global type registry will go away eventually" | ||
| allison | yes, that's the intention | 21:14 | |
| but, it's longer away than expected | |||
| pmichaud | (I don't know, I expect it to be a very long ways away. You're saying it's longer than that? ;-) | ||
| allison | the quick fix (and probably also the right fix as long as we have the type registry), is to prefix all registered types with their HLL namespace | ||
| NotFound | Many, many moons ;) | ||
| pmichaud | OOC, would the quick fix also end up affecting typeof_s_p ? | 21:15 | |
| allison | well, the plan was to rip it out in the OO branch | ||
| pmichaud: no, the type registry is all through a separate interface | |||
| would have no effect on what's reported by typeof | |||
| pmichaud | allison: okay, I'm a bit confused there, but no problem. Would $P0 = get_class "Integer" then need to become $P0 = get_class "parrot;Integer" ? | 21:16 | |
| allison | no | ||
| the registry is a hash internal to Parrot | |||
| it only keeps an association of class name to type id | |||
| get_class searches the namespace, not the registry | 21:17 | ||
| pmichaud | ...it does? | ||
| allison | yup | ||
| pmichaud | hrm. | ||
| allison | so maybe there's another problem here, and that is code that's searching from the HLL root namespace, instead of the true root namespace? | 21:18 | |
| or vice versa | |||
| nopaste | "pmichaud" at 76.183.97.54 pasted "get_class searches wrong namespace?" (10 lines) at nopaste.snit.ch/14353 | ||
| allison | but, for the "already registered" problem, it's just the registry | ||
| pmichaud: you would expect that to say "Perl6Integer" instead? | 21:19 | ||
| pmichaud | I would expect it to say "class Integer not found" or return PMCNULL | 21:20 | |
| allison | why? | ||
| pmichaud | because there is no "Integer" class defined in the perl6 HLL namespace | ||
| i.e., there's no "Integer" namespace in the perl6 HLL | |||
| allison | okay, so you want no access to core parrot types when operating within an HLL | 21:21 | |
| that does make sense | |||
| pmichaud | no, I'm simply questioning whether get_class actually searches namespaces | ||
| allison | though it's likely to seriously disrupt some code | ||
| pmichaud | I think it currently looks things up in the registery | ||
| I'm not advocating for or against a position yet -- simply seeking to understand what is currently implemented | |||
| nopaste | "pmichaud" at 76.183.97.54 pasted "get_class searches registry? -- another example" (23 lines) at nopaste.snit.ch/14354 | 21:22 | |
| allison | the get_class opcode calls 'Parrot_oo_get_class_str', which searches the namespace | 21:23 | |
| pmichaud | I don't quite understand why get_class 'Integer' works then. | ||
| DietCoke | perhaps it's a fallback? | 21:24 | |
| (the result of a...) | |||
|
21:24
TiMBuS joined
|
|||
| allison | It has a default fall-back to create a PMCProxy by type number, if nothing is found in the namespace | 21:24 | |
| that does use the registry | |||
| pmichaud | okay, that explains it then. | ||
| I knew the registry had to be in use *somewhere* | |||
| DietCoke throws his rethrow question to the list. | 21:25 | ||
| Hopefully I'll be able to get tcl working with the tge updates post release. There's no status information about partcl in the repo anymore, so nothing to update pre-release. | |||
| pmichaud | again, I'm not advocating for a particular design -- I'll just be curious to know what the final answer will be. (I suspect the answer belongs in RT #43419.) | 21:26 | |
| also, I think it's more than just "create a PMCProxy by type number", because it works even for non-PMCProxy things | 21:27 | ||
| (nopaste coming up) | |||
| nopaste | "pmichaud" at 76.183.97.54 pasted "get_class searches registry -- example #3 for non-PMCProxy" (23 lines) at nopaste.snit.ch/14355 | 21:28 | |
| pmichaud | or it's creating a PMCProxy for the non-PMC type | 21:29 | |
| allison | that's just searching the namespace | 21:30 | |
| you mean 'MyFoo'? | |||
| pmichaud | yes | ||
| in example #3 it's searching the wrong namespace, then. | |||
| because the get_class is being run from the 'parrot' namespace, while 'MyFoo' is in the 'perl6' namespace. | |||
| what's really happening is that it's not finding ['parrot';'MyFoo'], so it's falling back to the type registry. | 21:31 | ||
| allison | would have to look at 'Parrot_get_namespace_keyed_str' to see if it's falling back | ||
| but, if it is falling back to the registry there, it's a bug | |||
| pmichaud | I'm reasonably sertain that ['parrot';'MyFoo'] doesn't exist. | 21:32 | |
| *certain | |||
| allison | a big bug, but easy to fix | ||
| I suspect it's a bug that a lot of code is relying on too | |||
| pmichaud | probably not so much | ||
| there hasn't been a lot of HLL usage yet, for precisely this reason. | |||
| afaik only Tcl is making heavy use of .HLL as yet | |||
| allison | yeah, it is fundamentally broken | 21:33 | |
| pmichaud | and as I said, I've been holding off on using .HLL in hopes that this would somehow get fixed | ||
| allison | well, the registry naming is easy to fix | ||
| pmichaud | (because I didn't want to be introducing a lot of broken code.) | ||
| (or, a lot of code that would break when we tried to fix it.) | |||
| fortunately most tools making use of P6object won't be affected, because they use protoobjects for their class manipulations and not stringified names. | 21:34 | ||
| allison | (the latter is likely, unfortunately) | ||
| pmichaud | we pretty much avoid making use of class string names in PCT | ||
| allison | using class objects is always preferred to using string names or type numbers | ||
| pmichaud | time for dinner here -- bbiah | ||
| particle | time for make fulltest | 21:35 | |
|
21:35
mberends joined
|
|||
| particle | ...which has failures... | 21:35 | |
|
21:36
Whiteknight joined
|
|||
| particle | Whiteknight: update news with any you might have, especially regarding the book/docs | 21:36 | |
| allison | could we smolder 'make fulltest' too? | 21:38 | |
| particle | i don't know... it's multiple harnesses | ||
| Whiteknight | Okay, let me look at it now | 21:40 | |
| Infinoid | make testC fails a bunch of stuff for me | ||
| on both 32-bit and 64-bit linux | 21:41 | ||
| Whiteknight | done | 21:44 | |
| allison off to pick up rental car | 21:46 | ||
| dalek | r32085 | Whiteknight++ | trunk: | 21:49 | |
| : [NEWS] Update NEWS with some information about what's changed in /docs/books | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32085 | |||
| GeJ | q | 22:00 | |
| my mistake | 22:01 | ||
| Good morning all. | |||
| Infinoid | hi GeJ | ||
| GeJ | Anyone familiar with stam_start, stm_wait and friends? | ||
| Heya Infinoid | 22:04 | ||
| purl | Infinoid is Mark Glines <mailto:mark@glines.org> | ||
| GeJ | thanks hun' | ||
| Infinoid | I'm not familar with them, sorry | 22:06 | |
| particle | PLATFORMS updates anybody? | 22:12 | |
| GeJ | could it be possible to SKIP t/stm/basic_mt_4.pir? | 22:16 | |
|
22:17
cognominal joined
|
|||
| dalek | r32086 | pmichaud++ | trunk: | 22:17 | |
| : [rakudo]: spectest-progress.csv update: 204 files, 4407 passing, 13 failing | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32086 | |||
| r32087 | pmichaud++ | trunk: | |||
| : [NEWS]: rakudo, pct, pge updates | |||
| particle | yes, but it would be best if it could be narrowed down to platform/arch | ||
| dalek | diff: www.parrotvm.org/svn/parrot/revision?rev=32087 | ||
| GeJ | it's already skipped on darwin, and it is know to hang on cygwin (#59790), freebsd (self) and --I suspect-- randomly on linux as well ( buildbot.eigenstate.net:8040/fc6-x8...-shell_3/0 ) | ||
| pmichaud | particle: I think I'm done with my NEWS and spectest-progress.csv updates. | 22:20 | |
| particle | thanks | ||
| pmichaud | I'm a little concerned about the 13 failing spectests in rakudo, though -- looking to see if those were just a timing issue or if they're still present. | 22:21 | |
| particle | pmichaud: i haven't done any language testing yet | ||
| pmichaud | (timing issue == failing at 00:00 CDT but fixed shortly thereafter) | ||
| particle | i wonder if #59788 can be fixed quickly, like **= | ||
| pmichaud | that's a parrot bug | 22:22 | |
| particle | ah :( | ||
| pmichaud | it has to do with the mmd merge, I think. | ||
| particle | yep | ||
|
22:22
Limbic_Region joined
|
|||
| Infinoid | GeJ: heh, hung here on linux on the second try. | 22:23 | |
| GeJ | Infinoid: It hangs on my freebsd box every time. | 22:25 | |
| I tried to look at it, but | |||
| 1) my C-fu is close to nil | |||
| 2) I got lost trying to understand the code | |||
| 3) When I wanted to come here for tuits, people were already busy with some bugfixing, so I hesitated to interupt. | 22:26 | ||
| Infinoid | its a thread race | ||
| GeJ | I believe so. | ||
| Infinoid | is there a ticket open for it? if not, opening one would be a good idea | 22:27 | |
| in the meantime, skipping the test seems appropriate to me | |||
| GeJ | there is one for cygwin | ||
| #59790 | |||
| I think it appeared with mmd merge. | |||
| particle | Infinoid: can you mark it skipped? | 22:28 | |
| Infinoid | will do | ||
| GeJ: thanks. can you can add a followup to that with your own test results? | |||
| and I'll add a note about the skip, and gdb output | 22:29 | ||
| GeJ | Infinoid: sure, will do. | ||
| Infinoid | heh, we aren't testing threads much. | 22:31 | |
| after my change: | |||
| 1..4 | |||
| ok 1 - wait (simple) | |||
| ok 2 # skip Intermittent failures on all platforms | |||
| ok 3 # skip Intermittent failures on all platforms | |||
| ok 4 # skip Intermittent failures on several platforms | |||
| GeJ | yup | 22:34 | |
| Infinoid | particle: done, r32088 | ||
| dalek | r32088 | infinoid++ | trunk: | ||
| : [t] Skip t/stm/basic_mt.t test #4 for now; | |||
| : it hangs on several platforms (cygwin, darwin, freebsd, and linux). | |||
| : This issue is tracked as RT #59790. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32088 | |||
| particle | thanks. unfortunately, this release is going out very dirty. | 22:36 | |
| i can't stop smokers from reporting failures, there's just too many | |||
| pmichaud | I think I found the 13 failing tests -- they may be due to a misconfig on my machine. | ||
| I'm regenerating spectest-progress.csv (at least the latest entry) now | 22:37 | ||
| Infinoid | its ok, X.Y.0 releases have never been known for their stability :) | ||
| dalek | Krishna Sethuraman | Parrot Development on Windows: | 22:38 | |
| link: www.perlfoundation.org/parrot/index...on_windows | |||
|
22:38
allison joined
|
|||
| particle | oh, gimme a break! t/pharness/01-default_tests.t fails due to removing codetest | 22:41 | |
| Infinoid | I've taken ownership of #59790 for now. compared to the memory management nightmares I've been flailing helplessly against for the last week, a thread race seems pretty trivial | 22:42 | |
|
22:43
bacek_ joined
|
|||
| Infinoid | (famous last words, probably.) | 22:44 | |
| GeJ | :-D | 22:47 | |
| I'll be available for any patch-testing if required | |||
| now, if I could only find my bitcard credentials... | |||
| Infinoid | so many sites, so little time | 22:48 | |
| chromatic wishes the repository browser actually worked | 22:49 | ||
| GeJ svn-sync every 2 hours and feeds a local trac setup. | 22:50 | ||
| DietCoke | (smolder multiple harness) just smolder each one with a different tag. | ||
| dalek | r32089 | particle++ | trunk: | 22:51 | |
| : [t] skip config tests i don't have time to understand how to modify properly before release of 0.8.0 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32089 | |||
| GeJ | works fine, except when commits use the #\\d+ notation that trac interprets as local tickets. | ||
| Infinoid | like my last one did? | 22:53 | |
| pmichaud | gotta run -- bbl | ||
| dalek | r32090 | pmichaud++ | trunk: | ||
| : [rakudo]: spectest-progress.csv correction: 204 files, 4413 passing, 0 failing | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32090 | |||
| DietCoke | seen kid51? | 22:54 | |
| purl | kid51 was last seen on #parrot 3 days, 5 hours, 46 minutes and 48 seconds ago, saying: The smolder report at r31992 was from me, and I know that I did not have Perl 6 build at the time that smolder report was run ('cause kid51 doesn't work like that!) [Oct 18 17:07:37 2008] | ||
| dalek | r32091 | particle++ | trunk: | 23:10 | |
| : [RELEASE] updated release info | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32091 | |||
| r32092 | particle++ | RELEASE_0_8_0: | 23:11 | ||
| : tagged release 0.8.0 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32092 | |||
|
23:13
chromatic joined
|
|||
| particle | ok, it's on cpan. now i need a name.... | 23:15 | |
| Infinoid | Smoking Crater | 23:16 | |
|
23:17
daxelrod joined
|
|||
| chromatic | Sheesh, I just fixed the make testC failures. | 23:18 | |
| Or at least worked around them. | |||
| Infinoid | actually, Octarine sounded pretty good | ||
| particle | i found a name | 23:19 | |
| Whiteknight | ??? | 23:20 | |
| chromatic | Did you already upload it? | 23:21 | |
| particle | yes, i did | ||
| i need to be done soon, seattle.pm beckons | 23:22 | ||
| chromatic | Let's hope no one wants to play with CGP then with the release version! | ||
| particle | i'll buy you a hot beverage if we get any unsolicited error reports for CGP this month | ||
| chromatic | Seems a safe bet. | 23:24 | |
| I'm not sure we can fix the code without the calling conventions branch merging anyway. | |||
| DietCoke | how can you upload a version before deciding on the name? | 23:26 | |
| dalek | r32093 | particle++ | trunk: | ||
| : [RELEASE] are we there yet? almost. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32093 | |||
| particle | i run into this every time... how do i fix perms on Parrot::Test::C99AST? | 23:37 | |
| pause perms | 23:38 | ||
| GeJ | All tests successful, 15 tests and 610 subtests skipped. | ||
| Thanks everyone. | 23:39 | ||
| chromatic | Is it an unauthorized release? | ||
| Generally the previous uploader has to disclaim ownership of all of those first-come/first-served modules. | |||
| dalek | r32094 | chromatic++ | trunk: | ||
| : [src] Temporarily disabled CGP when re-entering runops due to MMD calls. See | |||
| : RT #60048. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32094 | |||
| particle | ok, that's pmic | 23:40 | |
| pmichaud: Parrot::Test::C99AST needs pause fixing | |||
| then i can request reindex | |||