<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">No crash anymore! Thanks everyone!<div class=""><br class=""></div><div class="">Steven</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On May 25, 2016, at 2:34 PM, Xinliang David Li <<a href="mailto:davidxl@google.com" class="">davidxl@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Can  you sync up to head (with Sean and my fix pulled in) to see if the problem is fixed?<div class=""><br class=""></div><div class="">thanks,</div><div class=""><br class=""></div><div class="">David</div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Wed, May 25, 2016 at 1:51 PM, Steven Wu <span dir="ltr" class=""><<a href="mailto:stevenwu@apple.com" target="_blank" class="">stevenwu@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><br class=""><div class=""><span class=""><blockquote type="cite" class=""><div class="">On May 25, 2016, at 1:48 PM, Xinliang David Li <<a href="mailto:davidxl@google.com" target="_blank" class="">davidxl@google.com</a>> wrote:</div><br class=""><div class=""><div dir="ltr" class=""><br class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Wed, May 25, 2016 at 1:39 PM, Vedant Kumar <span dir="ltr" class=""><<a href="mailto:vsk@apple.com" target="_blank" class="">vsk@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br class="">
> On May 25, 2016, at 1:20 PM, Xinliang David Li <<a href="mailto:davidxl@google.com" target="_blank" class="">davidxl@google.com</a>> wrote:<br class="">
><br class="">
><br class="">
> On Wed, May 25, 2016 at 1:17 PM, Steven Wu <<a href="mailto:stevenwu@apple.com" target="_blank" class="">stevenwu@apple.com</a>> wrote:<br class="">
> It is -O3 PGO for arm64 with training input.<br class="">
><br class="">
> I am looking as well. Seems PData->Values is NULL but I don't know how yet.<br class="">
<br class="">
</span>Steven sent me a core dump. I'll take a look at this to double-check the value of PData.<br class="">
<span class=""><br class="">
><br class="">
> With static allocation, this should not happen -- the field is statically initialized.<br class="">
<br class="">
</span>But, we know static allocation is enabled because we get a warning from allocateOneNode().<br class="">
<br class="">
If enough warnings occur, is it possible for CurrentVNode to wrap around s.t:<br class="">
<br class="">
  COMPILER_RT_PTR_FETCH_ADD(ValueProfNode, CurrentVNode, 1) < EndVNode ?<br class="">
<br class="">
If this happens, allocateOneNode() can eventually return an incorrect VNode which will then be stored into PData->Values.<br class=""></blockquote><div class=""><br class=""></div><div class=""><br class=""></div><div class="">yes -- that is a problem by itself I will fix. Unlikely the reason here though -- I only see very few warnings (not exceeding the limit).</div></div></div></div></div></blockquote><div class=""><br class=""></div></span><div class="">I actually see 10 warnings when I run training set on 445.gobmk. The commend used is:</div><div class="">$ ./445.gobmk.simple --quiet --mode gtp < arb.tst</div><div class=""><div class="h5"><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""><br class=""></div><div class="">David </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><font color="#888888" class=""><br class="">
vedant<br class="">
</font></span><div class=""><div class=""><br class="">
><br class="">
> David<br class="">
><br class="">
><br class="">
><br class="">
> Steven<br class="">
><br class="">
>> On May 25, 2016, at 1:06 PM, Xinliang David Li <<a href="mailto:davidxl@google.com" target="_blank" class="">davidxl@google.com</a>> wrote:<br class="">
>><br class="">
>> I could not reproduce the issue (only saw out of nodes warning). What additional option is used (I used O3)? What is the input (train, ref, test)?<br class="">
>><br class="">
>> David<br class="">
>><br class="">
>> On Wed, May 25, 2016 at 11:24 AM, Vedant Kumar <<a href="mailto:vsk@apple.com" target="_blank" class="">vsk@apple.com</a>> wrote:<br class="">
>> Hi David,<br class="">
>><br class="">
>> We're seeing another issue that we think is related to the recent static VP node allocation changes. Instrumented programs are hitting a segfault:<br class="">
>><br class="">
>> ```<br class="">
>> 458.sjeng is fixed but 445.gobmk is broken.<br class="">
>> LLVM Profile Warning: Unable to track new values: Running out of static counters.  Consider using option -mllvm -vp-counters-per-site=<n> to allocate more value profile counters at compile time.<br class="">
>> /Users/buildslave/jenkins/workspace/Performance_ARM64_SPEC2006_INT-O3_LTO_PGO-master/spec2006/cur_run/nt/build/LNTBased/speccpu2006/int/445.gobmk/tools/timeit-target: error: child terminated by signal 11<br class="">
>> ```<br class="">
>><br class="">
>> The backtrace is:<br class="">
>><br class="">
>> ```<br class="">
>> * frame #0: 0x0000000100112f10 445.gobmk.simple`__llvm_profile_instrument_target + 132 at InstrProfilingValue.c:137<br class="">
>>     frame #1: 0x000000010007d528 445.gobmk.simple`shapes_callback + 2352<br class="">
>>     frame #2: 0x0000000100035b0c 445.gobmk.simple`matchpat_loop + 2088<br class="">
>>     frame #3: 0x0000000100034b38 445.gobmk.simple`matchpat_goal_anchor + 1124<br class="">
>>     frame #4: 0x000000010007cb0c 445.gobmk.simple`shapes + 384<br class="">
>>     frame #5: 0x0000000100029e4c 445.gobmk.simple`do_genmove + 2344<br class="">
>>     frame #6: 0x00000001000a5a48 445.gobmk.simple`gtp_gg_genmove + 216<br class="">
>>     frame #7: 0x0000000100099a6c 445.gobmk.simple`gtp_main_loop + 660<br class="">
>>     frame #8: 0x000000010009bd00 445.gobmk.simple`main + 7188<br class="">
>> ```<br class="">
>><br class="">
>> In __llvm_profile_instrument_target(), it looks like we're failing the condition: CounterIndex < NumVSites.<br class="">
>><br class="">
>> Do you mind taking a look?<br class="">
>><br class="">
>> thanks,<br class="">
>> vedant<br class="">
>><br class="">
>><br class="">
>> > On May 23, 2016, at 12:29 PM, Xinliang David Li <<a href="mailto:davidxl@google.com" target="_blank" class="">davidxl@google.com</a>> wrote:<br class="">
>> ><br class="">
>> > Fix is on the way.<br class="">
>> ><br class="">
>> > David<br class="">
>> ><br class="">
>> > On Mon, May 23, 2016 at 12:27 PM, Vedant Kumar <<a href="mailto:vsk@apple.com" target="_blank" class="">vsk@apple.com</a>> wrote:<br class="">
>> ><br class="">
>> > > On May 23, 2016, at 12:19 PM, Xinliang David Li <<a href="mailto:davidxl@google.com" target="_blank" class="">davidxl@google.com</a>> wrote:<br class="">
>> > ><br class="">
>> > ><br class="">
>> > ><br class="">
>> > > On Mon, May 23, 2016 at 12:15 PM, Vedant Kumar <<a href="mailto:vsk@apple.com" target="_blank" class="">vsk@apple.com</a>> wrote:<br class="">
>> > > Hi David,<br class="">
>> > ><br class="">
>> > > I think one of the SPEC2006 tests doesn't have enough statically-allocated VP nodes per site. We're seeing:<br class="">
>> > ><br class="">
>> > > > "Child terminated by signal 25" (SIGXFSZ) after:<br class="">
>> > ><br class="">
>> > > Is this related?<br class="">
>> ><br class="">
>> > I don't think so. I suspect that's happening because the device is overloaded with logging info.<br class="">
>> ><br class="">
>> ><br class="">
>> > > ><br class="">
>> > > > LLVM Profile Warning: Running out of nodes: site_0@func_12822962448227433604, value=4295054468<br class="">
>> > > > ...<br class="">
>> > > > LLVM Profile Warning: Running out of nodes: site_0@func_12822962448227433604, value=4295052980<br class="">
>> > > > LLVM Profile Warning: Running out of nodes: site_0@func_12822962/Users/buildslave/jenkins/workspace/Performance_ARM64_SPEC2006_INT-O3_LTO_PGO-master/spec2006/cur_run/nt/build/LNTBased/speccpu2006/int/458.sjeng<br class="">
>> > ><br class="">
>> > > It seems like the fix for now is to either tweak vp-counters-per-site for the test or to set -vp-static-alloc=false.<br class="">
>> > ><br class="">
>> > > In the long term, do you think it's worth adjusting vp-counters-per-site s.t we can run SPEC without modifications? If so, is SPEC the right testbed?<br class="">
>> > ><br class="">
>> > > Rong had helped collecting SPEC related statistics, but looks like there is something missing.  I will investigate. In the meantime, can you try the workaround?<br class="">
>> ><br class="">
>> > Yes, we'll do that.<br class="">
>> ><br class="">
>> > Here's all the logging info from our bot:<br class="">
>> ><br class="">
>> ><br class="">
>> ><br class="">
>> ><br class="">
>> ><br class="">
>> > thanks,<br class="">
>> > vedant<br class="">
>> ><br class="">
>> ><br class="">
>> > ><br class="">
>> > > thanks,<br class="">
>> > ><br class="">
>> > > David<br class="">
>> > ><br class="">
>> > ><br class="">
>> > > thanks,<br class="">
>> > > vedant<br class="">
>> > ><br class="">
>> ><br class="">
>> ><br class="">
>> ><br class="">
>><br class="">
>><br class="">
><br class="">
><br class="">
<br class="">
</div></div></blockquote></div><br class=""></div></div>
</div></blockquote></div></div></div><br class=""></div></blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></div></body></html>