Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-01-15

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
02:48 ilbot3 joined #moarvm
02:48 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
03:31 Geth MoarVM: e167934e83 | TimToady++ | src/6model/reprs/NFA.c
03:31 Geth MoarVM: Allow for fate offsets when unique fates in use
03:31 Geth MoarVM:
03:31 Geth MoarVM: Prior to this, fates were always numbered starting with 1 for protos
03:31 Geth MoarVM: and starting with 0 for alts.  We are moving to a model in which all
03:31 Geth MoarVM: fate numbers are unique across the process.  Every NFA now knows its
03:31 Geth MoarVM: own range of fates, in the range of fbeg ..^ fend.  Most of this is
03:31 Geth MoarVM: handled in nqp, but MoarVM has to know about fate offsets for dealing
03:31 Geth MoarVM: with the results of alts.  Conveniently, for both protos and alts,
03:31 Geth MoarVM: the 0th fate name entry was already unused and set to 0, so we encode
03:31 Geth MoarVM: the new fbeg and fend into the 0th fate name.  (For alts, these fate
03:31 Geth MoarVM: names were set to 0,1...*, and the array was only used by MoarVM to
03:31 Geth MoarVM: determine how many different fates might be returned.  But importantly,
03:31 Geth MoarVM: <…commit message has 2 more lines…>
03:31 Geth MoarVM: review: https://github.com/MoarVM/MoarVM/commit/e167934e83
03:42 diakopter TimToady: lolwut
04:50 Geth MoarVM: d197cf0822 | TimToady++ | src/6model/reprs/NFA.c
04:50 Geth MoarVM: clean out ancient "remove after rebootstrap" line
04:50 Geth MoarVM:
04:50 Geth MoarVM: This could've gone away a long time ago already.
04:50 Geth MoarVM: review: https://github.com/MoarVM/MoarVM/commit/d197cf0822
08:07 domidumont joined #moarvm
08:10 FROGGS joined #moarvm
08:13 domidumont joined #moarvm
12:22 TimToady joined #moarvm
12:51 Geth joined #moarvm
14:03 zakharyas joined #moarvm
14:36 domidumont joined #moarvm
14:45 domidumont joined #moarvm
14:56 dogbert17 any ideas why
14:56 dogbert17 ignore that comment
14:57 dogbert17 where should I put a breakpoint in order to catch the following message?
14:57 dogbert17 *** Error in `/home/dogbert/repos/rakudo/install/bin/moar': malloc(): smallbin double linked list corrupted: 0xb5381484 ***
14:57 dogbert17 Aborted
15:09 Geth MoarVM: MasterDuke17++ created pull request #500: Fix typo in comment
15:09 Geth MoarVM: review: https://github.com/MoarVM/MoarVM/pull/500
15:12 Geth MoarVM: MasterDuke17++ created pull request #501: Fix warnings during compile
15:12 Geth MoarVM: review: https://github.com/MoarVM/MoarVM/pull/501
15:15 Geth MoarVM: MasterDuke17++ created pull request #502: Fix order of args in mvm callocs
15:15 Geth MoarVM: review: https://github.com/MoarVM/MoarVM/pull/502
15:45 Geth MoarVM: b988616ea2 | MasterDuke17++ | src/6model/reprs/SCRef.h
15:45 Geth MoarVM: Fix typo in comment
15:45 Geth MoarVM: review: https://github.com/MoarVM/MoarVM/commit/b988616ea2
15:45 Geth MoarVM: 1fd5d64973 | niner++ | src/6model/reprs/SCRef.h
15:45 Geth MoarVM: Merge pull request #500 from MasterDuke17/fix_typo_in_SCRef.h
15:45 Geth MoarVM:
15:45 Geth MoarVM: Fix typo in comment
15:45 Geth MoarVM: review: https://github.com/MoarVM/MoarVM/commit/1fd5d64973
15:48 zakharyas joined #moarvm
15:48 Geth MoarVM/master: 4 commits pushed by niner++
15:48 Geth MoarVM/master: 6477d61caa | Fix order of args in some MVM_calloc calls…
15:48 Geth MoarVM/master: f69bfbdb13 | Change  MVM_calloc(1, f * b) into MVM_calloc(f, b)…
15:48 Geth MoarVM/master: 9751a18da2 | Fix two more instances of swapped MVM_calloc args…
15:48 Geth MoarVM/master: f95c8f9102 | Merge pull request #502 from MasterDuke17/fix_order_of_args_in_MVM_callocs…
15:48 Geth MoarVM/master: review: https://github.com/MoarVM/MoarVM/compare/1fd5d64973...f95c8f9102
15:57 zakharyas joined #moarvm
18:14 dogbert17 jnthn: wrt the second part of RT #128833, does the following gist provide any useful information? https://gist.github.com/dogbert17/6deb8bdde1bfb6fb66401de7bbfa477c
18:19 timotimo when you get "double linked list corrupted", it's already too late
18:20 timotimo you need something like valgrind or asan to make the code explode the moment it does an incorrect write to corrupt that datastructure
18:21 dogbert17 timotimo: so the SEGV is to late in this case then?
18:23 timotimo it's not a segv, it's an abort most likely
18:24 timotimo but yeah, it's too late
18:25 dogbert17 are you looking at the gist or my earlier comment from a few hours ago?
18:27 timotimo looking at the gist now
18:27 timotimo not very helpful, no :(
18:36 timotimo you're doing something multithreaded in that code?
18:36 dogbert17 :(
18:36 dogbert17 code is here: https://rt.perl.org/Public/Bug/Display.html?id=128833
18:37 timotimo 2016? that's already a year old! :P
18:37 dogbert17 indeed, it's getting harder and harder to find new ones :-)
18:40 dogbert17 timotimo: do you know how to enable ASAN?
18:42 timotimo yeah, just give --asan to moarvm's Configure.pl and make install again
18:43 dogbert17 cool, will try that since using valgrind will take forever
19:00 jnthn I suspect there'll be some dodgy code-gen somewhere that means a hash gets shared between threads where it shouldn't.
19:01 jnthn The Perl 6-level stack trace will probably tell us which hash
19:01 timotimo something like that, yeah
19:01 jnthn Then we can audit its use locations and look at code-gen some
19:01 jnthn Oh, the cross-thread write logging is also useful for these and make cut out the audit step :)
19:17 dogbert17 hmm, ==20137== ERROR: AddressSanitizer: SEGV on unknown address 0x0000000c (pc 0xb57f3626 sp 0xa3577dc0 bp 0xa3577e48 T1)
19:18 timotimo whoops :)
19:19 dogbert17 that was on the 4th attempt to run the program in loop 15 times
19:20 timotimo doesn't seem like a useful explosion
19:22 dogbert17 no, it did provide some info but it almost seems that there is no debug info available, see https://gist.github.com/dogbert17/8d728478acbb4b23973dc9ea4269da38
19:23 dogbert17 here's my configure cmd: perl Configure.pl --no-optimize --debug --asan --prefix=/home/dogbert/repos/rakudo/install/
19:36 dogbert17 timotimo, jnthn: I might finally have gotten something: https://gist.github.com/dogbert17/8d728478acbb4b23973dc9ea4269da38
20:43 Ven joined #moarvm
20:55 dogbert17 I have updated the gist above again, it now contains everything logged by ASAN and MVM_CROSS_THREAD_WRITE_LOG
20:58 lizmat joined #moarvm
21:43 samcv jnthn, do we care about the Unicode database being small ( as a c file ), or only care about its final compiled size
21:54 timotimo as long as it doesn't cause the compler to take minutes to compile it, i think having a bigger .c file doesn't matter
21:54 samcv ok cool
21:55 timotimo we can't get much worse than interp.c on clang
21:59 moritz [X] challenge accepted!
22:00 lizmat .oO( same for me, but more like X challenge accepted :-)
22:00 lizmat as I'm working on speeding up infix:<X> atm
22:00 timotimo nice!
22:49 jnthn samcv: Compiled output size is the more important of the two by a good way
22:49 samcv yeah. i mean i have a 12MB text file compiling to 8.5K
22:49 samcv right now
22:49 jnthn samcv: With the "don't blow up the compiler" caveat :)
22:49 samcv yeah
22:50 timotimo not going to be able to compile moarvm on my n3ds, i don't think
22:50 jnthn Well, on the one hand CORE.setting needs a bit over a gig to compile
22:51 jnthn On the other, you can build that on another box and ship it onto a smaller machine, provided MoarVM is a sensible build.
22:52 timotimo of course
22:52 timotimo i'm not sure anybody wants to port libuv to the n3ds :)
22:52 jnthn Oh the other issue is that we check the generated C source into git
22:53 jnthn Because it only needs regenerating very occasionally
22:53 jnthn Not to mention you'll need a Perl 6 to regenerate it :P
22:53 timotimo you can at least have threads, the device has 4 cores, one is nommed up by the OS
22:53 jnthn But git compresses stuff on the wife.
22:53 jnthn uh
22:53 jnthn on the wire
22:56 timotimo other than that, the n3ds is so memory-starved that you won't be running rakudo on it
22:56 timotimo not to mention the CPU is quite weak
22:56 timotimo well, it has two CPUs, but the other one is much less likely to run anything moarvmy
22:57 jnthn aye :)
22:59 timotimo it doesn't have bluetooth so if you wanted to REPL or code-edit on the go with it ... tough luck, use the stylus on the touchpad :)
23:00 jnthn :)
23:00 jnthn Time to rest up for whatever the next week decides to throw at me. :-)
23:00 jnthn 'night
23:01 timotimo gnite jnthn
23:03 timotimo 804 MHz ARM11 MPCore quad-core + extra weaker single-core (one reserved for OS)[citation needed]
23:04 timotimo 256 MB (64MB dedicated to the OS), 10 MB VRAM
23:04 lizmat night jnthn
23:11 timotimo i *thought* you could clock the arm11 core up to almost 1ghz
23:16 timotimo but the 804 MHz is apparently the upper limit
23:16 timotimo which is absurdly low-power, even for a mobile gaming device that's meant to just be a slight upgrade for a device 5 years old

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary