01:48
ilbot3 joined
02:57
geekosaur joined
06:38
Dunearhp joined
09:38
vendethiel- joined
10:32
FROGGS joined
|
|||
FROGGS | o/ | 10:32 | |
timotimo | o/ | ||
FROGGS | any plans for today? | 10:48 | |
timotimo | well, i have several outstanding work items that'd be good to work on :\ | 10:49 | |
one item that i've been pushing further and further forward is making spesh able to handle inlined code better; at the moment we don't discover facts from it and don't really do cross-inline-optimization all that well | 10:50 | ||
FROGGS | ahh | 10:51 | |
timotimo | more recently, i've been meaning to improve the fixed-size allocator so that it handles multi-threading better - though it'd also be nice if it could get faster in the single-threaded case when a program is very heavy on allocating callframes | ||
FROGGS | can you break one of these tasks apart - into smaller work packages? | ||
timotimo | i'd also like to have some kind of analysis available for serialized blobs, as well as some analysis for the complete state of all our memory allocators | ||
FROGGS | and then say, I want to do #1 until 4 o'clock? | 10:52 | |
sometimes that keeps me productive | |||
timotimo | good question | ||
FROGGS | I just want to read the scrum guide carefully today, because the next two days will be scrum master course | 10:53 | |
timotimo | that sounds nice | ||
FROGGS | hope so :o) | ||
timotimo | though i forgot which of the things i've read about so far was the one named "scrum" | ||
FROGGS | hmmm, hard to explain in a few sentences | 10:54 | |
timotimo | i probably already know it, just can't identify it by the name alone | 10:55 | |
"know about it", more like :) | |||
FROGGS | the result should be that the "customer" will see the progress more often, and can request changes and report bugs while it is still in the works | 10:56 | |
timotimo | oh, basically "agile" | 10:57 | |
FROGGS | that's what I basically do since forever, but when doing scrum right, you've got one person that does the coding and another one that does reviews and administration stuff | ||
aye | |||
most of the time I'm kinda alone at work, and I hope that this will change over time | 10:58 | ||
timotimo | oh, yeah, working alone doesn't sound good, especially long-term | 10:59 | |
FROGGS | only kinda alone, but still | ||
timotimo | mhm | ||
FROGGS | it's nice to have something to talk about the stuff that is going on, and I get that more in these channels that in person at work | 11:00 | |
m: say num16 | |||
camelia | rakudo-moar 127b3b: OUTPUTĀ«===SORRY!=== Error while compiling <tmp>ā¤Undeclared routine:ā¤ num16 used at line 1ā¤ā¤Ā» | ||
FROGGS | damn | ||
timotimo | right :| | 11:01 | |
dalek | arVM: 94e6f6c | FROGGS++ | src/6model/reprs/C (4 files): remove (non-exitent) num16 from error message |
11:03 | |
FROGGS | nebuchadnezzar: what are the next steps? do you need help with something? | 11:13 | |
11:35
Ven joined
|
|||
timotimo | .o( did i miss something? ) | 11:40 | |
11:46
Ven joined
|
|||
FROGGS | timotimo: arm64 is okay now for rakudo, though it is not visible in the debian build logs yet | 11:50 | |
timotimo: next up would be powerpc I think, which fails tests in rakudo's make test | |||
timotimo | ah! | 11:52 | |
that's what. cool :) | |||
i think i might add valgrind client requests to the fixed size allocator | 11:55 | ||
maybe that'll let me figure out why my fsa cache makes things explode | 11:56 | ||
FROGGS | and moarvm builds on mips*, though I have no clue if nqp or rakudo does (somehow I doubt it) | ||
sounds good :o) | |||
timotimo | have you ever used that stuff? | 11:57 | |
FROGGS | no, but I guess you'll be able to hook a valgrind into a running process then? | 11:58 | |
timotimo | nah, it's more like when valgrind is attached, you can give it additional info about stuff your program does with its memory | 12:00 | |
with the memory pools API you can say "we just allocated a piece of memory here, it belongs to the pool identified by this address" and "this pool has redzones on the left and right of size N" and "this piece of memory is now NOACCESS" | 12:02 | ||
12:03
Ven_ joined
|
|||
lizmat | www.iclarified.com/57138/apple-adds...rra-kernel # can't help but wonder what bugs will be shook out if my next MacBook has an ARM :-) | 12:03 | |
timotimo | VALGRIND_DO_LEAK_CHECK: does a full memory leak check (like --leak-check=full) right now. This is useful for incrementally checking for leaks between arbitrary places in the program's execution. It has no return value. | ||
VALGRIND_CREATE_BLOCK and VALGRIND_DISCARD. VALGRIND_CREATE_BLOCK takes an address, a number of bytes and a character string. The specified address range is then associated with that string. When Memcheck reports an invalid access to an address in the range, it will describe it in terms of this block rather than in terms of any other block it knows about. Note that the use of this macro does not actually | 12:05 | ||
change the state of memory in any way -- it merely gives a name for the range. | |||
^- cool | |||
oh! snap! i didn't even know valgrind offers a gdbserver with a bunch of useful commands | |||
you can even manually make a piece of memory noaccess at an arbitrary point | 12:07 | ||
and you can who_points_at <addr> [<len>], how cool is that | |||
i don't seem to see a way to mark a region as "do not write here", though | 12:08 | ||
FROGGS | that's awesome! | 12:10 | |
wouldnt it make sense to have a special debug build of moar adds names to memory reagions of th nursory/gen2 like 'class Foo / int8 $bar'? | 12:11 | ||
lizmat: would be interesting, aye :o) | 12:12 | ||
timotimo | --workaround-gcc296-bugs=<yes|no> [default: no] | ||
When enabled, assume that reads and writes some small distance below the stack pointer are due to bugs in GCC 2.96, and does not report them. | |||
fantastic | |||
adding info to the nursery is a bit tricky because of the way we just discard stuff that hasn't been copied over; i'm not entirely sure yet how that maps to client requests | 12:13 | ||
| | | | * e9b2cc9 - (origin/valgrind_support) WIP on valgrind annotations (1 year, 6 months ago) <Timo Paulssen> | |||
^- last time i looked into this | |||
so, i'm probably smarter now than i was then ;) | |||
12:15
Ven joined
|
|||
FROGGS | :o) | 12:16 | |
do you have gcc 2.96? I would not think so :o) | 12:17 | ||
# uname -a | |||
Linux froggs-Latitude-E6530 4.2.0-42-generic #49-Ubuntu SMP Tue Jun 28 21:26:26 UTC 2016 ppc GNU/Linux | |||
^----- this is a debian powerpcspe | |||
installing git now etc | |||
geekosaur hears the number of the Beast and shudders a bit | 12:18 | ||
(2.96 was a heinous Red Hat-ism) | 12:19 | ||
timotimo | oh? | ||
the valgrind devs say implementing a read-only status for memory would be a significant development effort and would have a significant runtime impact | 12:20 | ||
geekosaur | yep | 12:21 | |
timotimo | it would have been pretty cool to have for this one bug i'm experiencing in one of my (many, lousy) branches | ||
geekosaur | valgrind can't use CPU support, it has to emulate the CPU in software. implementing general read-only map support would indeed be painful both to develop and to run with | 12:22 | |
timotimo | yeah, i guess | ||
geekosaur | as for gcc 2.96, there was no such thing officially. RH pulled a buggy unreleased post-2.95 revision and added more bugs to it | ||
timotimo | i wish there was a simple "append_only" thing for pages where it's readonly up until a certain position and can be written to after that and the position could only be increased | ||
ah, i see | |||
that's terrible :) | 12:23 | ||
geekosaur | then used it to compile the OS for one RH release, and the kernels for several subsequent releases | ||
timotimo | ;( | ||
geekosaur | the gcc folks were close to issuing death threats because they kept having to field bug reports that they couldn't do anything about | ||
timotimo | ;_; | 12:28 | |
that's the worst state of affairs ever | |||
i'm going to need to teach the FSA about the concept of a redzone | 12:34 | ||
12:47
Ven joined
13:01
Ven joined
|
|||
timotimo | ==23331== HEAP SUMMARY: | 13:03 | |
==23331== in use at exit: 0 bytes in 0 blocks | |||
^- this means that my annotations for the fixed size allocator were correct :) | 13:11 | ||
13:17
Ven_ joined
|
|||
timotimo | redzone will be a bit fiddly | 13:20 | |
where do i add, where do i subtract ... | |||
13:50
zakharyas joined,
Ven joined
|
|||
timotimo | operator precedence just f'd me over | 14:34 | |
i was moving over alloc pos with this code: | |||
al->size_classes[bin].alloc_pos += (bin + 1) << MVM_FSA_BIN_BITS + 2 * MVM_FSA_REDZONE_BYTES; | 14:35 | ||
but << is a very loose operator ... | |||
14:47
Ven_ joined
14:48
dogbert17 joined
16:01
Ven joined
|
|||
japhb | .tell FROGGS num16 is supposed to be this: en.wikipedia.org/wiki/Half-precisi...int_format -- 'half' or 'binary16' FP format | 16:16 | |
yoleaux2 | japhb: I'll pass your message to FROGGS. | ||
09:11Z <nine> japhb: I guess exporting is the way to go but I'm not sure that would work right now. Alternatively one could copy the imported types from MY:: to GLOBAL:: in the top level module. Right now you won't find them in MY:: but that would just shorten the copy loop :) | |||
FROGGS | japhb: ohh, interesting | 16:20 | |
yoleaux2 | 16:16Z <japhb> FROGGS: num16 is supposed to be this: en.wikipedia.org/wiki/Half-precisi...int_format -- 'half' or 'binary16' FP format | ||
japhb | .tell nine Hmmm, thank you re: My:: --> GLOBAL:: hint. | 16:21 | |
yoleaux2 | japhb: I'll pass your message to nine. | ||
FROGGS build moarvm on mips64el now | 16:33 | ||
is building* | 16:34 | ||
17:32
Ven joined
|
|||
dalek | arVM: 96d74e0 | timotimo++ | / (3 files): let the fixedsizealloc tell valgrind what's what. includes a redzone (forbidden bytes) between FSA allocations |
17:33 | |
timotimo | ^- requires you to configure with --valgrind | ||
and also requires you to actually run the moar binary through valgrind | |||
17:46
travis-ci joined
|
|||
travis-ci | MoarVM build failed. Timo Paulssen 'let the fixedsizealloc tell valgrind what's what. | 17:46 | |
travis-ci.org/MoarVM/MoarVM/builds/169940964 github.com/MoarVM/MoarVM/compare/9...d74e0c80bc | |||
17:46
travis-ci left
|
|||
timotimo | hmpf. the valgrind support didn't help with my sso stuff :( | 17:49 | |
nebuchadnezzar | FROGGS: sorry, I'm discovering Valencia and Barcelona (in addition to the 2016.opennebulaconf.com) | 17:51 | |
17:51
Ven joined
|
|||
FROGGS | nebuchadnezzar: ohh, enjoy it! :o) | 17:51 | |
nebuchadnezzar | thanks | 17:52 | |
I warned domi about it | |||
nwc10 | timotimo: there doesn't seem to be anything that defines VALGRIND_MAKE_MEM_DEFINED | 17:53 | |
timotimo | oh, didn't i put that in? | 17:54 | |
nwc10 | if you did, I can't find it with `git grep VALGRIND_MAKE_MEM_DEFINED` | ||
timotimo | must have forgotten to actually push it | ||
dalek | arVM: 82628a5 | timotimo++ | src/memdebug.h: add back MAKE_MEM_DEFINED which somehow got lost |
17:55 | |
nwc10 | oops. :-) | 17:56 | |
yes, MoarVM now builds for me | |||
timotimo | phew. | 17:57 | |
Memcheck: mc_main.c:5525 (vgMemCheck_is_valid_aligned_word): Assertion 'VG_IS_WORD_ALIGNED(a)' failed. | 17:58 | ||
i wonder what i'm doing to cause that? | |||
maybe the redzone has to be like 8 bytes? | 17:59 | ||
18:11
travis-ci joined
|
|||
travis-ci | MoarVM build errored. Timo Paulssen 'add back MAKE_MEM_DEFINED which somehow got lost' | 18:11 | |
travis-ci.org/MoarVM/MoarVM/builds/169944402 github.com/MoarVM/MoarVM/compare/9...628a5c735b | |||
18:11
travis-ci left
|
|||
timotimo | W: Failed to fetch downloads-distro.mongodb.org/repo/d...tion-en_US Unable to connect to downloads-distro.mongodb.org:http: | 18:25 | |
18:43
cygx joined
|
|||
cygx | got a segfault while playing around with re-exporting symbols, in particular github.com/cygx/p6-physics-gr/blob...sics/GR.pm | 18:45 | |
segfault is at 0x0000000069bd41e9 in MVM_interp_run () at src/6model/sc.h:71 | |||
71 return sc_idx > 0 ? tc->instance->all_scs[sc_idx]->sc : NULL; | |||
I failed to come up with a minimal test case | |||
it's re-exporting &unit-matri that makes it explode, for whatever reason | 19:02 | ||
*&unit-matrix | |||
19:02
Ven joined
19:17
domidumont joined
19:36
Ven joined
19:52
Ven joined
20:22
Ven joined
20:40
zakharyas joined
23:04
geekosaur joined
23:17
dogbert17 joined
|
|||
timotimo | oh, did i mention i was able to fix the little FSA cache | 23:37 | |
thanks to valgrind pointing me at the right address after i put in the redzone | 23:38 | ||
diakopter | timotimo++ | 23:52 |