Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-08-26

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

All times shown according to UTC.

Time Nick Message
01:52 ilbot3 joined #moarvm
01:52 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
02:00 greppable6 joined #moarvm
02:05 Geth ¦ MoarVM: samcv++ created pull request #661: Grapheme iterator cached
02:05 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/661
02:32 travis-ci joined #moarvm
02:32 travis-ci MoarVM build canceled. Samantha McVey 'Merge pull request #652 from MasterDuke17/add_error_string_to_failed_to_resolve_exception
02:32 travis-ci https://travis-ci.org/MoarVM/MoarVM/builds/267683413 https://github.com/MoarVM/MoarVM/compare/13bc298d66c1...78b339553405
02:32 travis-ci left #moarvm
03:37 Ven`` joined #moarvm
04:05 travis-ci joined #moarvm
04:05 travis-ci MoarVM build failed. Samantha McVey 'add valgrind'
04:05 travis-ci https://travis-ci.org/samcv/MoarVM/builds/268593920 https://github.com/samcv/MoarVM/compare/9e1800278a1f...006ff257f109
04:05 travis-ci left #moarvm
04:17 samcv i'm trying to fix the segfault that happens on some of our builds. i was able to replicate it only once. and i think it only appears with certain compilation options
04:18 samcv well actually never reproduced ./Configure.pl in nqp directory + make. but i ran the command that segfaulted during nqp compilation and got a segfault once with some variety of moar compilation options
04:18 samcv trying to pin it down
04:27 samcv ok and now i'm getting tests passing even on travis. for no reason
04:31 travis-ci joined #moarvm
04:31 travis-ci MoarVM build passed. Samantha McVey 'try and avoid the odd version error'
04:31 travis-ci https://travis-ci.org/samcv/MoarVM/builds/268596943 https://github.com/samcv/MoarVM/compare/006ff257f109...8dbcff83845e
04:31 travis-ci left #moarvm
04:33 samcv why...
04:33 samcv i didn't do anything. usually like all the clang builds failed on travis. now it all passed and i didn't do anything
04:33 travis-ci joined #moarvm
04:33 travis-ci MoarVM build failed. Elizabeth Mattijsen 'Fix spello'
04:33 travis-ci https://travis-ci.org/MoarVM/MoarVM/builds/268388674 https://github.com/MoarVM/MoarVM/compare/0b364cb850b6...ef2b21ac5b58
04:33 travis-ci left #moarvm
04:33 samcv while this one totally fails
05:22 samcv trying to get it so we can get gdb printing out backtraces of coredumps
05:25 samcv except in my branch i'm using to try and test this, it's not segfaulting... ughhhhh but
05:33 travis-ci joined #moarvm
05:33 travis-ci MoarVM build failed. Samantha McVey 'Try and enable coredumps and gdb tracing of it'
05:33 travis-ci https://travis-ci.org/samcv/MoarVM/builds/268603901 https://github.com/samcv/MoarVM/compare/8dbcff83845e...3136eecf1854
05:33 travis-ci left #moarvm
05:49 leont joined #moarvm
06:45 lizmat joined #moarvm
07:08 lizmat joined #moarvm
07:37 Geth ¦ MoarVM: samcv++ created pull request #662: Ignore this PR. trying to debug the segfault on travis
07:37 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/662
07:47 travis-ci joined #moarvm
07:47 travis-ci MoarVM build errored. Samantha McVey 'don't fail if can't cat'
07:47 travis-ci https://travis-ci.org/samcv/MoarVM/builds/268619411 https://github.com/samcv/MoarVM/compare/3136eecf1854...84cb23ebcdf5
07:47 travis-ci left #moarvm
08:17 travis-ci joined #moarvm
08:17 travis-ci MoarVM build failed. Samantha McVey 'actually only run the cat command on linux'
08:17 travis-ci https://travis-ci.org/samcv/MoarVM/builds/268623510 https://github.com/samcv/MoarVM/compare/84cb23ebcdf5...7fd2f51306cc
08:17 travis-ci left #moarvm
08:58 lizmat joined #moarvm
09:01 travis-ci joined #moarvm
09:01 travis-ci MoarVM build passed. Samantha McVey 'more conditional in travis'
09:01 travis-ci https://travis-ci.org/samcv/MoarVM/builds/268628566 https://github.com/samcv/MoarVM/compare/7fd2f51306cc...99a5a7187ab3
09:01 travis-ci left #moarvm
09:17 Geth ¦ MoarVM/jit_nativecall: 7eb4703b43 | (Stefan Seifert)++ | 5 files
09:17 Geth ¦ MoarVM/jit_nativecall: Fix hang on GC when unboxing a native functions return value
09:17 Geth ¦ MoarVM/jit_nativecall:
09:17 Geth ¦ MoarVM/jit_nativecall: We need to unblock GC on the current thread after we return from the
09:17 Geth ¦ MoarVM/jit_nativecall: native function and before we box the return value. Otherwise if GC is
09:17 Geth ¦ MoarVM/jit_nativecall: triggered by the boxing function, we will hang as GC is blocked.
09:17 Geth ¦ MoarVM/jit_nativecall: review: https://github.com/MoarVM/MoarVM/commit/7eb4703b43
09:17 Geth ¦ MoarVM/jit_nativecall: b5f40b2437 | (Stefan Seifert)++ | src/core/nativecall.c
09:18 Geth ¦ MoarVM/jit_nativecall: Support pointer return values in JITed calls to native functions
09:18 Geth ¦ MoarVM/jit_nativecall: review: https://github.com/MoarVM/MoarVM/commit/b5f40b2437
09:51 lizmat joined #moarvm
10:33 travis-ci joined #moarvm
10:33 travis-ci MoarVM build failed. Samantha McVey 'put core dumps in $MOAR_PREFIX instead'
10:33 travis-ci https://travis-ci.org/samcv/MoarVM/builds/268644977 https://github.com/samcv/MoarVM/compare/99a5a7187ab3...c2f3a3577581
10:33 travis-ci left #moarvm
10:51 travis-ci joined #moarvm
10:51 travis-ci MoarVM build failed. Samantha McVey 'put core dumps in $MOAR_PREFIX instead'
10:51 travis-ci https://travis-ci.org/samcv/MoarVM/builds/268644977 https://github.com/samcv/MoarVM/compare/99a5a7187ab3...c2f3a3577581
10:51 travis-ci left #moarvm
10:53 travis-ci joined #moarvm
10:53 travis-ci MoarVM build failed. Samantha McVey 'Manually force us to make a coredump by breaking Moar'
10:53 travis-ci https://travis-ci.org/samcv/MoarVM/builds/268648530 https://github.com/samcv/MoarVM/compare/c2f3a3577581...f4e1d45d7586
10:53 travis-ci left #moarvm
10:56 Ven`` joined #moarvm
11:43 lizmat joined #moarvm
11:48 dogbert11 joined #moarvm
11:54 travis-ci joined #moarvm
11:54 travis-ci MoarVM build failed. Samantha McVey 'Fix escaped quotation marks'
11:54 travis-ci https://travis-ci.org/samcv/MoarVM/builds/268656745 https://github.com/samcv/MoarVM/compare/f4e1d45d7586...8a971a12a9b5
11:54 travis-ci left #moarvm
12:33 Geth ¦ MoarVM/jit_nativecall: 0cd3f70425 | (Stefan Seifert)++ | src/core/nativecall.c
12:33 Geth ¦ MoarVM/jit_nativecall: JIT calls to native functions returning UTF-8 encoded strings
12:33 Geth ¦ MoarVM/jit_nativecall: review: https://github.com/MoarVM/MoarVM/commit/0cd3f70425
12:37 lizmat joined #moarvm
12:44 samcv night o/ will get back to work on this tomrrow. when i'm done we will get stacktraces when moarvm dumps core
12:44 samcv on travis, and then i will be happy
13:25 lizmat samcv: good night!
13:25 lizmat oops
13:25 lizmat continue sleeping!  :-)
13:52 lizmat_ joined #moarvm
14:41 buggable joined #moarvm
15:10 AlexDaniel joined #moarvm
18:38 Geth ¦ MoarVM: 8dc1fc0e71 | (Samantha McVey)++ | .travis.yml
18:38 Geth ¦ MoarVM: Generate stacktraces on Travis CI when getting a segfault
18:38 Geth ¦ MoarVM:
18:38 Geth ¦ MoarVM: On Linux we enable coredumps, and then set the coredumps folder to our
18:38 Geth ¦ MoarVM: build directory. It is then set so that gdb will print out a stacktrace
18:38 Geth ¦ MoarVM: from the coredumps if the build fails.
18:38 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/8dc1fc0e71
18:38 Geth ¦ MoarVM: 1fe9beb383 | (Samantha McVey)++ (committed using GitHub Web editor) | .travis.yml
18:38 Geth ¦ MoarVM: Merge pull request #662 from samcv/segfault-check
18:38 Geth ¦ MoarVM:
18:38 Geth ¦ MoarVM: Generate stacktraces on Travis CI when getting a segfault
18:38 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/1fe9beb383
18:38 samcv I will find you segfault!!! you can't hide
18:39 mst hehehehehe
18:39 mst samcv: SHOW YOURSELF, YOU COWARD
18:47 samcv mst, when i made the PR everything passed. but obv now that it's merged now the segfault is back since it only happens on the master's Travis...
18:47 samcv but i got the stacktrace :)
18:47 samcv hahaha! https://travis-ci.org/MoarVM/MoarVM/jobs/268732500#L1486-L1545
18:47 samcv got you
18:49 mst \o/
18:54 travis-ci joined #moarvm
18:54 travis-ci MoarVM build failed. Samantha McVey 'Merge pull request #662 from samcv/segfault-check
18:54 travis-ci https://travis-ci.org/MoarVM/MoarVM/builds/268732495 https://github.com/MoarVM/MoarVM/compare/ef2b21ac5b58...1fe9beb38307
18:54 travis-ci left #moarvm
18:54 Geth ¦ MoarVM: 605746489c | (Samantha McVey)++ | src/strings/ops.c
18:54 Geth ¦ MoarVM: Remove unneeded MVMROOT from KMP algorithm
18:54 Geth ¦ MoarVM:
18:54 Geth ¦ MoarVM: @zhuomingliang++
18:54 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/605746489c
19:08 travis-ci joined #moarvm
19:08 travis-ci MoarVM build passed. Samantha McVey 'Remove unneeded MVMROOT from KMP algorithm
19:08 travis-ci https://travis-ci.org/MoarVM/MoarVM/builds/268735626 https://github.com/MoarVM/MoarVM/compare/1fe9beb38307...605746489cf4
19:08 travis-ci left #moarvm
19:11 AlexDaniel joined #moarvm
20:06 dogbert11 samcv: was the NFG checker functionality completed, i.e. can I use it?
20:08 dogbert11 tried it on AlexDaniel's golfed bug and the code SEGV's when I use the NFG checker functionality
20:09 samcv oh yeah it should work
20:09 dogbert11 but it doesn't, unless it's uncovering some other bug
20:09 samcv hm what's AlexDaniel's bug
20:10 dogbert11 sec
20:10 dogbert11 here: https://irclog.perlgeek.de/perl6-dev/2017-08-26#i_15071903
20:10 dogbert11 there's a gist a bit further down on that page
20:11 dogbert11 trying AlexDaniel's example the code SEGV's at MVM_string_gi_get_grapheme (tc=0x804c588, gi=0xbfffda80) at src/strings/iter.h:118
20:13 dogbert11 I have set   #define MVM_DEBUG_NFG 1    and      #define MVM_DEBUG_NFG_STRICT 0
20:13 samcv ok
20:14 samcv you got more of the stack trace?
20:15 samcv where is it before MVM_string_gi_get_grapheme? what line/file called it?
20:15 dogbert11 https://gist.github.com/dogbert17/889cd5877c975055980816f666cc9e99
20:15 samcv oh
20:16 samcv well either it's GCing one of the strings or there's a problem with the source string
20:19 samcv ok
20:19 samcv trying to replicate
20:19 dogbert11 ++samcv
20:20 dogbert11 I was hoping that the checker would help uncover AlexDaniel's original problem
20:22 samcv yeah i'm guessing it did
20:22 samcv which caused it to segfault
20:24 samcv dogbert11, do you know where strings are created when we read utf8?
20:25 samcv we should put a NFG_CHECK(tc, string, "utf8-decode") or something there
20:25 samcv since the string is created before the concat is called
20:25 dogbert11 I can't say that I do :(
20:26 samcv i'll start adding it places
20:28 dogbert11 cool, I also tried a spectest run with the NFG flag set, there were many failures
20:30 samcv one thing at a time :)
20:32 samcv wow i got
20:32 samcv invilid thread id in work pass
20:33 samcv MoarVM panic: Internal error: invalid thread ID -951500821 in GC work pass
20:33 samcv # after reaching 6795
20:33 samcv looks like there may be a GC problem
20:34 dogbert11 cool
20:36 samcv i'm going to enable STRICT
20:36 samcv though it's crashing in re_nfg. but maybe somewhere earlier it could segfault since it will check each grapheme manually between it and the re_nfg'd form
20:39 dogbert11 I get a SEGV at the same place with strict set to 1
20:47 samcv well there are 2 threads
20:48 samcv oh got another
20:48 samcv MoarVM oops: MVM_nfg_get_synthetic_info call requested a synthetic codepoint that does not exist.
20:49 samcv dogbert11, is there a way to get moarvm to dump its stack for MoarVM oops? i mean it prints a perl 6 trace
20:49 samcv but not always helpful
20:51 dogbert11 perhaps nwc10 knows
20:53 dogbert11 are you running the program under gdb?
20:55 samcv lldb is givinng me beter backtraces. uh i'm looking at the coredump right now
20:55 samcv gdb wasn't giving all the symbols for me
20:55 samcv sec
20:59 samcv dogbert11, sweet. i got a shell function that grabs the last coredump and outputs a backtrace on all threads with lldb or gdb
21:02 samcv ok cool that makes things easier
21:03 dogbert11 let's hope something interesting turns up :)
21:04 samcv using 'print $++, " "' so i get less lines on my screen
21:04 samcv uh valgrind isn't happy
21:05 samcv seems: out = (MVMString *)MVM_repr_alloc_init(tc, tc->instance->VMString);
21:09 dogbert11 heh 'Conditional jump or move depends on uninitialised value(s)'
21:09 samcv dogbert11, what distro do you have?
21:09 dogbert11 I'm running Linux Mint
21:10 samcv https://gist.github.com/e35cc9db2692f8fd74b206394a0bb167
21:10 samcv this should probably work for you
21:10 samcv as long as `cat /proc/sys/kernel/core_pattern` shows /usr/lib/systemd/systemd-coredump
21:11 samcv will print out the full stacktrace of the last coredump
21:14 dogbert11 cool, will try it out
21:54 samcv dogbert11, i'm thinking of making perl6-valgrind-m have a MVM_VALGRIND_OPTS variable that can let you define valgrind options
21:54 samcv does that sound like an OK name?
21:56 samcv getting some more useful info with --track-origins=yes
21:57 samcv https://gist.github.com/846287070706906fceccd7031c806b20
22:04 zakharyas joined #moarvm
22:23 samcv dogbert11, i iterated the whole string before calling re_nfg, and i get a segfault as well
22:32 dogbert11 cool, so do you think it's a GC problem?
22:33 Ven`` joined #moarvm
22:33 dogbert11 also if you're making changes to perl6-valgrind-m remove --full-cleanup while you're at it. That option is busted
22:50 lizmat joined #moarvm
22:59 samcv ok
23:07 samcv dogbert11, done
23:17 dogbert11 samcv++
23:32 Geth ¦ MoarVM: 1776b561f4 | (Samantha McVey)++ | 2 files
23:32 Geth ¦ MoarVM: Add MVM_DEBUG_NFG in more places. Initialize a few pointers as NULL
23:32 Geth ¦ MoarVM:
23:32 Geth ¦ MoarVM: * Initialize a few pointers to NULL in NFG_checker() and re_nfg()
23:32 Geth ¦ MoarVM: * In MVM_string_replace() don't pop MVMROOT until after debug functions run
23:32 Geth ¦ MoarVM: * Move the conditional defines for MVM_DEBUG_NFG into strings/ops.h so we can
23:32 Geth ¦ MoarVM:   include them in files other than strings/ops.c
23:32 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/1776b561f4
23:32 samcv dogbert11, pull the latest changes. i fixed some of the valgrind errors
23:42 samcv oh wow this is pretty nice
23:42 samcv i did find some error by compiling with clang uh -fsanitize=address
23:42 samcv from my KMP algorithm. darn
23:42 samcv i thought it fixed that. well valgrind doesn't get angry at least
23:43 samcv i don't think it's causing our problem but
23:45 samcv it was only off by a few bytes. ok i think i know why this was happening sweet
23:45 samcv that was super useful
23:45 samcv and wasn't caught by valgrind
23:48 quotable6 joined #moarvm
23:48 Geth ¦ MoarVM: af996dfcde | (Samantha McVey)++ | src/strings/ops.c
23:48 Geth ¦ MoarVM: KMP: fix off by one alloca allocation
23:48 Geth ¦ MoarVM:
23:48 Geth ¦ MoarVM: The jump table needs to be one more than the length of the needle, instead of
23:48 Geth ¦ MoarVM: the length of the needle. It is written to at the very end of the patterns
23:48 Geth ¦ MoarVM: processing.
23:48 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/af996dfcde
23:50 samcv dogbert11, ok yeah it has to be a gc problem. with this clang instrumentation. it tells me it got a read after free, and showed me the exact line
23:50 samcv `        gi->strands_remaining    = s->body.num_strands - 1;`
23:51 samcv trying to access the number of strands but the string has already been freed
23:53 dogbert11 interesting, something for jnthn perhaps
23:53 samcv dogbert11, https://gist.github.com/samcv/0bfd825ac061af7a36fac7f69179fe87

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