bulbazord added a comment. In D142926#4133356 <https://reviews.llvm.org/D142926#4133356>, @saugustine wrote:
> I don't think this necessarily matters or is a reason to revert, but we are > seeing issues with this patch and swig 3.0.2, that disappear with swig 4.0. > > The docs claim that versions past 3.0 are supported (except for some odd > corner cases). > > The failure is: > > Traceback (most recent call last): > File > "/build/work/37f17038e9cfbfbee7db556850bc7314bdb1/google3/runfiles/google3/third_party/llvm/llvm-project/lldb/test/API/functionalities/breakpoint/address_breakpoints/TestAddressBreakpoints.py", > line 19, in test_address_breakpoints > self.address_breakpoints() > File > "/build/work/37f17038e9cfbfbee7db556850bc7314bdb1/google3/runfiles/google3/third_party/llvm/llvm-project/lldb/test/API/functionalities/breakpoint/address_breakpoints/TestAddressBreakpoints.py", > line 50, in address_breakpoints > launch_info = lldb.SBLaunchInfo(None) > File > "/build/work/37f17038e9cfbfbee7db556850bc7314bdb1/google3/runfiles/google3/third_party/py/lldb/dotest_wrapper.par/google3/third_party/llvm/llvm-project/lldb/lib/python/site-packages/lldb/__init__.py", > line 6239, in __init__ > this = _lldb.new_SBLaunchInfo(*args) > ValueError: invalid null reference in method 'new_SBLaunchInfo', argument 1 > of type 'lldb::SBLaunchInfo const &' > > Config=x86_64-/build/work/37f17038e9cfbfbee7db556850bc7314bdb1/google3/runfiles/google3/devtools/c/lldb/testing/clang > > If I modify the line > > launch_info = lldb.SBLaunchInfo(None) > > to > > launch_info = lldb.SBLaunchInfo("") > > I get this error, which gives a clue to the fix: > > NotImplementedError: Wrong number or type of arguments for overloaded > function 'new_SBLaunchInfo'. > Possible C/C++ prototypes are: > lldb::SBLaunchInfo::SBLaunchInfo(char const **) > lldb::SBLaunchInfo::SBLaunchInfo(lldb::SBLaunchInfo const &) > > So if I use a vector of strings to match the first overload, the error > disappears and the tests pass: > > launch_info = lldb.SBLaunchInfo(["", ""]) > > Not sure the best way forward here. Either to abandon old versions of swig, > or to clean up the launch command. I'm not sure we're going to be able to drop support for older versions of swig at this time. Prior to this change, `SBLaunchInfo` only had one constructor exposed to python (the one that takes a `const char **`). This change exposes the `SBLaunchInfo` copy constructor. The way I see it there are two options: (1) Stop exposing the copy constructor, or (2) Modify all the uses of `SBLaunchInfo` to take a list of empty strings. Considering that this worked fine before, I'm inclined to stop exposing the SBLaunchInfo copy constructor. I'll upload a patch to handle that. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142926/new/ https://reviews.llvm.org/D142926 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits