github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
Set by moderator on 27 September 2013.
JimmyZ TimToady: I got new ext name: .mbs Moar Byte[code] Stream 01:34
Moar bytes sequence
01:35 benabik joined 01:40 FROGGS_ joined 02:12 colomon joined
dalek arVM/moar: a04674a | jimmy++ | / (96 files):
s/moarvm/moar/ for most places.
02:20
JimmyZ .tell jnthn Please review github.com/MoarVM/MoarVM/commit/a04674a71c, thanks :P 02:22
yoleaux JimmyZ: I'll pass your message to jnthn.
TimToady JimmyZ: this all started with me hating the term "bytecode" 02:42
JimmyZ oh 02:47
Moar ByteStream 02:48
TimToady it's the "byte" part I most dislike
JimmyZ Moar Binary Stream 02:53
TimToady there are many kinds of binary streams that have nothing to do with machine code... 02:54
so it's a bit generic
JimmyZ well, chinese people don't like BS, the some special chinese culture 02:55
02:57 foo_bar_baz joined 03:33 japhb joined 03:51 japhb joined 06:59 patspam joined
ingy is post-moartem 07:13
FROGGS_ TimToady: what about .mar - Moarvm ARchive 07:24
dalek arVM/ext: c2efaad | (Gerhard R)++ | / (18 files):
Start implementing DLL support

Symbols are still stubbed.
09:26
arVM/ext: 0551ac5 | (Gerhard R)++ | / (6 files):
Implement DLL symbols
arVM/ext: d6227fc | (Gerhard R)++ | src/ (3 files):
Improve naming
MoarVM/ext: 60c7254 | (Gerhard R)++ | / (14 files):
09:28 not_gerd joined
not_gerd o/ 09:28
FROGGS hi not_gerd 09:32
not_gerd plans for this weekend: 3rd (4th? - hopefully last) refactor of ctypes 09:35
after that, extension ops
jnthn JimmyZ: looks fine to me, didn't try building it yet 09:37
yoleaux 02:22Z <JimmyZ> jnthn: Please review github.com/MoarVM/MoarVM/commit/a04674a71c, thanks :P
not_gerd jnthn: question about REPR naming conventions: 09:44
why do we have MVMString on Moar but VMString on JVM?
and what should DLLSym be called - DLLSym, VMDLLSym or MVMDLLSym 09:45
09:46 grondilu joined
jnthn Where do you find VMString, ooc? 09:47
On JVM it's just the String type 09:48
not_gerd s/VMString/VMArray/, then 09:49
jnthn Yeah, but it's called VMArray on moar too
At least, that's the user-facing name it's registered under.
In general, those registered with a prefix of MVM are specific to MoarVM 09:50
That is, you can't expect another backend to provide them
not_gerd should the MVM_REPR_ID_* be made to match the names?
that'S where my confusion came from
jnthn Yeah, those can match the name it's registered under too 09:54
Only thing that I think we have inconsistent is prefixing anything exposed in a .h file with MVM so we only nab one prefix.
not_gerd makes sense MVMVM is a mouthful 09:55
jnthn Aye :)
not_gerd we could change the prefix to Moar and do the explicit double prefix for internal types - MoarMoarString ;) 09:56
jnthn :P 09:57
not_gerd jnthn: github.com/MoarVM/MoarVM/issues/59 10:12
jnthn yeah, just read it in email
that captures my thoughts on it nicely
dalek arVM: d995b33 | jimmy++ | / (96 files):
s/moarvm/moar/ for most places.
10:14
jnthn hm, wtf... Just did a selftest, building with latest NQP, and got a bunch of failures... 10:17
JimmyZ nqp-cc]# make 10:19
/usr/local/bin/nqp --target=pir --setting=NULL --stable-sc --output=NQPCOREMoar.setting.pir nqp-src/NQPCORE.setting
Confused at line 621, near "IO Methods"
jnthn That just means too old nqp
not_gerd got a clean selftest with nqp 2013.09-50-gc6320d3 10:20
before thes/moarvm/moar/, that is
jnthn Yeah, I got 2013.09-117-g959d4c6 here 10:22
not_gerd btw, selftest now creates a non-ignored nqp-cc/tmp file 10:24
jnthn I guess there are things going on to do with recent grammar changes as part of the cursless work
ah, just needed to sync latest NQP changes 10:30
dalek arVM: a3baf8c | jnthn++ | nqp-cc/t/nqp/ (6 files):
Sync test files from t/nqp repo.
10:48
arVM: 3f1c266 | jnthn++ | nqp-cc/nqp-src/ (4 files):
Sync with latest NQP.
arVM: f53577b | jnthn++ | nqp-cc/tools/build/NQP_REVISION:
Bump NQP_REVISION to latest.
arVM: 036b8f4 | jnthn++ | nqp-cc/t/nqp/8 (2 files):
Add 2 new t/nqp tests from main NQP repo.

One passes right off, the other needs work.
jnthn JimmyZ: Things work fine here after the rename 10:54
JimmyZ great
jnthn: Do we want travis-ci? 10:58
moritz parrot's experience with travis CI was that it was full of noise and false positives 10:59
maybe it improved since then
JimmyZ it's easy to be improved 11:01
i.e: only be noticed here when build status only changed or only failed 11:02
jnthn JimmyZ: Not yet; maybe after we have a top-level test target figured out 11:12
JimmyZ ok :-) 11:14
not_gerd I could add a test target that builds nqp-cc and runs selftest 11:16
however, I suspect sson-ish the logic would need to be turned inside-out
jnthn Right :)
not_gerd (ie NQP triggering MOarVM build)
jnthn So it'd be throwaway :)
And we've enough non-throwaway things to do ;)
not_gerd *soon-ish
jnthn arrgh 11:23
I found the cause of the "MVMHash representation requires MVMString keys" issue 11:24
It was as silly as I'd expected
dalek arVM: 0911768 | jnthn++ | src/6model/serialization.c:
Use correct type object for serialize result.
11:25
not_gerd git agrees - that was bad and even gave it an appropriate sha 11:26
JimmyZ hehe 11:27
jnthn :D 11:28
dalek arVM: b03f381 | jnthn++ | src/core/bytecode.c:
Avoid reading uninitialized memory.

Could happen if we did error reporting early enough in bytecode reads.
11:30
arVM/pointers: 66dc88f | (Gerhard R)++ | src/6model/reprs/MVMDLLSym.c:
Make DLLSym unbox to int
arVM/pointers: a466609 | (Gerhard R)++ | / (7 files):
Implement UnsafePtr
arVM/pointers: db4f314 | (Gerhard R)++ | / (7 files):
Implement MemBlob
11:33 colomon joined
jnthn yays 11:39
C:\\consulting\\MoarVM\\nqp-cc>..\\moar.exe nqp.moarvm --target=mbc --output=x.moarvm -e "say(42)"
C:\\consulting\\MoarVM\\nqp-cc>..\\moar.exe x.moarvm
42
FROGGS jnthn++ # fixing the sillyness :o)
cool!! 11:40
dalek arVM: c35115b | jnthn++ | src/mast/driver.c:
Don't pretend bytecode is ASCII.

Otherwise it *will* be corrupted. :-) With this, --target=mbc will now write a bytecode file that will run standalone.
JimmyZ
.oO(moar is executing an moarvm...)
FROGGS seems like an successful-starting weekend
for example my wife's shop is now capable of handling paypal payments since an hour! 11:41
jnthn yay :) 11:42
FROGGS took quite some time to understand what needs to be done :o)
(Dancer++ btw)
jnthn FROGGS: Gee, been a while since I did PayPal integration :) 11:43
FROGGS yeah, I usually avoid doing webstuff these days... but I can't say no to my wife :o)
jnthn ;)
FROGGS and the shop is le awesome, took just about ten evenings so far 11:44
(from zero to paypal)
jnthn Cool
FROGGS but let's build moarvm now :o) 11:46
grondilu FROGGS: no prestashop?
FROGGS grondilu: no, selfhacked 11:47
grondilu with client database and all?? 11:48
FROGGS no, no client db 11:49
we just take the info from paypal 11:50
(I don't expect more than five orders a day) 11:51
grondilu well, considering prestashop is written in PHP, I understand why you may have prefered cook your own solution. Maybe someday someone will release a full open-source e-commerce solution in Perl 6. 11:52
FROGGS grondilu: well, I guess the reason was that I didn't think about looking for another shop at all 11:53
jnthn bbiab 11:54
diakopter :-) 12:16
dalek arVM/ext: d995b33 | jimmy++ | / (96 files):
s/moarvm/moar/ for most places.
13:27
MoarVM/ext: a3baf8c | jnthn++ | nqp-cc/t/nqp/ (6 files):
13:28 dalek joined
not_gerd bye, #moarvm 13:43
FROGGS jnthn: t/nqp/19 just fails because it tests for a CREDIT file, which is in a different path in the moarvm repo
not_gerd
.oO( or should that be #moar now? )
FROGGS *g* 13:44
13:44 not_gerd left 13:57 _ilbot joined
moderator github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
FROGGS about `make install`: moar + all dynamically linked libs need to land in --prefix, right? 14:02
14:13 benabik joined
jnthn Probably in a bin/ under prefix, yeah 14:17
FROGGS yeah, right
jnthn
.oO( is that the sarcastic "yeah, right"? :P )
14:18
FROGGS that makes me fear about rpath under Mac/BSD's >.<
jnthn: no, just a lazy sleepily one 14:19
jnthn hm
I've no idea how those work :P
FROGGS nobody has *g*
jnthn I just know that Mac seems to be super super special when it comes to linking ;)
FROGGS the good thing is that I have all these platforms here... prepared with git and make-toolchains 14:20
jnthn \\o/
FROGGS wow, do we build all 3rd-party libs statically? 14:31
that means we won't have problems at all
jnthn ;-) 14:34
sysadmins may have problems with *us*, but yes, we can skip having that class of problems for now :)
dalek arVM: 6604ed7 | jnthn++ | nqp-cc/ (4 files):
Eliminate .class/:jvm hacks.

Bumps NQP_REVISION to get an NQP with :moar options in QAST::VM.
14:44
benabik Oh, my GC segfault in selftest went away. So that's good. 14:47
jnthn No, that just means it's a heisenbug :(
diakopter benabik: I thought it was on my gcorch branch
benabik diakopter: Nope, master.
Well, it was segfaulting reliably until I pulled latest. 14:48
TimToady
.oO(a gcorched earth policy)
diakopter I gcoff in your general direction
TimToady 's garbage starts to accumulate 14:49
benabik When did camelia learn nqp-moar and does this mean she'll be on this channel soon? 14:52
dalek arVM/make_install: 1f105f2 | (Tobias Leich)++ | / (2 files):
added make install target
14:53
diakopter "my list of things that suck would not be complete without mentioning Perl's garbage collection, which by the way, sucks" - mjd just now
benabik Refcounting with M&S for circular refs? Not the worst thing ever (in concept, no comment on implementation) 14:55
diakopter [paraphrased] "Moose is kindof a wash....... except for Roles; Roles are awesome"
benabik Is mid giving a talk somewhere? 14:56
s/i/j/
diakopter yes, pghpw.org/ppw2013/talk/5097
benabik One of these days I should go to PPW. It's close enough to be reasonable. (Far enough to be a pain.) 14:57
diakopter you can make it by tomorrow
JimmyZ when I saw '<title>PostgreSQL: The world's most advanced open source database</title>' in postgresql.org, I was thinking about '<title>MoarVM: The world's most advanced open source Virtual Machine</title>' 14:58
diakopter .. it's far from that :P 14:59
benabik There's not a lot of good OSS VMs.
diakopter general purpose? mono is extremely good. 15:00
benabik I might be able to make PPW by the end of the day if I left now. I think there would be a few objections to that.
diakopter but mono's problem is the tens of thousands of open bug reports
JimmyZ mono has no NFG
jnthn Nor has Moar yet :P
JimmyZ hehe
jnthn Though we probably still get strings less wrong already :) 15:01
JimmyZ we have an NFG branch
jnthn Yeah. And we don't have a screwed up "UTF-16 16-bit thingies are characters, right?" model.
benabik I suppose I shouldn't forget mono, as it runs a couple of my favorite games. :-D 15:02
grondilu wonders what is an "advanced" virtual machine. Seems very subjective to him.
timotimo diakopter: when did mono get "extremely good"? 15:08
diakopter: i mostly hear "OMG MONO SUX!!!kkk" out in the wild, but i have no idea if the people who say that can be trusted on that
ingy morning o/ 15:09
benabik Given its wide use in Unity, mono seems Good Enough(tm). 15:10
ingy timotimo: have you been using mono?
TimToady you seem to assuming that Unity is Good Enough(tm) :P
*to be, or not to be
timotimo i have not 15:11
ingy Unity is good enough reason to use Gnome3 :D
benabik Well Unity is good enough to run CW3 and KSP, so it's good enough for me. :-)
TimToady there is that
timotimo i'm pretty sure benabik wasn't refering to the unity thing canonical made
ingy oh sorry
TimToady was referring to the canonical thing 15:12
ingy anyway timotimo I need some help using nyaml with mono
nyaml is a c# impl
timotimo i was considering learning c# to get into game development (but not unity or anything like that) 15:13
ingy but I don't know anything about how you compile or run csharp
benabik double clicks on the game. That seems to work.
(For running C# anyway)
ingy benabik: what do you mean? 15:14
diakopter ingy: think C++, but readable
FROGGS jnthn: `make install` currently only installs moar, the binary... do we need something else?
benabik ingy: Several of my games are written in C#. Running them seems easy enough.
jnthn FROGGS: nafaik
FROGGS jnthn: seems to work on linux+windows 15:15
otwfm :P
timotimo benabik: can i look at some sauce?
diakopter -_-
benabik timotimo: Retail games, sorry. :-/
timotimo oh 15:16
that's fair ;)
benabik Although there are source-available plugins for KSP. Including one that's a scripting language...
jnthn FROGGS: Looks fine, feel free to merge 15:18
ingy echo 'Console.WriteLine ("hello");' | csharp
^^ I got that to work
diakopter ingy: yep it has a faked-up repl thingy
ingy but I'd like to install the nyaml "module" and run some one liners on it 15:19
diakopter: you used mono at all?
diakopter yes
ingy oh sweet
I'll bug you then
dalek arVM: ee94a4d | (Tobias Leich)++ | / (2 files):
added make install target
diakopter I'll debug you then
ingy after my bike training ride
bbi3h 15:20
&
TimToady
.oO(ingy is training bikes?)
FROGGS yeah, train it some respect! 15:21
jnthn Probably safer than biking trains...
15:25 arnsholt joined
jnthn FROGGS: hmm...if I --prefix=install it ignores it 15:46
FROGGS: and always puts it directly in ./bin 15:47
FROGGS hmmm 15:49
ahh, I know why
dalek arVM: 64fd905 | (Tobias Leich)++ | Configure.pl:
actually take --prefix into acount
15:52
JimmyZ hmm, look like install: before all: Makefile will make `make` always install
FROGGS ohh 15:53
JimmyZ s/Makefile/in Makefile
/
jnthn d'oh, yes...
FROGGS I didn't know that the first rule is takes by default... I thought 'all' was magical 15:54
JimmyZ I tought 'inst all' is the magical, hah
*thought
dalek arVM: 83a2a67 | (Tobias Leich)++ | build/Makefile.in:
let "all" be the default rule, JimmyZ++
15:55
diakopter jnthn: can roles "does" other roles?
jnthn diakopter: yeah 15:57
FROGGS ahh, I am missing all the fun when I lurk here exclusively
jnthn diakopter: Though it's just a "oh btw I do this other role" until you actually have a class somewhere
diakopter stevan is putting abstract classes in p5-mop just so they can be named as nouns instead of behaviors 15:59
jnthn: see what I mean? 16:01
jnthn kinda-ish.. 16:02
Though I very rarely use abstract classes in languages that provide them.
Not sure they pull their weight. 16:03
diakopter yeah it definitely adds unneeded complexity to p5-mop, imho
jnthn Well, if it's being facotred anything like 6model it shouldn't be core.
It's just another meta-object.
Oh, I guess maybe you want to parse "abstract" before class 16:04
diakopter jnthn: since roles and classes share the same namespace, what practically prevents them from being unified things but with two keywords 16:05
tadzik benabik: wow, games. What kind of games?
dalek arVM: 355b4e0 | jnthn++ | src/ (2 files):
Add a --libpath option; currently unused.

Will control where loadbytecode will look. Needed for NQP bootstrap.
16:14
arVM: 7ea058a | jnthn++ | src/core/loadbytecode.c:
First pass at handling libpath.

Improvements, especially to platform handling, welcome.
jnthn diakopter: Probably not much... :)
diakopter: Aside from you may want inheritance-y semantics.
16:15 ssutch joined
jnthn If anybody feels strongly enough about the above two patches to redo them, I won't object so long the outcome is less wrong. :) 16:17
FROGGS ahh, this libpath maps to @*INC? 16:27
jnthn Well, NQP doesn't have that, but kinda-ish, yeah :) 16:29
It's "just enough" that I should be able to get the stage0, stage1 etc loaded correctly 16:30
FROGGS cool
TimToady diakopter: in P6, roles are immutable, and classes are not. You might say that classes are role containers :) 16:37
keeping abstractions immutable will contribute to optimizability at some point 16:39
when everything is mutable, nothing much is statically analyzable 16:40
we got rid of tie for the same reason
dalek arVM: 4d45b76 | (Tobias Leich)++ | build/Makefile.in:
make prefix/bin/moar executable
16:55
FROGGS echo "to do" 16:56
to do
:o)
dalek arVM: b674414 | jnthn++ | src/mast/driver.c:
Prevent GC messing up bytecode -> file.
17:28
arVM: 067a66e | jnthn++ | src/core/loadbytecode.c:
Only use libpath prepended file if it exists.
arVM: 1ed29ab | jnthn++ | nqp-cc/nqp-src/ModuleLoader.pm:
ModuleLoader tweaks in support of bootstrap.
18:04 benabik joined 18:24 camelia joined
FROGGS nqp-m: say("hello #moarvm!") 18:25
moritz the first execution is always slow
camelia nqp-moarvm: OUTPUT«hello #moarvm!␤»
FROGGS \\o/
jnthn Even in another channel? :)
moritz don't take this to mean anything
yes
FROGGS nqp-m: say("hello #moarvm! again")
jnthn ok :)
camelia nqp-moarvm: OUTPUT«hello #moarvm! again␤»
FROGGS awesome
moritz jnthn: seems to be per camelia process, not per channel or implementation
jnthn ah, ok 18:26
FROGGS well, doesn't really matter, right?
jnthn moritz++ # camelia on #moarvm
FROGGS moritz++ # yesh!
moritz diakopter++ asked for it :-)
diakopter well, and then retracted the request :) 18:32
oh, to be in this channel... 18:44
erm, .shutup 18:45
TimToady you mean $.shutup? 18:59
we're not sure what's in $_ :)
FROGGS well, there is a /topic 19:00
jnthn
.oO( see the /topic )
diakopter hm, what's $.
FROGGS a public attr?
dalek arVM: d097476 | jnthn++ | / (8 files):
settypehll and settypehllrole ops
19:11
arVM: e75385d | jnthn++ | nqp-cc/nqp-src/NQP.nqp:
Fix a typo.
diakopter less is maor 19:13
jnthn my $param_kind := self.type_to_register_kind($var.returns // NQPMu); 19:18
um, type objects are always undefined :)
FROGGS heh
dalek arVM: 14e67ac | jnthn++ | nqp-cc/src/QASTCompilerMAST.nqp:
Fix natively typed parameter's compilation.
19:31
FROGGS nqp-m: say(nqp::cwd()) 19:42
camelia nqp-moarvm: OUTPUTĀ«At Frame 0, Instruction 38, op 'shell' has invalid number (1) of operands; needs 4.␤ at nqp-src/QASTMoar.nqp:7955 (./QASTMoar.moarvm:assemble_and_load:15)␤ from nqp-src/NQPHLL.nqp:914 (./NQPHLLMoar.moarvm:mbc:70)␤ from nqp-src/NQPHLL.nqp:1322 (./NQPHLLM…»
FROGGS nqp: say(nqp::cwd())
camelia nqp: OUTPUT«/home/p6eval␤»
dalek arVM: 9f46b63 | jnthn++ | / (7 files):
Add and map isint/isnum/isstr ops.
19:43
diakopter FROGGS: that error happens when jnthn bumps the nqp revision level 19:46
I'm not sure how to make the evalbot recognize it 19:47
FROGGS ahh 19:48
add a cronjob that rebuilds it if say(1) dies 19:49
diakopter heh. 19:50
FROGGS :o)
diakopter I suspect that a git fetch is missing somewhere in the Configure.pl
TimToady we should just teach make to handle git dependencies :D 19:51
jnthn Bootstrapping progress: first 4 files build so far, explode on the 5th 19:53
TimToady half done already, eh? 19:54
diakopter wat.
well, they build, but doesn't mean they work 19:55
TimToady SMOD
ooh, selftest fails file-ops and decode 19:56
decode says No registered operation handler for 'encode' 19:57
file-ops sez: Failed to stat file: no such file or directory at t/nqp/19-file-ops.t:14 (<ephemeral file>:frame_name_0:4294967295) 19:58
diakopter TimToady: see scrollback about fileops 19:59
jnthn TimToady: Yeah, not Moar regression, just that I sync'd latest t/nqp from the main NQP repo today
diakopter encode should work
jnthn We didn't have an 82-decoe before.
diakopter oh
19:59 japhb_ joined
TimToady okay, just so's it's knone 19:59
jnthn It's a new test file since we last sync'd
yeah, matches what I have here. Thanks. :) 20:00
Darn. :(
20:00 foo_bar_baz joined
jnthn Building QRegex works under the VS debugger, but blows up from command line 20:00
diakopter when I've seen that happen, it's because it's double-closing stdout
so I put a horrible hack in a while ago to prevent closing it at all 20:01
.oO( need to fix that.... )
(but maybe the hack got subverted) 20:02
jnthn Not sure where that'd be going on...
diakopter gc_free
for some reason VS doesn't trap/fail on the double-close, but the shell does 20:04
FROGGS :o(
jnthn diakopter: Currently gc_free of MVMOSHandle does...nothing.
diakopter haha; sum1 buheleted
20:04 colomon joined
jnthn bah, heisenbug indeed. If I --stagestats it, it works... 20:05
timotimo haha, great >_<
jnthn Typically, it doesn't segv under VS when I add that too... 20:07
diakopter okay make it output to stdout something other than stagestats... :)
(to confirm that it's just writing to stdout that makes it work)
jnthn no, it's not about that, it seems... 20:12
NQPHLL also explodes, and --stagestats don't fix that.
will vs get this one...
yes, it does get this one. 20:13
diakopter what are the stagestats, btw :) 20:15
jnthn --stagestats gives timing info on each compilation stage 20:16
oh hmm, this is a jolly bad idea...
diakopter no, I mean what *are* the stagestats, not *what* are the stagestats
jnthn 6.1s parse for QRegex, but this is an unopt build which makes quite a diference. 20:18
diakopter what's parrot for parse QRegex 20:19
ingy *what* *are* *you* *talking* *about* *?*
jnthn diakopter: no idea without going and tweaking the makefile
diakopter oh
jnthn Well, found at least one bug... 20:22
Sadly, not the only one. 20:23
FROGGS :/
dalek arVM: 5265856 | jnthn++ | src/6model/serialization.c:
Fill out static code ref setup during deserialize.
arVM: 5ea138c | jnthn++ | src/6model/serialization. (2 files):
Don't hold a pointer to memory that gets realloc'd

Otherwise, we can end up looking at an old version of it.
jnthn But again --stagestats masks it 20:24
diakopter writer->root.sc->body->root_stables[writer->stables_list_pos] 20:27
jnthn longer, but righter :)
diakopter: btw, the stagestats output goes to stderr, not stdout... 20:28
diakopter oh, heh. 20:32
jnthn OK, so if you --prefix your MoarVM to install into, say, C:\\MoarVM\\install, then in the moarboot branch of NQP you do perl ConfigureMoar.pl --prefix=C:\\MoarVM\\install 20:33
That is, prefix of NQP should match the one you gave to MoarVM's Configure
If anybody fancies building and/or removing the --stagestats and seeing if they can get any intresting explosions that help track down the issues, that'd be grat.
*great
FROGGS re-builds 20:34
jnthn note, you don't need an up-to-date nqp-cc 20:35
diakopter yay.
so the .moarvm are going in the repo?
jnthn In the NQP one as stage0, aye
Just like the PIR and JAR do. 20:36
FROGGS --output=src/stage1/QRegex.moarvm src/stage1/gen/QRegex.nqp
Stage start: 0.000005Stage start : 0.000
make: *** [src/stage1/QRegex.moarvm] Speicherzugriffsfehler (Speicherauszug erstellt)
running with gdb now
jnthn Damn, those are long words :P
Speicherzugriffsfehler :D
a riffs fehler sounds like a guitarist screwed up... 20:37
tadzik hahah
FROGGS jnthn: gist.github.com/FROGGS/7fe668092e7d08a387d3
zugriff == access
jnthn FROGGS: Is that an optimized Moar rather than a debugging one? 20:38
oh, wait...symbols are there
FROGGS it is an optimized... I'll run again
jnthn well, some of them... 20:39
yeah
FROGGS Stage mbc: 0.016081Stage mbc : 0.016 20:40
moar: 3rdparty/libuv/src/unix/loop.c:150: uv__loop_delete: Assertion `!((((*(&(loop)->active_reqs))[0]) == (&(loop)->active_reqs)) == 0)' failed.
diakopter I've seen that before in VS 20:41
FROGGS jnthn: updated the gist
diakopter it's not a libuv bug
it's due to us misusing it
FROGGS "Datei oder Verzeichnis nicht gefunden" means "file or directory not found"
jnthn huh, but that's failing right at the end now... 20:42
FROGGS the unoptimized build got further, yes 20:43
jnthn FROGGS: What if you remove the --stagestats ?
FROGGS [Inferior 1 (process 26166) exited normally]
jnthn argh 20:44
Maybe try the next file (NQPHLL)?
FROGGS jnthn: updated gist 20:47
err, that was with --stagestats, hold on
jnthn: succeeded 20:48
jnthn argh!
20:49 colomon joined
diakopter I giggle in your general direction at your amusing travails 20:49
[which are all but certainly my fault] :D
jnthn diakopter: Don't suppose you've got an ASAN setup handy? 20:52
diakopter ish
well, you have one now that I created you an account on host07
jnthn diakopter: oh? 20:53
How'd I get there?
diakopter privmsg
jnthn thanks :) 20:56
20:57 lue joined
lue After checking out the nqp/moarboot branch and trying to compile it, I got these results with the command run by the Makefile and then the same command, removing --stagestats from the command: gist.github.com/lue/6845909 20:58
Basically, I get a failed assertion with stagestats and no error without, which is somewhat opposite jnthn's results from what I understand (no segfault with stagestats, segfault without) 20:59
diakopter yeah I'd guess that we're not doing a good job preventing more than one main loop from being created or something like that
or closing it at the wrong time
jnthn ok, asan blows on QRegex \\o/ 21:01
diakopter erm. 21:02
jnthn Now just need to work out the symbolize thing :) 21:03
timotimo i think there are a few tests in order
jnthn oh wtf, when I redirected the stderr output it was ok! 21:04
timotimo m) 21:05
diakopter jnthn: toldya
jnthn yeah but on Linux :) 21:06
ok, I think I might be able to read the raw asan output anyway
diakopter oh, I didn't doubt the problem was cross-platform
jnthn hm
diakopter jnthn: well, you can save the output to a file then cat it to asan_symbolize 21:07
stderr redirect by copy/paste. :)
jnthn Hmm
yeah
it doesn't seem so keen to fail when I remove the --stagestats
But it did find something in MVM_load_bytecode that may be legit 21:08
MVM_HASH_BIND(tc, tc->instance->loaded_compunits, filename, loaded_name);
There's nothing to keep filename from being collected.
oh, maybe there is...
diakopter the hash thing makes a copy I think
jnthn Nope, and it ain't marked 21:09
I mean, it stashes it so it *can* mark it
But doesn't.
diakopter ah
but filename isn't collectable 21:10
it's char *
erm
maybe it is. I forget.
jnthn MVMString *filename;
diakopter okay :)
21:15 donaldh joined
dalek arVM: ec01059 | jnthn++ | src/gc/roots.c:
Make sure loaded filename strings are marked.
21:19
jnthn Doesn't fix my SEGV, sadly 21:20
FROGGS jnthn: I've read that calling uv_loop_delete() with opened filehandles is not the best idea and results in the error message I get 21:23
and we are calling getstdstream which opens a tty but never closes it afaik 21:24
jnthn: you don't get an error msg at all on windows, right? 21:26
jnthn no, just segv, but it's not happening at exit time... 21:27
FROGGS ahh, yes
jnthn diakopter: Hm, that fix didn't make ASAN happier... 21:34
FROGGS hmmm, it doesnt segfault on my windows at all :/ 21:38
hmmm, it fails without --stagestats in my debugger on windows 21:49
roots.c 253 if (flag_map[flag] & MVM_CALLSITE_ARG_NAMED) { 21:50
jnthn hm...what's flag_map look like? 21:51
FROGGS "Unhandled exception at 0x000000013FE56341 in moar.exe: 0xC0000005: Access violation reading location 0x0000000000000000." 21:53
it is NULL
jnthn What about frame->params?
Also, what's on the stack?
FROGGS -\t\tparams\t{callsite=0x00000000036fb710 {arg_flags=0x00000000036fb750 "\\x1A\\x1(««««««««««««««««îþîþîþîþîþîþ" arg_count=...} ...}\tMVMArgProcContext 21:54
what do you mean by "on the stack" ?
the call stak?
stack*
>\tmoar.exe!scan_registers(MVMThreadContext * tc, MVMGCWorklist * worklist, MVMFrame * frame) Line 253\tC 21:55
jnthn call stack
Yeah, if you follow down you should see some GC frames?
FROGGS gist.github.com/FROGGS/a6b254aaef4dc4115d63 21:56
jnthn k
hmm
oh... 21:57
if (frame->params.args
I bet that should be
if (frame->params.arg_flags
FROGGS++!! 21:59
FROGGS \\o/
jnthn It just built here without the --stagestats and without a segv
dalek arVM: 0991c57 | jnthn++ | src/gc/roots.c:
Correct check for if we need to process flattening

  FROGGS++ for debugging.
22:00
jnthn oh, I did forget something about the install... 22:01
We need the MAST libs installing too 22:02
FROGGS ahh, true
under lib I suppose?
jnthn yeah
lib/MAST/
FROGGS k
jnthn You want to or shall I? :)
FROGGS dunno 22:03
jnthn is $(MKPATH) recursive, do you know?
FROGGS it is 22:04
jnthn cool
Then I should have a patch :)
22:04 colomon joined
FROGGS now I had the right Makefile.in open too... I'm a bit slow at 22:05
atm*
dalek arVM: 03b551e | jnthn++ | build/Makefile.in:
Install MAST ops and nodes libraries.
22:27
FROGGS tries an optimized build 22:29
:o( 22:30
jnthn ? 22:31
FROGGS ahh, that fails in uv_fs_stat, like earlier
jnthn yeah, asan also picked that up
It's from MVM_file_exists, which in turn is called from loadbytecode.c 22:32
FROGGS we don't need an MVM_ASSIGN_REF there at line 41? 22:34
if (!MVM_file_exists(tc, result))
result = orig; <---- here
jnthn no, 'cus we're not storing it into an object
FROGGS .oO( marked by '<---- here' ) 22:35
k
dalek arVM: 3ae2c86 | jnthn++ | nqp-cc/nqp-src/NQP.nqp:
Fix a fossil.
22:37
timotimo how much closer are we to the bootstrap now that froggs has debugged the thing?
FROGGS hmmm, it calls exists for src/vm/moar/stage0/./src/stage1/NQPCORE.setting.moarvm 22:39
jnthn Well, it means we're onto the next files
yeah
Which shouldn't exist :)
FROGGS but the file is called NQPCOREMoar.setting.moarvm (with "Moar" in it)
jnthn That's ok
FROGGS okay
jnthn For now, at least 22:40
FROGGS should I rebuild the cc for some reason?
nqp-cc*
I guess not 22:41
dalek arVM: a7326ad | jnthn++ | nqp-cc/src/QASTCompilerMAST.nqp:
Better error reporting.
22:49
arVM: 1ed57e8 | jnthn++ | nqp-cc/nqp-src/NQP.nqp:
Further fixes to make BEGIN blocks work/compile.
FROGGS ahh 22:50
jnthn: so you are building a better to-be-stage0 ?
jnthn yeah, I have one locally 22:51
Just not quite in a position to push it yet
FROGGS yeah, that was what I was thinking 22:52
is*
builds successfully here so far 23:11
jnthn Just done a big push 23:12
FROGGS ohh, another big one :o)
jnthn Yeah 23:13
We make it through building stage1 now
The output doesn't work
But that woulda been too good to be true :)
FROGGS yeah, we would miss all the fun :o) 23:14
builds here 23:16
unoptimized:
real\t2m55.204s
user\t2m46.588s
diakopter is that good? 23:18
FROGGS optimized: 23:19
real\t1m37.124s
user\t1m28.960s
jnthn The fact that NQP on MoarVM can compile the NQP sources is *good* yes :)
FROGGS diakopter: no idea, we only can compare when it is done I think
timotimo wow that is a big time win
FROGGS the timings are of course crap I'd say, because I have a Windows 7 vm running... 23:20
jnthn Time for a stout, methinks :) 23:22
This went a bunch faster than the equivalent work for JVM :)
FROGGS yeah
I have no beer here... but if I had one I would have already fell asleep 23:23
well, there would be something horrible wrong if it went slower than the JVM work 23:24
jnthn Well, I could easily see that happening 23:25
I mean, the files we've just used MoarVM to compile are much bigger than t/nqp 23:26
It's possible we'd have started hitting various bugs.
And so had to do many VM fixes
diakopter how fast was it compared to on parrot? ;) 23:27
FROGGS :o)
jnthn heh :)
Well, that was the original, so... :)
anyway, heading afk...
Will see if I have any tuits tomorrow to debug stage1
diakopter jnthn++ :D 23:28
jnthn I think we're looking reasonably good to land MoarVM support in this month's NQP release. :)
'night o/
diakopter others++
FROGGS gnight jnthn 23:29
23:40 colomon joined
diakopter FROGGS: how did ./moar become 16MB 23:57
FROGGS O.o
it is just 2.4 on linux 23:58
and 3.6 on my windows 7
TimToady 4meg here on a 64-bit 23:59
(linux mint)