> On Oct 16, 2018, at 10:59 AM, Stella Stamenova <sti...@microsoft.com> wrote:
> 
> The windows error is because the names are different, as you expected:
>  
> AssertionError: 'void sink(void)' != 'sink()'
>  
> You can probably update the test to look for a different name on Windows 
> (though if I recall correctly, different versions of the DIA sdk provide 
> different detail on the names, so that might not be robust either) or look 
> for a substring in the full name.

I used a substring check in r344634.


> I’ll look into the Linux error as well and let you know what I find.

Thank you very much! I really appreciate your help and patience with this.

The "step" logging channel should provide detailed information about what goes 
wrong when parsing the DWARF for call site information and creating artificial 
frames.

vedant

>  
>  
> From: v...@apple.com <v...@apple.com> 
> Sent: Monday, October 15, 2018 8:34 PM
> To: Frédéric Riss <fr...@apple.com>
> Cc: reviews+d50478+public+7e86b794a0909...@reviews.llvm.org; Adrian Prantl 
> <apra...@apple.com>; paul.robin...@sony.com; jdevliegh...@apple.com; Jim 
> Ingham <jing...@apple.com>; ztur...@google.com; Stella Stamenova 
> <sti...@microsoft.com>; abidh....@gmail.com; teempe...@gmail.com; 
> sgraen...@apple.com; mgr...@codeaurora.org; dblai...@gmail.com; 
> lldb-commits@lists.llvm.org
> Subject: Re: [PATCH] D50478: Add support for artificial tail call frames
>  
>  
> 
> 
> On Oct 15, 2018, at 4:46 PM, Frédéric Riss <fr...@apple.com 
> <mailto:fr...@apple.com>> wrote:
>  
> 
> 
> 
> On Oct 15, 2018, at 4:40 PM, Vedant Kumar <v...@apple.com 
> <mailto:v...@apple.com>> wrote:
>  
> 
> 
> 
> On Oct 15, 2018, at 3:47 PM, Stella Stamenova via Phabricator 
> <revi...@reviews.llvm.org <mailto:revi...@reviews.llvm.org>> wrote:
> 
> stella.stamenova added a comment.
> 
> In https://reviews.llvm.org/D50478#1262717 
> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Freviews.llvm.org%2FD50478%231262717&data=02%7C01%7CSTILIS%40microsoft.com%7C9ce5a5c509814cfbe40c08d633183492%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636752576410558617&sdata=FAl5MxKngJHYaphvhHxwZmkM%2FYzOFNN%2F1tc%2B9tn%2B9a4%3D&reserved=0>,
>  @vsk wrote:
> 
> 
> In https://reviews.llvm.org/D50478#1262710 
> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Freviews.llvm.org%2FD50478%231262710&data=02%7C01%7CSTILIS%40microsoft.com%7C9ce5a5c509814cfbe40c08d633183492%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636752576410558617&sdata=QxwDMhgyu1zOnJjSMtG2QzOmhwBtOiRGRKHuyU0gJoU%3D&reserved=0>,
>  @stella.stamenova wrote:
> 
> 
> Unfortunately, the bots are broken because of the FileCheck issue, so I can't 
> confirm with them, but I see a number of these tests fail in our local 
> testing. Some fail on both Windows and Linux and some just fail on Linux. 
> Here are the failing tests:
> 
> Linux:
> lldb-Suite :: 
> functionalities/tail_call_frames/disambiguate_call_site/TestDisambiguateCallSite.py
> lldb-Suite :: 
> functionalities/tail_call_frames/disambiguate_paths_to_common_sink/TestDisambiguatePathsToCommonSink.py
> lldb-Suite :: 
> functionalities/tail_call_frames/disambiguate_tail_call_seq/TestDisambiguateTailCallSeq.py
> lldb-Suite :: 
> functionalities/tail_call_frames/inlining_and_tail_calls/TestInliningAndTailCalls.py
> lldb-Suite :: 
> functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py
> lldb-Suite :: 
> functionalities/tail_call_frames/thread_step_out_message/TestArtificialFrameStepOutMessage.py
> lldb-Suite :: 
> functionalities/tail_call_frames/unambiguous_sequence/TestUnambiguousTailCalls.py
> 
> Windows:
> lldb-Suite :: 
> functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py
> lldb-Suite :: 
> functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py
> 
> 
> Let me know what you need to investigate.
> 
> 
> Strange, I didn't get any bot failure notifications in the days after this 
> landed. Could you share the output from the failing tests?
> 
> 
> All the failures on Windows are happening when validating the function name. 
> For example:
> 
> ======================================================================
> 
> FAIL: test_tail_call_frame_sbapi 
> (TestTailCallFrameSBAPI.TestTailCallFrameSBAPI)
> 
> ----------------------------------------------------------------------
> 
> Traceback (most recent call last):
> 
>   File 
> "E:\_work\55\s\llvm\tools\lldb\packages\Python\lldbsuite\test\functionalities\tail_call_frames\sbapi_support\TestTailCallFrameSBAPI.py",
>  line 19, in test_tail_call_frame_sbapi
> 
>     self.do_test()
> 
>   File 
> "E:\_work\55\s\llvm\tools\lldb\packages\Python\lldbsuite\test\functionalities\tail_call_frames\sbapi_support\TestTailCallFrameSBAPI.py",
>  line 64, in do_test
> 
>     self.assertTrue(frame.GetDisplayFunctionName() == name)
> 
> It could be that the display name of a function is formatted differently on 
> Windows. Do you have an easy way of determining what 
> frame.GetDisplayFunctionName() is?
>  
> If you use assertEqual(a,b) instead of assertTrue, it will print out the 
> values and make it easier to debug.
>  
> Thanks, done in r344581.
>  
> vedant
> 
> 
>  
> Fred 
> 
> 
> 
> 
> 
> AssertionError: False is not True
> 
> Config=x86_64-E:\_work\55\b\LLVMBuild\Release\bin\clang.exe
> 
> ----------------------------------------------------------------------
> 
> There are several different failures on Linux. Here's the first one:
> 
> FAIL: LLDB (/vstsdrive/_work/38/b/LLVMBuild/bin/clang-8-x86_64) :: test_dwarf 
> (lldbsuite.test.lldbtest.TestDisambiguateCallSite)
> 
> --- FileCheck trace (code=1) ---
> /vstsdrive/_work/38/b/LLVMBuild/bin/FileCheck 
> /vstsdrive/_work/38/s/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/disambiguate_call_site/main.cpp
>  -implicit-check-not=artificial
> 
> FileCheck input:
> * thread #1, name = 'a.out', stop reason = breakpoint 1.1
>   * frame #0: 0x0000000000400580 a.out`sink() at main.cpp:13:4 [opt]
>     frame #1: 0x00000000004005b8 a.out`main(argc=1, (null)=<unavailable>) at 
> main.cpp:28:3 [opt]
>     frame #2: 0x00007f980aff7830 libc.so.6`__libc_start_main + 240
>     frame #3: 0x00000000004004a9 a.out`_start + 41
> 
> It looks like we're not generating tail call frames on Linux at all. It would 
> help to have logs from "log enable -f /tmp/linux-stepping.log lldb step".
> 
> I'm headed out of the office now, but If you need to disable the tests on 
> Windows/Linux , the fastest way to do that would be to add a platform check 
> to skipUnlessHasCallSiteInfo in decorators.py.
> 
> vedant
> 
> 
> 
> 
> 
> FileCheck output:
> 
> /vstsdrive/_work/38/s/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/disambiguate_call_site/main.cpp:15:17:
>  error: CHECK-NEXT: expected string not found in input
>  // CHECK-NEXT: func2{{.*}} [opt] [artificial]
>                 ^
> <stdin>:3:2: note: scanning from here
>  frame #1: 0x00000000004005b8 a.out`main(argc=1, (null)=<unavailable>) at 
> main.cpp:28:3 [opt]
>  ^
> <stdin>:3:80: note: possible intended match here
>  frame #1: 0x00000000004005b8 a.out`main(argc=1, (null)=<unavailable>) at 
> main.cpp:28:3 [opt]
>                                                                               
> ^
> 
> Let me know if you need more logs.
> 
> 
> Repository:
> rLLDB LLDB
> 
> https://reviews.llvm.org/D50478 
> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Freviews.llvm.org%2FD50478&data=02%7C01%7CSTILIS%40microsoft.com%7C9ce5a5c509814cfbe40c08d633183492%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636752576410558617&sdata=LikQhFyzQHlkQnx39JzJileqEWz4i9BLZe3nRmNeYSM%3D&reserved=0>
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to