FROGGS TimToady: you maybe need to make realclean in MoarVM and then a git submodule update 00:00
I can't imagine that it is something else because Ubuntu-ish x86_64 should just work 00:01
00:18 cognominal__ joined
[Coke] jnthn++ 00:48
diakopter TimToady: ping 01:24
TimToady: I've seen a problen like that when there is a conflicting nqp or parrot or something in the path. I'd try it with no p6 stuff in thr path if it is 01:27
01:41 jnap joined
TimToady jnthn: backtrace is at gist.github.com/TimToady/7700634 02:07
diakopter oh ok. 02:13
(yay that it's tracked down that far ;)
TimToady something funny going on with git though 02:15
if I switch to MoarVM and do git checkout master, it says I have something changed and unresolved, lib/MAST/Ops.nqp 02:16
which I dint change
trying to blow away MoarVM and reclone
diakopter sounds like someone did a force push or something 02:20
TimToady if I blow away and --gen-nqp (in nqp's Configure), it fails 02:24
if I --gen-nqp=master, it succeeds
TimToady guesses that nom's --gen-nqp isn't passing down it's option correctly to nqp's Configure 02:25
*its
trying nom's Configure again now that nqp has bootstrapped on moar 02:27
it seems to do a deeply suboptimal amount of work re-genning jvm and parrot backends before attempting moar 02:31
something is badly wrong with our configuration model 02:32
yes, doing --gen-moar from nom level breaks again; only cd nqp; perl Configure.pl --gen-moar=master fixes it 02:35
despite the fact that after the first, it thinks it's on master, and shows no diffs
TimToady scratches brane
TimToady will try the top level with --with instead this time 02:36
actually, just trying with only --backends now, and maybe it'll use everything nqp put together 02:38
02:39 BenGoldberg joined
TimToady the makefile seems to know how to build perl6-j, so that's a hopeful sign... 02:39
nope, doesn't find nqp-m, it's in nqp's install direction, not nom's 02:48
going back to rebuilding nqp with: perl Configure.pl --gen-moar=master --prefix=../install 02:51
after blowing away MoarVM again, because it segvs again 02:52
and of course, if you pass a --prefix to nqp's Configure, it doesn't add a .. to moar's prefix 02:54
lesson: don't use relative paths in prefix?
crumb, failed compiling BOOTSTRAP, moar: 3rdparty/libuv/src/unix/loop.c:150: uv__loop_delete: Assertion `!((((*(&(loop)->active_reqs))[0]) == (&(loop)->active_reqs)) == 0)' failed. 03:08
lue TimToady: ISTR getting that error a while back. If memory serves, that's not the source of the error. 03:11
TimToady vaguely recalls reading that too
lue tries the rakudo-moar process 03:12
03:13 colomon joined
TimToady first tries a make clean 03:14
duh, never did a git pull to get jnthn++'s fix, I think 03:27
nope, still fails to compile m-BOOTSTRAP 03:31
FROGGS++ was talking about m-BOOTSTRAP at irclog.perlgeek.de/moarvm/2013-11-26#i_7916795 but I don't know if that's germaine 03:37
okay, can't think of anything else, so here's the gist: gist.github.com/TimToady/7701310 03:46
04:16 colomon joined 04:28 woosley joined 05:40 BenGoldberg joined 06:11 ssutch joined
FROGGS TimToady: can you paste rakudo's Makefile? because that message is weird: failed to load library 'dynext/' 07:24
I guess your lines are different to these: 07:26
M_PERL6_OPS_DIR = dynext
M_PERL6_OPS_DLL = $(M_PERL6_OPS_DIR)/libperl6_ops_moar.so
nqp-m: say(nqp::backendconfig<dll>) 07:27
camelia nqp-moarvm: OUTPUT«lib%s.so␤»
FROGGS do you get that?
TimToady sec 07:29
gist.github.com/TimToady/7702585 07:30
lib%s.so 07:31
FROGGS okay, so I think it is either rakudo's Configure.pl's fault, or we have a problem spitting out nqp-m --dump-config again 07:36
what is your nqp-m --show-config | wc 07:37
jnthn morning o/ 07:47
FROGGS morning jnthn 07:48
jnthn So....what am I teaching today...
FROGGS jnthn: just ask your students how much they know about the topic and in what they are interested most :o) 07:50
jnthn :) 07:51
Seems that today we'll be adding shiny Ajax-powered stuff to our demo app (which is actually a beer review website) and conducting CSRF exploits...then hopefully fixing them. :) 07:53
FROGGS who had that website idea? :P 07:54
jnthn The course material author, apparently :P 07:55
FROGGS hmmm, why can I now close filehandles now again? it crashed last time badly...
hehe
:o)
ahh no, when I close stdhandles, the it is all fine in a test script after nqp was built, but I can't build nqp nor rakudo 07:57
TimToady I get 117 336 8685 08:06
jnthn bbiab &
nwc10 I get 08:50
Stage mbc : 1.980
and then the assertion abort from libuv
this is expected? And why is libuv still upset? 08:51
FROGGS TimToady: that is alright 08:52
would be interesting to know what happens here: 08:53
rakudo/Configure.pl:236: $config{'perl6_ops_dll'} = sprintf($nqp_config{'moar::dll'}, 'perl6_ops_moar'); 08:54
jnthn nwc10: Not sure on the libuv thing. I've been hoping somebody else will take care of it, but maybe I'll have to take a look at it sometime soon...
FROGGS nwc10: libuv is upset because there are unclosed and not cleaned up filehandles flying around... (from printing stagestats to stderr) 08:55
jnthn FROGGS: But don't they get cleaned up in global destruction? 08:56
FROGGS jnthn: no
see github.com/MoarVM/MoarVM/blob/mast...ndle.c#L48
jnthn: if I walk the filehandles in tc_destroy, and do the same magic as in the linked section, it still blows up 08:57
I mean, I still can't build nqp or rakudo
jnthn Hmm 08:58
FROGGS it is like we need to distinguish between stdhandles in user code and nqp/rakudo build code
jnthn We shouldn't need to do that...just need to be a bit more careful over lifetime management of them, I'd guess. 09:05
FROGGS hmmmm 09:08
:/
nwc10 I'm not *sure*. You both might be right. Or I might be teapot, or something 09:11
but there is this fun with "embedding" where "you" (the embedded program) don't own stdin, stdout, stderr
and you need to avoid closing them, unless the user program code explicitly told you to
the real quote is "If that's justice, then I'm a banana" -- news.bbc.co.uk/onthisday/hi/dates/s...503595.stm 09:12
but it doesn't an HTTP status code
(and gosh, Ian Hislop looks young in that photo) 09:13
IIRC that page is incomplete - it later turned out that the allegation deemed to be libelous was true
FROGGS nwc10: the current code (HEAD) does not close stdhandles, and this is why libuv explodes when deleting its event loop 09:16
btw:
nqp-m -e 'my $fh := nqp::getstderr; nqp::printfh($fh, "ohh noes!\n")' # explodes
nqp-m -e 'my $fh := nqp::getstderr;' # does not 09:17
when we close the handles (yes, even stderr), both commands do not explode
but this borks building nqp/rakudo
and that is something I dont understand
09:22 retupmoc1 joined 09:35 cxreg joined 10:03 woolfy left 10:07 woosley left 10:09 FROGGS joined
timotimo how far are we getting today? :) 11:04
jnthn Same as when I went to bed last night, I think :) 11:06
timotimo so ... no advance?
or the same amount of advancement as yesterday? :P
jnthn Well, we get to loading the setting and fail around line 500 afaict 11:08
timotimo oh, i worded my question poorly 11:11
i meant: at the end of today, where do you imagine the progress to be? 11:12
jnthn I really dunno 11:15
for me, I got a 4+ hour train journey home. Which sounds productive, but I can't work comfortably on a laptop on a train really...
So it'll be whatever time exists between getting home and needing to sleep :)
nwc10 does the train have beer? If so, is it decent? If so, is it anything other than insanely expensive? 11:16
FROGGS how does it fail actually? I just got a meaningless segfault IIRC
jnthn nwc10: Um...you can't take your own beer on the train. And what they have is probably both expensive and, like, stor stark or some crap... 11:21
nwc10 not that it matters for this question, but is that "you can't take beer onto the train" or "you can't drink your own beer on the train"? 11:23
jnthn uh...the latter :) 11:24
Hadnt' used to be this way
But then I guess stupid people ruined it. 11:25
nwc10 The former would be somewhat crazy.
jnthn aye
nwc10 In that in the UK there is provision for "dry trains" but they really are "no booze anywhere"
(not even carried unopened in the guard's van)
jnthn Who's gonna know if there's a bottle of something in your rucksack,though, if you keep it there? :) 11:26
ok, time to take @class to lunch...
12:09 tgt joined
FROGGS ahh 12:15
I have to twiddle perl6-m's libpath 12:16
TimToady: you have not a single moarvm config item in your generated makefile: gist.github.com/TimToady/7702585#f...1-txt-L985 12:39
I'll test if that is due to your prefix... (mine is nqp/install, and moarvm, nqp and rakudo are on the same directory level) 12:41
nwc10 vagrlind is reporting errors for current HEAD: paste.scsys.co.uk/282100 13:09
er, ex-current HEAD 13:10
I think that that was 66bf730ff695b5fb4c88ea60eb0b77bbf9fa2d0f - Implement SIG_ELEM_DEFAULT_FROM_OUTER.
FROGGS umm, I think I've got a patch for libuv's sadness 13:20
diakopter: ping 13:39
why does that what perl6-m do after stage mbc takes no cpu? 13:47
14:03 tgt joined
FROGGS looks my closing file handle patch is ending in a deadlock :/ 14:18
diakopter pong 14:37
FROGGS diakopter: hi
you remember that I once closed the stdhandles?
what were the problems with that on windows? 14:38
because I am testing a patch that would close all unclosed handles when shutting down
diakopter don't know the specifics
cool 14:39
FROGGS and it seems to work nicely on windows
(and linux)
k
diakopter but the global destruct phase is supposed to do that by calling gc_free on everything
FROGGS then I will commit after a bit more testing
diakopter: that does not seem to work here 14:40
I am closing opened handles in tc_destroy now
diakopter are their gc_free not being run?
FROGGS (right before deleting the libuv loop)
diakopter well it's supposed to clean them via the gc 14:41
FROGGS I think gc_frees got run, but maybe to early in some cases?
diakopter so that should be fixed instead
14:41 tgt joined
FROGGS but this particular thing works in tc_destroy but not in gc_free 14:41
the same code that is 14:42
diakopter what I'm saying is when the destruct phase or gc problem gets fixed, they will be closed then
it doesn't make sense for them to run "too early" 14:43
FROGGS what if you create a stderr fh in your test script that goes out of scope? when will gc_free on it be called? 14:44
damnit, not it hangs again after stage mbc -.- 14:46
s/not/now/
jnthn Once we reach global destruction we run no more code. 14:48
diakopter FROGGS: that's why I said a while ago the standard filehandles need globally created and rooted globally. 14:49
and then jnthn saif the same thing a few weeks later 14:50
jnthn Did we not already do that?
I remember it beign discussed
Not sure if it happened.
diakopter I don't think anyone did it 14:51
FROGGS I tested stashing them, without change in behaviour, so I not committed that patch
diakopter stashing?
FROGGS stashing 14:52
diakopter what is stashing
FROGGS gist.github.com/FROGGS/d245bd7f983e0b5c138f
diakopter can't click links on this phine terminal
jnthn phine is a curious spelling of effing... :P 14:53
diakopter I just wanted to know whether yiur patch rooted them
also, what "behavior" was your patch trying to solve 14:54
jnthn: lololol
FROGGS diakopter: that there is only one filehandle for stderr for example
diakopter oh, that's necessary to enforce too 14:55
jnthn It appears to fail to root them
diakopter wel
well
well then
jnthn Which certainly won't work out well :) 14:56
FROGGS k
retrying
diakopter FROGGS: but thr thing about them not being closed in global destruct is troublong
umless the closing thing in gc_free was removed 14:57
FROGGS diakopter: it was commented out because it caused trouble 14:59
might be related to not perm rooting the handles though
diakopter I'm sure that could be described very differently (without implyong it was that code to blsme) :p 15:00
FROGGS :o)
okay, nqp seems to build atm 15:01
15:03 benabik joined
FROGGS yay, rakudo built until the "cannot invoke null object" and then got stuck after printing the backtrace -.- 15:22
k, "nqp-m -e '1 1'" hangs too after the backtrace 15:24
jnthn aww
jnthn enourages FROGGS to hang on in there... 15:25
FROGGS does not dare to hope 16:17
16:37 FROGGS joined
dalek arVM/hope: 05eaefe | (Tobias Leich)++ | src/ (5 files):
stash and free std filehandles

STDIN, STDOUT and STDERR are created once per instance, and handed out on request. We now clean up all handles but the previously mentioned when gc_free-ing a filehandle.
17:06
arVM/hope: 5b3efce | (Tobias Leich)++ | src/ (4 files):
msvc does not like names like stdin
17:13
timotimo "hope" :) 17:16
FROGGS yeah :/ 17:21
would be cool if you could check that out
and rebuild nqp and rakudo or so
timotimo oh, sure thing 17:26
FROGGS that seems to work on windows too 17:31
timotimo i'm up to actions now.
FROGGS timotimo: btw, that libuv error will show up if we panic in moarvm land which does not gc_free the MVMOSFilehandes 17:32
timotimo ah, ok
i remember seeing that panic function show up in a stacktrace
FROGGS but this will only ever occur if we panic anyway, so there will be a proper error message above libuv's 17:33
timotimo yeah
that's acceptable
FROGGS I think so too
atm we die after printing stagestats even when the CORE.setting.moarvm got created successfully
now we get to the "Cannot invoke null object" straight ahead 17:34
do we actually know why it explodes like that? 17:36
timotimo it's about to finish. 17:39
i think i forgot to pass --optimize 17:40
retupmoca . 17:48
timotimo yeah, it does segfault. 17:50
i don't get that message you mentioned, FROGGS
4195926 9,9M -rw-r--r-- 1 timo timo 9,9M Nov 29 18:45 CORE.setting.moarvm
huh, we're still putting base64-encoded stuff into the .moarvm file? 17:51
my xxd just froze... wat? 17:52
17:53 FROGGS[mobile] joined
timotimo however, this is a thing: Unhandled exception: While looking for 'ModuleLoader.moarvm': no such file or directory at <unknown>:1 (perl6.moarvm:frame_name_9:6) 17:56
FROGGS[mobile] did you pull in rakudo too? 18:09
I'd guess you are missing the runner patch
timotimo oh, i didn't pull rakudo 18:13
FROGGS[mobile] Ohh, what a relief 18:27
timotimo Cannot invoke null object 18:28
:)
are the line numbers kind of off? 18:29
FROGGS[mobile] No idea 18:30
timotimo also, can i dump moarvm bytecode to a pretty-printed format easily?
FROGGS[mobile] There was no patch about that afaik
timotimo OK
what's with "frame_name_1901", is that very hard to improve?
diakopter yes
FROGGS[mobile] there is a --dump 18:31
diakopter --dump
timotimo moarvm --dump foo.moarvm?
FROGGS[mobile] Yes
timotimo [1] 14615 segmentation fault (core dumped) moar --dump CORE.setting.moarvm
yeah, it *did* dump
diakopter it may take a dump instead though
yes
FROGGS[mobile] And moar --dump nqp.moarvm -e '...' 18:32
diakopter no
that doesn't dwim
18:53 lizmat joined 19:02 woolfy joined
dalek arVM: 05eaefe | (Tobias Leich)++ | src/ (5 files):
stash and free std filehandles

STDIN, STDOUT and STDERR are created once per instance, and handed out on request. We now clean up all handles but the previously mentioned when gc_free-ing a filehandle.
19:27
arVM: 5b3efce | (Tobias Leich)++ | src/ (4 files):
msvc does not like names like stdin
FROGGS TimToady: I am trying now to reproduce you bug 19:33
timotimo tee hee 19:40
TimToady: yeah, that's right! you bug!
FROGGS ohh, hehe 19:41
silly me :o)
19:43 ssutch joined
FROGGS hmmm, I dont get that error 19:43
TimToady: you are on MoarVM=master, nqp=master and rakudo=moar-support, right?
and you do something like: perl Configure.pl --backend=parrot,jvm,moar --prefix=/home/larry/nom/install && make m-install 19:44
TimToady I gave a relative prefix, which may be the problem 19:45
FROGGS no, I do that usually 19:46
TimToady I can try it again with an absolute path
19:46 camelia joined
TimToady but you're not doing --gen-moar 19:46
FROGGS I'd like to get the output of rakudo's configure and build then :o)
hmm
true
where is your moarvm repo? 19:47
in the nom folder?
TimToady gen-moar delegates to nqp, which makes nqp/MoarVM
19:47 benabik joined
FROGGS I know... 19:47
okay, I'll try 19:48
ummm, --gen-moar checks out an old version on moar 19:52
of*
TimToady you need --gen-moar=master, but the branch doesn't get through to nqp
FROGGS ahh, yes
20:41 grondilu joined, tgt joined 21:15 cognominal joined
timotimo so, we're basically waiting for nthn to fix repossession? 22:14
FROGGS sort of, yeah 22:15
rp: say 'CREDITS'.IO.m 22:19
camelia rakudo-parrot e5fd34: OUTPUT«No such method 'm' for invocant of type 'IO::Handle'␤ in block at /tmp/XMhNXf3MYb:1␤ in any at /tmp/XMhNXf3MYb:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ in any eval at gen/parrot/stage2/NQPHLL.nqp:1133␤ in any evalfiles at gen/par…»
FROGGS rp: say 'CREDITS'.IO.^methods
camelia rakudo-parrot e5fd34: OUTPUT«open close eof get getc lines read seek tell write opened t print slurp spurt copy chmod IO path flush encoding d e f s l r w x z modified accessed changed say Str gist perl <anon> <anon>␤»
FROGGS rp: say 'CREDITS'.IO.modified
camelia rakudo-parrot e5fd34: OUTPUT«stat failed: No such file or directory␤ in method modified at gen/parrot/CORE.setting:12967␤ in block at /tmp/_kqCbGfAXK:1␤ in any at /tmp/_kqCbGfAXK:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ in any eval at gen/parrot/stage2/NQPHL…»
timotimo in theory i could just grab a random op that's NYI and implement that 22:25
any suggestions?
FROGGS dunno, p6listiter? 22:26
timotimo didn't i already implement that? 22:35
FROGGS doesnt seem like 22:36
jnthn static void p6listiter(MVMThreadContext *tc) { MVMObject *arr = GET_REG(tc, 2).o; MVMObject *list = GET_REG(tc, 4).o; MVM_exception_throw_adhoc(tc, "p6listiter NYI");
gah, paste fial
Notice the make_listiter that I already wrote, though ;)
You basically just need to call that. :) 22:37
And then shove what it returns into the result register.
Done. :)
timotimo ah, it may be uncommitted or unpushed
indeed. 22:38
that's my implementation. potentially lacks something, but what do i know :)
jnthn Things work just as well on my machine here at home as on my laptop, btw 23:06
FROGGS good to know 23:09
23:10 ssutch joined, tadzik joined
jnthn Will have some tuits tomorrow. 23:13
timotimo \o/
23:23 sricloud joined 23:25 BenGoldberg joined
FROGGS gnight 23:40
jnthn 'night, FROGGS 23:46