00:26
jnap joined
00:46
lue joined
01:25
cognominal joined
01:27
jnap joined
02:28
jnap joined
03:44
colomon joined
04:29
jnap joined
05:30
jnap joined
08:32
jnap joined
09:33
jnap joined
10:33
tgt joined
10:34
jnap joined
11:35
jnap joined
12:35
jnap joined
|
|||
dalek | arVM: ab3061d | jonathan++ | src/core/bytecodedump.c: Correct str constant size in bytecode dumper. Unbusts it in at least some cases. |
12:55 | |
jnthn | The other case where it's busted is extops | 12:57 | |
dalek | arVM: c0f8015 | jonathan++ | src/core/bytecodedump.c: Detect extops or other op resolution failures. Don't actually resolve extops yet, but at least now we complain with an exception instead of SEGV. |
13:16 | |
FROGGS | cool | 13:17 | |
nwc10 | jnthn: please don't go offline for another 15 minutes, as I have you another bug I don't know how to solve | 13:22 | |
jnthn | nwc10: Ah, was gonna, but... :) | ||
I wait a moment | 13:23 | ||
nwc10 | was trying to write up e-mail | ||
jnthn | Given I may not be back again until after Christmas :) | ||
nwc10 | OK | ||
will try to do this quickly | |||
jnthn | Oh...that mutex one you found is interesting | 13:26 | |
And may explain some of the exit hangs... | |||
nwc10 | yes, have a diff I think might work | ||
jnthn | oh, no it doens't | 13:27 | |
But hm, yes, interesting :) | |||
And great find. | |||
yeah, I can see a fix | 13:28 | ||
Just release the mutex after the lookup, do the allocation not under it, then re-take it. | |||
Taking care to check we didn't lose the race. | 13:29 | ||
Adding a count is overkill, I think. | |||
nwc10 | I *think* so too, but I'm not the expert | 13:30 | |
(Would have written e-mail earler, but I was doing lunch) | |||
email sent, hopefulyl cohereny | 13:31 | ||
gah | |||
hopefully coherent | |||
jnthn | lol | ||
nwc10 backlogs #perl6 | 13:33 | ||
jnthn | nwc10: src/debug/gc.h has a macro for detecting "is this from formspace" | ||
nwc10 | please apologise to your family for delaying you | 13:35 | |
jnthn | They're currently yelling at pigeons for stealing crab apples from the tree... :) | ||
13:36
jnap joined
|
|||
nwc10 | naughty pigeons | 13:37 | |
yes. The SEGV is a read from fromspace, as fromspace is mapped as no access | |||
jnthn | Well, I can see two ways it could be going wrong | ||
1) Somehow the frame doesn't get marked. Seems unlikely, though. | 13:38 | ||
nwc10 | For that macro in src/debug/gc.h, it's that I really don't know enough to know the right place or places to be sticking it to spot how I end up with a register containing fromspace | 13:39 | |
or, at least, what I think is a register containing fromspace | |||
jnthn | 2) An earlier instruction sticks something into a register that is wrong | ||
e.g. the actual not-updated thing comes from elsewhere | |||
nwc10 | my suspicion was (2), but I hadn't even thought of (1) | ||
jnthn | I suspect 2 also. | ||
nwc10 | I don't know how to figure out (2) | ||
jnthn | Well, could try and work out which op loads it at least... | 13:40 | |
If you rwite something that just looks through all the object and string registers in a frame... | |||
...and applies that macro... | |||
nwc10 | I couldn't easily see how to work out where all the object and string registers are - should I be looking at the GC mark code that marks frames? | ||
jnthn | Yeah, moment... | 13:41 | |
nwc10 | OK | ||
jnthn | src/gc/roots.c:277 | ||
Basically, there's an array (local_types) that you use | 13:42 | ||
It has an entry for every register. | |||
(register and local are synonyms in Moar) | |||
nwc10 | OK. Right, I see. I think I can see how to (ab)use that | ||
most brute force is to scan the locals for each OP, and use that macro on each | |||
jnthn | Right :) | 13:43 | |
nwc10 | will be slow, but will be thorough | ||
I'll try that | |||
but probably not today | |||
thanks for the help. | |||
jnthn | Our register allocation is quite decent so there doesn't tend to be all that many | ||
nwc10 | OK, cool | ||
jnthn | It'll slow things down but it shouldn't be ridiculous. | ||
nwc10 shakes fist in the general direction of pigeons in Yorkshire, not that it will help. | |||
jnthn | Especially given you're working on stuff that'll be sat right in cache anyway. | ||
Heh, I'm in Stourbridge actually :) | |||
nwc10 | ah OK. | 13:44 | |
re-aim :-) | |||
jnthn | They seem to have gone away. However, it's now started raining. :) | ||
nwc10 | it's murky here | ||
had been fantastic hoar frost for 3 days | |||
jnthn | It was sunny earlier. | ||
nwc10 | now just mist and gloom | ||
not seen sun since yesterday | |||
jnthn | hah, hoar frost :) | ||
I always remember a Yahoo! Answers thread on that | |||
"Why is it called whore frost?" :D | 13:45 | ||
nwc10 | www.flickr.com/photos/34063820@N00/11434073646/ | ||
jnthn | ooh, pretty | ||
nwc10 | more photos, not uploaded anywhere yet | ||
jnthn | Anyway, thanks for the continued bug hunting :) | 13:47 | |
nwc10 | it's still fun. I can't promise I'll keep going once it's not fun | 13:48 | |
thanks for the help | 13:49 | ||
jnthn | OK, heading offline again, I think )) | 13:57 | |
See y'all later o/ | |||
nwc10 | have fun | ||
my head is definately too befuddled to take advantage of your insights yet | 13:58 | ||
timotimo | bye jnthn | 14:01 | |
i just noticed that the return value of nqp::getpayload of the exception we got is null | |||
or maybe that's just my local patch | 14:02 | ||
yeah, the payload ends up being null | 14:05 | ||
14:24
jnap joined
17:27
tgt joined
19:05
FROGGS[mobile] joined
19:13
FROGGS[mobile]2 joined
|
|||
nwc10 | jnthn: thanks. nailed it. | 20:48 | |
dalek | arVM: 3577a4e | nicholas++ | src/6model/bootstrap.c: In new_type(), assign the name to a C local variable as late as possible. Previously the assignment was being made just before a call which could invoke the GC, and hence cause the C local variable to be left pointing to fromspace. |
21:26 | |
FROGGS | nwc10: this is awesome! | 21:27 | |
nwc10++ | |||
21:51
cognominal joined
|
|||
nwc10 | we grind onwards. MVM_NURSERY_SIZE is now (1024 * 1557) | 22:00 | |
FROGGS | how do you do that btw? you apply one of your magic patches that does the work? | 22:02 | |
and then you wait until it explodes? | |||
or do you decrease the nursery size yourself? | |||
nwc10 | was grinding away with this script paste.scsys.co.uk/286676 | 22:03 | |
FROGGS | ahh | ||
your -j24 sounds nicer than my -j4 :o) | 22:04 | ||
nwc10 | not actually my machine | ||
and it seems that a lot of the NQP build is not that parallel | |||
FROGGS | yeah | ||
nwc10 | and there are bugs in the parallelism for hte Makefile for rakudo for MoarVM | 22:05 | |
FROGGS | ohh | ||
that is news to me | |||
nwc10 | couple that with the other seeming bugs, and I figured that it was better to grind away at NQP | ||
I think that when I build -j24 it failed | |||
haven't checked that recently | |||
FROGGS | have not seen patches in that direction either | ||
nwc10 | I didn't try to investigate it | 22:06 | |
hoped someone else would get there first | |||
FROGGS | I keep it in mind | ||
[Coke] | ugh. I fixed all that on parrot years ago, not looking forward to tackling it again. :) | 23:01 | |
FROGGS | [Coke]: we do that every few years now :o) | ||
[Coke] | is anyone actually able to run any spectests at this point? | 23:34 | |
FROGGS | yes, since a few days | 23:40 | |
[Coke]: jnthn++ fudged a few tests which would hang otherwise | 23:41 | ||
23:58
ssutch joined
|