[Lldb-commits] [PATCH] D114288: [NFC] Refactor symbol table parsing.

Greg Clayton via lldb-commits lldb-commits at lists.llvm.org
Fri Dec 3 09:19:12 PST 2021


Thanks for doing that! I was able to successfully run the test on linux, and then I added extra context to the stop. It seems that the two breakpoints are set correctly, but the second breakpoint is not hit and the program exits. So all is good from the symbol table changes as far as I have been able to tell since both breakpoints were set. Below is the extra output that shows the first breakpoint was hit, and then we continue and don't hit the second breakpoint, but we do exit with the correct exit status of 12, so the program isn't crashing. In the lines below we now can see after the "continue" command, that is just exits with the expect statu of 12 (which is argc == 1 and it multiplies it by 3 and then by 4). I am happy to help look at this. If you can send a copy of the arm "minidebuginfo-set-and-hit-breakpoint.test.tmp.binary" binary I might be able to see what is going on.



            1: (lldb) command source -s 0 '/home/tcwg-buildslave/worker/lldb-arm-ubuntu/build/tools/lldb/test/Shell/lit-lldb-init' 
            2: Executing commands in '/home/tcwg-buildslave/worker/lldb-arm-ubuntu/build/tools/lldb/test/Shell/lit-lldb-init'. 
            3: (lldb) # LLDB init file for the LIT tests. 
            4: (lldb) settings set symbols.enable-external-lookup false 
            5: (lldb) settings set plugin.process.gdb-remote.packet-timeout 60 
            6: (lldb) settings set interpreter.echo-comment-commands false 
            7: (lldb) settings set symbols.clang-modules-cache-path "/home/tcwg-buildslave/worker/lldb-arm-ubuntu/build/lldb-test-build.noindex/module-cache-lldb" 
            8: (lldb) settings set target.auto-apply-fixits false 
            9: (lldb) settings set target.inherit-tcc true 
           10: (lldb) settings set target.detach-on-error false 
           11: (lldb) target create "/home/tcwg-buildslave/worker/lldb-arm-ubuntu/build/tools/lldb/test/Shell/ObjectFile/ELF/Output/minidebuginfo-set-and-hit-breakpoint.test.tmp.binary" 
           12: Current executable set to '/home/tcwg-buildslave/worker/lldb-arm-ubuntu/build/tools/lldb/test/Shell/ObjectFile/ELF/Output/minidebuginfo-set-and-hit-breakpoint.test.tmp.binary' (arm). 
           13: (lldb) b multiplyByThree 
           14: Breakpoint 1: where = minidebuginfo-set-and-hit-breakpoint.test.tmp.binary`multiplyByThree, address = 0x00010440 
           15: (lldb) b multiplyByFour 
           16: Breakpoint 2: where = minidebuginfo-set-and-hit-breakpoint.test.tmp.binary`multiplyByFour, address = 0x00010428 
           17: (lldb) run 
           18: Process 3530626 stopped 
           19: * thread #1, name = 'minidebuginfo-s', stop reason = breakpoint 1.1 
check:71'0                                                                        X error: no match found
           20:  frame #0: 0x00010440 minidebuginfo-set-and-hit-breakpoint.test.tmp.binary`multiplyByThree 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:71'1      ?                                                                                          possible intended match
           21: minidebuginfo-set-and-hit-breakpoint.test.tmp.binary`multiplyByThree: 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           22: -> 0x10440 <+0>: sub sp, sp, #4 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           23:  0x10444 <+4>: str r0, [sp] 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           24:  0x10448 <+8>: ldr r0, [sp] 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           25:  0x1044c <+12>: movw r1, #0x3 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           26: Process 3530626 launched: '/home/tcwg-buildslave/worker/lldb-arm-ubuntu/build/tools/lldb/test/Shell/ObjectFile/ELF/Output/minidebuginfo-set-and-hit-breakpoint.test.tmp.binary' (arm) 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           27: (lldb) continue 
check:71'0     ~~~~~~~~~~~~~~~~
           28: Process 3530626 resuming 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
           29: Process 3530626 exited with status = 12 (0x0000000c) 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           30: (lldb) breakpoint list -v 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
           31: Current breakpoints: 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~
           32: 1: name = 'multiplyByThree' 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           33:  1.1:  
check:71'0     ~~~~~~~
           34:  module = /home/tcwg-buildslave/worker/lldb-arm-ubuntu/build/tools/lldb/test/Shell/ObjectFile/ELF/Output/minidebuginfo-set-and-hit-breakpoint.test.tmp.binary 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           35:  symbol = multiplyByThree 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
           36:  address = 0x00010440 
check:71'0     ~~~~~~~~~~~~~~~~~~~~~~
           37:  resolved = true 
check:71'0     ~~~~~~~~~~~~~~~~~
           38:  hardware = false 
check:71'0     ~~~~~~~~~~~~~~~~~~
           39:  hit count = 1  
check:71'0     ~~~~~~~~~~~~~~~~
           40:  
check:71'0     ~


> On Dec 3, 2021, at 8:53 AM, Omair Javaid <omair.javaid at linaro.org> wrote:
> 
> On Fri, 3 Dec 2021 at 04:50, Greg Clayton via Phabricator <reviews at reviews.llvm.org <mailto:reviews at reviews.llvm.org>> wrote:
> clayborg added a comment.
> 
> In D114288#3165212 <https://reviews.llvm.org/D114288#3165212 <https://reviews.llvm.org/D114288#3165212>>, @clayborg wrote:
> 
> > In D114288#3163808 <https://reviews.llvm.org/D114288#3163808 <https://reviews.llvm.org/D114288#3163808>>, @omjavaid wrote:
> >
> >> Hi @clayborg 
> >> This breaks LLDB Arm/Linux buildbot. https://lab.llvm.org/buildbot/#/builders/17/builds/14035 <https://lab.llvm.org/buildbot/#/builders/17/builds/14035>
> >
> > I will check this out on linux. Any reason why I did not get a message to my email that this was failing?
> 
> I checked this out on normal linux and it passes correctly.
> 
> I modified the test file to dump more input context so we can see what is going on on the lldb-arm-ubuntu buildbots in the error output with:
> 
> commit 266a66c915cbbc36b1a3887963eb97f32306c7e4 <https://reviews.llvm.org/rG266a66c915cbbc36b1a3887963eb97f32306c7e4 <https://reviews.llvm.org/rG266a66c915cbbc36b1a3887963eb97f32306c7e4>> (HEAD -> main, origin/main, origin/HEAD)
> Author: Greg Clayton <gclayton at fb.com <mailto:gclayton at fb.com>>
> Date:   Thu Dec 2 15:47:15 2021 -0800
> 
>   Include extra input contents on this test so we can see why lldb-arm-ubuntu buildbot is failing.
> 
>   Only lldb-arm-ubuntu is failing after https://reviews.llvm.org/D114288 <https://reviews.llvm.org/D114288> and there isn't enough input context to see why this is failing. It works on x86_64 linux just fine.
> 
> Hi Greg, I have marked the test as XFAIL on arm. It seems that the Arm executable gets corrupted while removing certain sections and when run lands on an illegal instruction. I ll try to figure it out and share feedback or post a fix.
> 
> Repository:
>   rG LLVM Github Monorepo
> 
> CHANGES SINCE LAST ACTION
>   https://reviews.llvm.org/D114288/new/ <https://reviews.llvm.org/D114288/new/>
> 
> https://reviews.llvm.org/D114288 <https://reviews.llvm.org/D114288>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20211203/44e179ad/attachment.html>


More information about the lldb-commits mailing list