> On Oct 15, 2018, at 3:47 PM, Stella Stamenova via Phabricator 
> <revi...@reviews.llvm.org> wrote:
> 
> stella.stamenova added a comment.
> 
> In https://reviews.llvm.org/D50478#1262717, @vsk wrote:
> 
>> In https://reviews.llvm.org/D50478#1262710, @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?


> 
>  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
> 
> 
> 

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to