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