00:22 pyrimidine joined 01:39 BenGoldberg joined 02:14 pyrimidine joined 04:07 geekosaur joined 04:11 pyrimidi_ joined 04:28 nebuchadnezzar joined 06:54 brrt joined 08:06 pyrimidine joined 08:13 brrt joined 08:22 zakharyas joined
brrt \o #moarvm 08:37
08:52 brrt joined 09:06 agentzh joined
jnthn o/ 09:38
yoleaux2 02:16Z <MasterDuke> jnthn: i've updated github.com/rakudo/rakudo/pull/1018. it now builds for the JVM, and ./perl6-j -e 'say "hi"' runs fine, but a `make install` fails and i can't run the spectests. here's a gist of the output i get gist.github.com/MasterDuke17/2c8fb...046af1331. tied adding some debug statements, nothing jumping out at me. any suggestions?
09:49 brrt joined 10:05 brrt joined 10:18 pyrimidine joined 10:26 ggoebel joined
jnthn A new SEGV: rt.perl.org/Ticket/Display.html?id=130825 10:28
brrt :'-( 10:33
jnthn Granted not on anything anyone would sensibly be doing :)
10:59 brrt joined 11:23 brrt joined 11:35 pyrimidine joined 12:12 Guest67605 joined 12:17 Guest67605 left 12:50 pyrimidine joined
IOninja So... "serving from the shadows" is the MoarVM slogan... or was that a joke one? 13:54
brrt not sure. MoarVM isn't much marketed at all 13:56
jnthn That was kinda deliberate. :) 13:57
"Only get a userbase besides NQP/Rakudo by accident" :P 13:58
(No, that's not a slogan suggestion :P) 13:59
brrt nods 14:02
on the other hand
it might be possible to get more contributor interest with more active marketing
IOninja Well, I'm going with "serving from the shadows" 14:04
If only because it fits very nicely in this space I have for it :)
14:21 agentzh joined 14:26 geekosaur joined 14:35 pyrimidine joined 16:09 pyrimidine joined 16:20 pyrimidine joined 16:27 agentzh joined 17:14 pyrimidine joined
timotimo oops 17:16
i accidentally a marketing 17:17
jnthn Ooops! Quick, how can we make sure nobody knows?!
IOninja :) 17:18
I didn't do any logos last Friday. Didn't have... uh... "inspiration" 17:20
dogbert17 AddressSanitizer can not provide additional info wrt RT #130825.
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130825
dogbert17 #0 0xb5699a06 in search_frame_handlers.isra.7.constprop.15 /home/dogbert/repos/rakudo/nqp/MoarVM/src/core/exceptions.c:123
#1 0xb569b0c9 in search_for_handler_from /home/dogbert/repos/rakudo/nqp/MoarVM/src/core/exceptions.c:153
#2 0xb56a17d5 in MVM_exception_throwpayload /home/dogbert/repos/rakudo/nqp/MoarVM/src/core/exceptions.c:616
FWIW 17:21
jnthn Backtrace fits the code that crashes, though. Will try and look at that one tomorrow. 17:29
dogbert17 cool, looked through the SEGV list on RT, several cases are no longer SEGV's according to the comments, some I can't reproduce while others seem to predate MoarVM 17:34
only a couple were easy to reproduce 17:35
IOninja What do you think of dragons? 17:45
timotimo they have a relation to compilers
IOninja hehe 17:46
the book yeah
Thinking of one of "M"s being a stylized dragon with the tail kinda flipping and its end being part of the "V". 17:49
timotimo .o( the dragon and the butterfly ) 17:50
IOninja tried with a pre-made dragon and pretty much ended up with "oar" VM :) Need my watson pad... and to remember how to draw again.
18:02 pyrimidine joined
jnthn
.oO( oar VM has missed the boat )
18:33
IOninja :D 18:36
19:15 pyrimidine joined 19:24 pyrimidine joined 20:11 pyrimidine joined
dogbert17 jnthn, timotimo: moronic C question. Is it certain that 'result' is set to a value at github.com/MoarVM/MoarVM/blob/mast...ump.c#L286 20:28
moritz I don't think so 20:30
dogbert17 .oO
jnthn No
moritz if the rest of the logic is right, I'd unify the if (sc) and if (result) to a single branch
jnthn Or at the very least just NULL it beforehand. 20:31
moritz ah no, won't work if MVM_sc_try_get_object returns 0
right, that's probably the safer approach
dogbert17 so locals are set to zero/NULL 20:32
jnthn In C, locals are - unless you assign to them - potentially anything
So need to be NULL'd/zeroed explicitly
dogbert17 jnthn sry didn't read what you wrote
for fun I ran a tool call cppcheck on the Moar codebase 20:33
it didn't find much and I don't know if everything it DID find is correct (or false positives) 20:34
this was one of the (very few) complaints
should I PR this? 20:36
moritz yes! 20:38
dogbert17 I can gist the list if anyone with more knowledge of C wants to take a look 20:39
jnthn Feel free to do that also :) 20:40
moritz my C knowledge is very limited, but I can take a peek
dogbert17 gist.github.com/dogbert17/a32e2ebd...0141417789 20:42
will be interesting to see/hear how many of those are false positives 20:43
moritz the first one seems genuine 20:45
dogbert17: did you run it against current master? 20:46
dogbert17 2017-02 20:47
moritz that explains why some line numbers seem to be off
20:47 pyrimidine joined
dogbert17 some line numbers look a bit strange to me as well 20:49
moritz the leak of values in nativecall_libffi.c might be real, dunno 20:51
moritz doesn't understand enough of moarvm's memory management 20:53
the leaks in the string functions seem to be false positive
((MVMArray *)out)->body.slots.u32 = (MVMuint32 *) result;
nope, result doesn't leak here
dogbert17 the nativecall thing looked strange to me as well 20:54
Geth MoarVM: 06c5798724 | (Moritz Lenz)++ | 2 files
Initialize some variables

found by dogbert17++ through cppcheck
20:55
moritz I don't think I'm doing anything risky there
dogbert17: do you want me to fix the one in spesh.c too, or are you doing the PR? 20:56
dogbert17 please do
Geth MoarVM: 16eac84994 | (Moritz Lenz)++ | src/spesh/dump.c
Initialize another variable

again, found by dogbert17++ through cppcheck
20:57
moritz dogbert17: what was your process for plugging cppcheck into the build? 20:58
20:58 pyrimidine joined
dogbert17 I just ran 'cppcheck . 2> err.txt' from within /home/dogbert/repos/rakudo/nqp/MoarVM/src. Not sure if it's the right way to do it though. 20:59
moritz dogbert17: ah, nice. I thought it might require more integration with the build system 21:01
dogbert17 the version included in my Linux dist is 1.61 which is a bit old I think, the newer versions might be better 21:03
moritz ubuntu ships with 1.72 21:04
[src/core/interp.c:110]: (error) Expression 'op=*(MVMuint16*)(cur_op),cur_op+=2,op' depends on order of evaluation of side effects 21:05
looks genuine; don't know how picky compilers are
[src/profiler/log.c:195]: (error) Possible null pointer dereference: sfs
that looks also genuine 21:06
dogbert17 uh oh
moritz ah no, there's a conditional initialization above it that's always run on the first iteration of the loop it's in 21:07
but I understand why the tool doesn't comprehend that :-) 21:08
dogbert17 perhaps you're underestimating your knowledge of C :)
moritz not really; I'm just not scared of reading code where I'm not sure I understand it all 21:10
dogbert17 for me the tool wasn't blazing fast 21:11
dogbert17 is interested in the upcoming Ryzen CPU's 21:12
moritz faster than eyeballing the same amount of code :-) 21:13
dogbert17 :-)
moritz I'm kinda amazed that it manages to produce somewhat useful results without any up-front configuration
if you think about how much configuration moarvm's build system does... 21:14
dogbert17 it's impressive indeed
are you getting a larger list with the newer version? 21:16
timotimo i should run coverity over moar again
dogbert17 timotimo, how's your C fu?
timotimo it's all right 21:17
dogbert17 what is your opinion on [core/nativecall_libffi.c:420]: (error) Memory leak: values
timotimo i don't have something on that line
oh, that's just the end of the block 21:18
dogbert17 it seem as if values is allocated but never used (to my untrained eyes)
timotimo yeah, looks the same way to me 21:19
maybe it was copypasted from nativecall_invoke
which uses macros to do stuff with values
dogbert17 ah the dreaded copy 'n paste error
timotimo it was added in one gigantic commit where libffi support was added 21:20
in 3h i'll've finished downloading the coverity sdk thingie 21:27
dogbert17 that sounds kinda slow 21:28
timotimo almost 500mb 21:31
and someting's wrong with the connection i guess
11 mins left
dogbert17 is it Coverity Scan you're downloading? 21:52
timotimo yup
dogbert17 cool
22:08 camelia joined 22:09 MasterDuke joined
timotimo i forgot how to get git metadata into the results 22:14
dogbert17 do you find anything or haven't you started yet? 22:15
timotimo haven't started yet 22:19
done. now we just have to wait. 22:27
well, and i have to upload the thing
which is 7 megs big and internet connections in germany always have super shitty upstream bandwidth
samcv good day everybody
timotimo greetings samcv 22:28
samcv :) 22:29
timotimo 60%
Last Build Status: In-queue. Your build is in the queue to be analyzed. There are 25 builds ahead of it. 22:31
samcv we using cppcheck? 22:32
timotimo that's cppcheck
samcv nice
timotimo er 22:33
i meant to say
that's coverity
samcv kk
timotimo the defect density has gone down even more 22:36
scan.coverity.com/projects/paultcochrane-moarvm
we're too good. 22:57
if y'all give me an email address i'll forward the details that coverity sent me
i can just gist it! 22:58
gist.github.com/timo/aa786e6fe415b...659391e841
why in the everliving fuck does it report the exact same issue on the exact same line four times? 22:59
dogbert17 do you see anything particularly nasty? 23:08
timotimo i have to fire up the analysis frontend 23:09
huh, something must have gone wrong
i only see a single defect, and it's one i marked "fix submitted
" so what the hell?
gotta look further into this later, for now i gotta go AFK 23:11
sign in to scan.coverity.com with your github users and request access so you can help out
dogbert17 done 23:18
23:26 pyrimidine joined
samcv how does it know if there's a missing break or not 23:33
what if it is intentional? how does it discern? 23:34
geekosaur traditionally one includes a comment /*FALLTHROUGH*/, because that's what AT&T lint used 23:35
fwiw 23:36
samcv ah kk. makes sense 23:37
geekosaur that said, dataflow analysis can make a guess that if most paths that break; do some initialization and any blocks that don't are followed by one that does, then a block that does that initialization but doesn't break; is a likely bug
samcv yeah thta last one isn't a bug 23:38
i'll fix that warning though 23:40
geekosaur, do i have to make it all caps though 23:49
geekosaur that I couldn't say. AT&T lint required it that way (both caps and lack of spaces), but we're a long way from 1970s heuristic analyzers :)
samcv yeah
geekosaur might do better to contact the person running coverity and ask them to check the manual 23:50
Geth MoarVM: samcv++ created pull request #539:
Streamline some switches and try to suppress Coverity warnings
geekosaur unless you can find a copy of it online
23:59 BenGoldberg joined