Parrot 4.8.0 "Spix's Macaw" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 8 November 2012.
kid51 loves to see whiteknight committing (again) 00:09
whiteknight I finally had something that I felt like I really needed to do 00:10
great motivation to get out of a slump
something is broken with pmc props 00:16
no, false alarm. a rebuild fixes it 00:21
dalek rrot/whiteknight/io_vtable_lookup: c3edcbd | Whiteknight++ | / (6 files):
Several fixes so the branch builds and passes most coretests. packfileconstanttable.t fails for some odd-looking reasons. I have not made test yet.
00:24
cotto Reini, any luck with the threads bug on Darwin? 00:26
I really want to merge that branch, but I also don't want to cause problems for kid51's box. 00:36
Coke is this the PPC box? 00:41
(OS X PPC is probably out of support from apple at this point, given the # of intel only releases of the OS)
cotto He said that it happens on x86_64. 00:42
01:16 Mike-PerlRecruiter_ joined 04:19 Reini_ joined 04:22 Reini_ joined 09:08 zby_home joined 10:29 moritz joined
dalek kudo/nom: cecc9fa | moritz++ | src/Perl6/Actions.pm:
replace QAST::VM with QAST::Op
11:16
13:13 PacoAir joined 13:17 Mike-PerlRecruiter_ joined 13:22 whiteknight joined
dalek kudo/qast-sink-1: 5ad032d | moritz++ | src/Perl6/Actions.pm:
first cut at sink context

compiles the setting, but fails during startup
13:36
whiteknight good morning, #parrot 13:43
15:41 Reini_ joined 16:48 tuxit joined 17:15 Reini_ joined
dalek kudo/qast-sink-1: 3f12074 | moritz++ | src/ (3 files):
only sink when --sink command line option is provided
18:16
Reini_ cotto: Not yet. Still busy in another world 18:27
whiteknight: There is more than just packfileconstanttable.t failing. See smolder.parrot.org/app/projects/rep...ails/32309 18:28
cotto: Looks like I can now reproduce the 2 remaining threads errors 18:39
t/src/embed_2 fails in puts("Done") 19:06
Is puts not thread-safe on darwin?
fprintf(stdout also fails. Parrot_interp_allocate_interpreter is wrong without parent for threads 19:17
msg whiteknight Do you have access to darwin? #856 is your domain. puts fails in t/src/embed_2.c. Somehow Parrot_interp_allocate_interpreter without parent corrupts IO. 19:19
aloha OK. I'll deliver the message.
Reini_ msg whiteknight See github.com/parrot/parrot/issues/856 19:24
aloha OK. I'll deliver the message.
19:25 bouncy joined 19:26 contingencyplan joined
dalek Heuristic branch merge: pushed 24 commits to parrot/threads by rurban 19:35
19:47 travis-ci joined
travis-ci [travis-ci] parrot/parrot#632 (threads - 524efde : Reini Urban): The build was fixed. 19:47
[travis-ci] Change view : github.com/parrot/parrot/compare/c...4efdecf459
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/3254145
19:47 travis-ci left
dalek rrot/threads: e9dea3c | rurban++ | t/src/e (2 files):
fix [GH #856]: a 2nd interp on threaded parrot needs a parent

On darwin IO fails when a second interp has no parent. Disable the failing tests for now. To fix this we would need to change the specs for Parrot_interp_new that either the interp are automatically connected, are subsequent NULL (empty parent) are disallowed.
19:50
Reini_ s/are subsequent/or subsequent/ 19:51
threads pass now. we need to discuss this with our customers (rakudo, nap, mod_parrot, …) 19:52
tadzik Reini_: did you try my testcase on nqp?
gist.github.com/3817314 19:54
Reini_ I think I have a better threads fix now. 20:03
tadzik: not yet
I connect now all subsequent interp as kids of the first 20:06
emergency_interp is the new default parrent 20:07
cotto ~~ 20:12
20:14 brrt joined
dalek rrot/threads: 24f8548 | rurban++ | / (3 files):
[GH #856] Clarify the Parrot_interp_new API for subsequent empty parents

Fixed the last blocking threads bugs, by automatically connecting subsequent new interpreters to the very first interpreter. Revert the test changes in the previous commit. t/src/extend_19 still fails for mysterious reasons, manually it passes, so TODO it.
20:18
Reini_ The API for Parrot_interp_new already suggested that only the first can have an empty parent. I clarified that now. 20:19
Looks like threads can now be merged :) 20:20
cotto ! 20:23
sorear Again? 20:24
tadzik :D
Reini_ I'll do some extensive tests now, also with rakudo 20:26
cotto same here 20:27
20:30 travis-ci joined
travis-ci [travis-ci] parrot/parrot#634 (threads - 24f8548 : Reini Urban): The build was broken. 20:30
[travis-ci] Change view : github.com/parrot/parrot/compare/e...f8548cb33c
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/3254594
20:30 travis-ci left 20:32 brrt joined
Reini_ tadzik: your case still fails. bad 20:42
cotto tadzik, that test can't work until the test libraries are updated to be thread-aware. 20:43
I'm planning on doing that as soon as I understand the branch well enough.
Reini_ tadzik's case was just gist.github.com/3817314 20:44
no Test::More
cotto oh 20:45
read that too quickly
dalek rrot/threads: 316916a | rurban++ | src/interp/api.c:
[GH #856] init the first emergeny_interp parent properly, hard tabs

Remove hard tabs. Init emergency_interp->parent_interpreter = NULL
20:50
Reini_ whiteknight was analyzing tadzik's case 20:51
cotto I can't build nqp against the threads branch. I'm verifying that it's the branch's fault. 20:52
looks like nqp's fault
maybe the gcc that comes with ubuntu 12.10 is pickier than previous versions 20:57
adding -fpermissive to gcc 20:58
's flags gets it working again
well, more working 20:59
21:02 travis-ci joined
travis-ci [travis-ci] parrot/parrot#635 (threads - 316916a : Reini Urban): The build was fixed. 21:02
[travis-ci] Change view : github.com/parrot/parrot/compare/2...6916aa13c1
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/3255045
21:02 travis-ci left
cotto and apparently gcc 4.7.2 doesn't like "typeid" as a variable name 21:02
tadzik++'s code still goes boom 21:08
21:25 Reini_ joined
cotto Adding -fpermissive to the list of gcc flags that Parrot uses makes nqp's casting problems go away. 21:27
any reason not to do that?
dalek kudo/qast-sink-1: 5574863 | moritz++ | src/core/Failure.pm:
Failure.sink makes the exception blow up
21:34
kudo/qast-sink-1: 3ee7808 | moritz++ | src/ (2 files):
unbreak Hash/Block distinction
21:44 brrt1 joined
Reini_ testing now with gcc-4.8 22:37
dalek rrot: 6d516e4 | cotto++ | config/auto/warnings.pm:
add -fpermissive so that nqp builds under gcc 4.7.2
22:42
22:44 brrt1 left 22:50 whiteknight joined
cotto hio whiteknight 22:52
whiteknight hey cotto
cotto It's getting close to merge o'clock for the threads branch.
nqp passes its tests under the parrot threads branch with one change that I mentioned in #perl6 23:03
whiteknight oh really, what change was that? 23:08
Also, I wasn't aware that NQP failed any tests in that branch, I just thought some of the lexpad stuff failed if the threads were actually used 23:09
but for single-threaded case I thought it worked the same as before
Also, I'm 75% of the way to some big improvements to the IO system (again). I'll send out an email soon with some details of what I'm doing and why 23:12
The first big change we have to talk about, if we want to buy what I'm selling, is to split FileHandle up into a new Pipe PMC
The ultimate goal is that we'll be able to treat any arbitrary PMC as a Handle type, without having to derive from or delegate to any existing handle type 23:16
cotto It's no a parrot-specific change. 23:18
gcc 4.7 doesn't like one of its variable names
*not
whiteknight oh, okay. So with that gcc fix, nqp builds fine?
cotto yup and passes its tests
whiteknight Okay, good
cotto rakudo also builds 23:19
running spectest_regression now
whiteknight I know that nqp lexpads don't work with threads yet. But I think we can still merge the branch and just tell the nqp folks that they just can't use them yet until we update nqp to be thread-safe
23:21 Hunger joined
cotto we're only at the stage of making sure that we don't break Rakudo when we merge 23:22
whiteknight yeah 23:23
dalek rrot/whiteknight/io_userhandle: 48f6e2e | Whiteknight++ | src/io/userhandle.c:
Update userhandle.c to redirect most low-level IO vtable routine requests to named methods on the handle object.
rrot/whiteknight/io_userhandle: fe092f7 | Whiteknight++ | / (2 files):
Fixes so the system builds
rrot/whiteknight/io_vtable_lookup: 849172b | Whiteknight++ | src/pmc/handle.pmc:
Remove read_buffer and write_buffer from Handle PMC, since they aren't explicit attributes
23:30
cotto seeing some test failures: gist.github.com/4108166 23:42
checking if they happen against master too 23:43
be back in a few hours
whiteknight That's in the threads branch? 23:45