<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJztWl9z2joW_zTkRYPHyDaGBx5ICDvM5LaZknYfGdk-BjXG8khyCN9-z5ENgSTt3m6TkpuNxgNYkqXzO_9lTqKy7WgKG7YBuDUsEelth1-wGRNZBhkTrMSxNdiVyphVzK6Azc_H17NOMMYff6msLgB_4zUzU1nAOS6Az3X4IM8jDnkQhAkk3BdDP8mSMBiEvaHv-1kKoRBpIoZZhw87_qTjj5vPG9wEjMWdpGko2ai6yJixQlukp9IqBWNoh420KyZKJstcltICK5SqcDnscIQSmKVWdZnRQhkUgHPcgCyF3uKjiAm_EZewVqSrHUJdl6Usl_u9cq3WrCiyhCbAPehUmmalvC5TK1XpsRukF0nVhH4DRcFUydYi_TxnSW1ZrjQzao1LgzCqNExin0B-ZTSvkGV9TzQahXhXwrE6k0YkBdBMnFIVwuIia6ZwW417I-5M6A1CRU4IAUEa5jwJ-1kQJL4fcj_nGY_CXpr0MwFJzvNBzJE53iGzZx0er9n3Gvm9BGsJMzGt4UPDf2QQdWMP8hE0igG5tlltn0FwtPQ5FGrDkCfEpkw5mdL8Wjt9OZjZ6fvt5W4_yfK76H5BaQkDY2NA2w6fEve7bpfu_aC_6IcdHiDykHk4iPLcTWl36lbsBr93GupVW_Y67RCI05A75BEqBOsFnu_5JJyVtZUhzHyK1xKVtk68VK3xRlQVmg-RfrfuorZ9h9R6OAPV5E66Zfo5AER5IDgMfQjzQR4ng0ECPA7iWKA5xUGW9oaC1P7VWwNzvpG53eOMvLibwR0Bvbr69hcL0oHvJ-mAJ70wDGNSoeYBGGY8jngc9wcB5OkfIfjXWgvvVlaVU3myb1WgGrs7UqtUWFgqLYHkyTrROdpPrsUaupkUy1IZFKaDjF8bYdNVpWRpzXOdD32FTJAb5-7a9WVmu364W66dFh-sk0FSL9E0UAoPnSr5ntJdNHlRhnz9NP96ff35y83lhFBfXU3OSdqotl-RAiRqmil0-npRG6JmajRSMV0ktSzQ8U5_ZM-o8cf23JpxWohyue8csia6OP4vGj4spFnk6HkWiQs2C2IWUXRk8bsfGKsuBMllSFNaKRpySWBYqcgpobNGNyrK7U6-2wY4UzkOWNDOdyntfCIFhzeou3-7NdCm49nVGxXmRuj870jzvcFWLw_6H2PBOwf3clbcACdbfndW3KYcweSdXafm61E79hd_3l-9cmsDHHNZcnuq-9FhznmK4e4Q-A9pDcDui7RTYzlq7SlZixTcUQ2ls1aGTgwplOQV0Q8Wwlg6VgfjU1P7y22nmKR-iI3_lxh1eHBqj4D4VSFjxJLy5en1FrV2dzo0tbR03CJzbrvoJ54O3U4XdIwF1ov7Ad3QWwRn96-u-HtrRCnaWpf0OkLfiaJGYgcGivzN-Y9faC8i0VZi9OIJxetkuhCVpKeSxi_jz0cn_kOZRv6RRJ_z5K8CmjESnydc0nSjnUBBa6W9eZ3Su6XWudJLlfZtExHKrr98vriczxez-eLb-Go2eYMK0EBs0kGpyktCRR5nKgpMzGSTlhFkyv_YdfsqDftRseVbjyMNuAtV5nKJqUmTy3ZfNWE-LdSTZ38f6eRrngNfuX2kkx_p5JtsH-nkRzr5kU5-pJMnbv936eS7jZRfRMlCZ_aG7N_3gqhnTk3a77UH5_LOWiuxy_nXqxvnSjD9vpxQiuOzinyoc458V5bg7nzm_Gk7Yui_YMjagfsKgwh69uP5dbkfMI0TppHhfv9H5Q3tn8wAa4Ox5BbYBthK3AGzWtVU79GUorQ1F5RKt47cYzNW1QUVXNQVw_UqDGV9n2YZoMoYvEk0iNvm72UcodqQvv84jAXjiKhxMUJaqpm5bSk5rpnZV7-shMHVGzd7TbHjwpW0iNyC_iG1DzUzNB8xLolGqtVpFlKJq3X4SR1IJ7hkfzC4DyKqjvlxPG8ia-vdiLZ9IRIeNa3QiM8bO2bcqDY6_VvaFfHL5Vxeliy9f4G9ksZCSSDcevyiRcsH10T9sInwD2JYVDJrpvT9gd97PLs8EbOCX2PWc6BQL5ytPRSA7VCdCFP4P2B6iVTssUyr_QMtHy4ImDc_b_WqE5zTjHv31yaOzjdyyT47g6Ieu63A1ZUQN9zxe_8kduM-MVot8-_jPOnHadhL_dR3vA4un1DSup6Z-UZWe8gCl5c9nv8MA57OPjbzGcMhdB1aQva4Eg-zu7UoazyDbp3LsSsknP7yxSwntq7a7qce5Dfzq2cqzo6rzajM7NgqGw3cM26HpttFhT-cCrv0tp3QVNJRR0Gn71SVJbjCwicrd6LLyU8CyyfMkg0GJ1ei5ziIVwIYYZqSJipSFNt9yR7zPI-N6T_zgjLr0C9EIuwKdWF6lo2CbBgMxZmo0YT0aA2ZNGskNIHyrNbF6CeFbWSYT-1TGlO7Y3QUDEP_bDWK-CD3B1yIOBTAo6wHQR-_8gEIHoaCnyE5UJiRq7TiDQt4J5qc_f7mcsR9jpcrR-UR96IwDgKe8ygdpn6EziD0gdB6tI6n9PJMj9ySVHlFnEJHbh4G0RHIZQnQ0nrIrJZmK23hhh2OaMJm5R16G7kUFp5UK6KArkhAZ47skaP5P0u1_RE>53940</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [lldb] Investigate TestSBModule.py on Linux
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            lldb
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            medismailben
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          medismailben
      </td>
    </tr>
</table>

<pre>
    Few weeks back, I added a new method to the SBAPI: SBModule::IsFileBacked (ff52ef334beb20a90bdb438419000dce4aacba9d)

To test this, I would start a process (with an infinite loop) in the background, delete the binary and try to attach to the running process from lldb to exercise the function. This worked well on macOS but for some reasons it failed on linux, so I had to disable it on platform other than darwin (aae3c4f2b46d33b00420f2d2541cb6daebf2f872).

I'm just getting back to this, trying to understand why it failed on linux.

Below is the dotest failure:

```
Ninja-ReleaseAssert/lldb-linux-x86_64# $ ./bin/lldb-dotest -p TestSBModule.py                                                                                       

lldb version 13.0.0 (https://github.com/apple/llvm-project.git revision 6feee5f3a2e90e4f8f7b88be27377a38473dc19a)                                                                                                  
Swift version 5.7-dev (LLVM 3c800bc82b14447, Swift e9d275277683efc)                                                                                                                                                
Skipping the following test categories: ['frame-diagnose', 'watchpoints', 'watchpoint', 'libc++', 'dsym', 'gmodules', 'debugserver', 'objc']                                                                       
UNSUPPORTED: LLDB (/Users/docker_user/src/_build/Ninja-ReleaseAssert/llvm-linux-x86_64/bin/clang-x86_64) :: test_module_is_file_backed_dsym (TestSBModule.SBModuleAPICase) (test case does not fall in any category
 of interest for this run)                                                                                                                                                                                         
FAIL: LLDB (/Users/docker_user/src/_build/Ninja-ReleaseAssert/llvm-linux-x86_64/bin/clang-x86_64) :: test_module_is_file_backed_dwarf (TestSBModule.SBModuleAPICase)                                               
FAIL: LLDB (/Users/docker_user/src/_build/Ninja-ReleaseAssert/llvm-linux-x86_64/bin/clang-x86_64) :: test_module_is_file_backed_dwo (TestSBModule.SBModuleAPICase)                                                 
UNSUPPORTED: LLDB (/Users/docker_user/src/_build/Ninja-ReleaseAssert/llvm-linux-x86_64/bin/clang-x86_64) :: test_module_is_file_backed_gmodules (TestSBModule.SBModuleAPICase) (test case does not fall in any cate
gory of interest for this run)                                                                                                                                                                                     
======================================================================                                                                                                                                             
FAIL: test_module_is_file_backed_dwarf (TestSBModule.SBModuleAPICase)                                                                                                                                              
   Test the SBModule::IsFileBacked() method                                                                                                                                                                        
----------------------------------------------------------------------                                                                                                                                             
Traceback (most recent call last):                                                                                                                                                                                 
  File "/Users/docker_user/src/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1763, in test_method                                                                                            
    return attrvalue(self)                                                                                                                                                                                         
  File "/Users/docker_user/src/llvm-project/lldb/test/API/python_api/sbmodule/TestSBModule.py", line 50, in test_module_is_file_backed                                                                             
    self.assertTrue(error.Success() and process,  PROCESS_IS_VALID)                                                                                                                                                
AssertionError: False is not True : Process is valid                                                                                                                                                               
Config=x86_64-/Users/docker_user/src/_build/Ninja-ReleaseAssert/llvm-linux-x86_64/bin/clang                                                                                                                        
======================================================================                                                                                                                                             
FAIL: test_module_is_file_backed_dwo (TestSBModule.SBModuleAPICase)                                                                                                                                                
   Test the SBModule::IsFileBacked() method                                                                                                                                                                        
----------------------------------------------------------------------                                                                                                                                             
Traceback (most recent call last):                                                                                                                                                                                 
  File "/Users/docker_user/src/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1763, in test_method                                                                                            
    return attrvalue(self)                                                                                                                                                                                         
  File "/Users/docker_user/src/llvm-project/lldb/test/API/python_api/sbmodule/TestSBModule.py", line 50, in test_module_is_file_backed                                                                             
    self.assertTrue(error.Success() and process,  PROCESS_IS_VALID)                                                                                                                                                
AssertionError: False is not True : Process is valid                                                                                                                                                               
Config=x86_64-/Users/docker_user/src/_build/Ninja-ReleaseAssert/llvm-linux-x86_64/bin/clang                                                                                                                        
----------------------------------------------------------------------                                                                                                                                             
Ran 4 tests in 0.351s                                                                                                                                                                                              
                                                                                                                                                                                                                   
RESULT: FAILED (0 passes, 2 failures, 0 errors, 2 skipped, 0 expected failures, 0 unexpected successes)   
```

Seems like we have trouble attaching to the process. I pulled up `pdb` to set a `breakpoint` in `TestSBModule.py:50` and it looks like the background process has a valid PID, but after attaching to the process from lldb, we get an invalid object.

```
> /Users/docker_user/src/llvm-project/lldb/test/API/python_api/sbmodule/TestSBModule.py(52)test_module_is_file_backed()
-> process = target.AttachToProcessWithID(self.dbg.GetListener(),
(Pdb) self.background_pid
60801
(Pdb) n
> /Users/docker_user/src/llvm-project/lldb/test/API/python_api/sbmodule/TestSBModule.py(53)test_module_is_file_backed()
-> self.background_pid, error)
(Pdb)
> /Users/docker_user/src/llvm-project/lldb/test/API/python_api/sbmodule/TestSBModule.py(54)test_module_is_file_backed()
-> self.assertTrue(error.Success() and process,  PROCESS_IS_VALID)
(Pdb) p process
<lldb.SBProcess; proxy of <Swig Object of type 'lldb::SBProcess *' at 0x7fb67c41c0c0> >
(Pdb) process.IsValid()
False
(Pdb) error.Success()
False
```
I also tried to attach to this manually but that doesn't work.

```
/Users/docker_user/src/_build/Ninja-ReleaseAssert/lldb-linux-x86_64# ./bin/lldb -p 60801
(lldb) process attach --pid 60801
error: attach failed: lost connection
(lldb) ^D
```

Not sure why this is behaving this way on linux ... Any clue @labath ?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWltz4rgS_jXkRYXL-ILNAw8Qwimq2JnUkJnzSMl2GzQxlkuSQ_j3p1s2BJLMnJ3dZMhmo3IlWJKl_vouuxOZ7YZT2LItwK1mCU9vO94lmzGeZZAxzkoc24BZy4wZycwa2GI8up51_BH--ENmdQH4G6-ZnooCxrgAPtfx4jwPPch9P0gg8Vw-cJMsCfw46A1c181SCDhPEz7IOt6g40467qj5e4ObgDa4k9ANJVtZFxnThiuD9FRKpqA17bAVZs14yUSZi1IYYIWUFS6HHZZQArNSsi4zWiiDAnCOHRAlVzt8FDHhf8TFjeHpeo9Q1WUpytVhr1zJDSuKLKEJcA8qFbpZKa_L1AhZOuwG6UVSFaHfQlEwWbINTz8vWFIblkvFtNzg0sC1LDUT2MeRXxnNK0RZ3xONWiLeNbeszoTmSQE0E6dUBTe4yIZJ3Fbh3og742qLUJETnIOfBrmXBP3M9xPXDTw39zIvDHpp0s84JLmXx5GHzHGOmT3reNGGfa-R3yswhjAT0xo-NPxHBlE39iAfQaEYkGvb9e4ZBCdLj6GQW4Y8ITZl0sqU5tfK6svRzE7fbS97-0mU33n3C0qLaxhpDcp0vClxv2t36d7H_WU_6Hg-Ig-Yg4Moz_2UdqduxW7w_15DnWrHXqcdA7Eacoc8QoVgPd9xHZeEszam0oTZm-K1QqWtEyeVG7zhVYXmQ6Tfbbqobd8hNQ7OQDW5E3aZfg4AYe5zDwYuBHmcR0kcJ-BFfhRxNKfIz9LegJPav3prYC62IjcHnKETdTO4I6Dz-bc_mJ_GrpuksZf0giCISIWaB2CQeVHoRVE_9iFPfwvBv9ZaeLeiqqzKk33LAtXY3pFapdzASioBJE_WCcdoP7niG-hmgq9KqVGYFjL-23KTrispSqOf63zoK0SC3Bjba9-X6d3m4W61sVp8tE4GSb1C00ApPHTK5HtKd-HkRRny9dPi6_X15y83VxNCPZ9PxiRtVNuvSAESNc0kOn21rDVRM9UKqZguk1oU6HinP7Jn1PhTe27NOC14uTp0DlgTXSz_lw0flkIvc_Q8y8QGmyUxiyg6sfj9D4xVl5zkMqAprRQ1uSTQrJTklNBZoxvl5W4v310DnMkcBwwo67uksj6RgsMb1N0_3Rpo09Fs_kaFueUq_zPSfG-w5cuD_sdY8N7BvZwVN8DJlt-dFbcphz95Z9e5-XrSTv3F7_dXr9zaAMdsltye6n50mLOeYrA_BP5DWgOw-yLt3FhOWntKVjwFe1RD6WykphNDCiV5RfSDBdeGjtX-6NzU_nLbKyapH2Lz_k-MOj44tUdA_FchY_iK8uXp9Q61dn861LUwdNwic2676CeeDu1Ol3SMBdaL-j7d0FsEa_evrvgHa0QpmlqV9DpC3fGiRmJjDUX-5vzHL7QXkWgrMXrxhOK1Ml3yStBTSeOX8eejE_-xTEP3RKLPefJXAc0Yic_hNmm6UVagoJRUzqJO6d1S61zppUr7tokIZddfPl9eLRbL2WL5bTSfTd6gAjQQm3RQyPKKUJHHmfICEzPRpGUEmfI_dt2-SsN-VGzx1uNIA-5SlrlYYWrS5LLdV02Yzwv17NnfRzr5mufAV24f6eRHOvkm20c6-ZFOfqSTH-nkmdu_Lp18t5HyCy9ZYM1ek_27jh_29LlJ-3vtwbm8s9ZK7GrxdX5jXQmm31cTSnFcVpEPtc7R25cl2DuXWX_ajmj6FgxZO3BfYRBBz346vy4PA7pxwjQyOOz_qLyh_cgMsNEYS26BbYGt-R0wo2RN9R5NKUpbc0GpdOvIHTZjVV1QwUVdMVyvwlDWd2mWBqqMwZtEAb9tPi_jCNWG9N3HYcwfhUSNjRHCUM3MbUvJac3MofplzTWu3rjZa4odl7akhecG1A-pfaiZofmIcUU0Uq1Os5BMbK3DT-pAOv4V-43BPQ6pOubH8byJrK13I9oOhUh41DRcIT5nZJlxI9vo9F9h1sQvm3M5WbJy_gNmLrSBkkDY9bzLFq0XXxP1gybCP4hhWYmsmdJ3Y7f3eHZ5Jmb5v8as50ChXlhbeygA26M6E6bgL2B6iVTssUyrwwMtHy4JmLMYt3rV8cc0495-2sTRxVas2GdrUNRjdhXYuhLihj1-H57EbtwnQqtl7n2UJ_0oDXqpm7qW1_7VE0pa1zPT38hqj1lg87LH859hwNPZp2Y-YziErkMJyB5X4mF2t-FljWfQnXU5Zo2E0ydfzHIiY6vtfupB_mZ-9UzF2Wm1GZWZnVplo4EHxu3RdLuo8MdTYZ_ethOaSjrqKOj0ncqyBFtY-GTlTng1-Ulg-YRZssbgZEv0LAfxSgAjTFPSREWKfHco2WOO47ARfTMvKLMO3IIn3KxRF6YX2dDPBv6AXxhhChh2wrGlIZywWXmHZiJW3MCTMjtceU4rX9SqGP6k9I1M96kFC61re9AO_UHgXqyHftznvJfl4IUJj5I4gLgfBX7UDyPPi3vBBRIMhR7aWiyvYZKHNF6Ioed6eNlyUy_0nDCIfN_LvTAdpG6Ixh64sEG2O0SCI9XqQg0tNVRZRZxAR60fBtHQxaoEaHfaQCY0PZ5A2e7Ia_Q0ang8cmHxDC2Y_wHra-ci">