It turns out this is a file /tmp/reproducer-337129/sbapi.bin swelling in size. The lldb docs on reproducers indicate that I would need to run lldb --collect to enable reproducers. I've never passed --collect to LLDB, I didn't know it was an option. Does anyone know why LLDB is collecting this data anyway? Is there a debug switch somewhere else, or is it turned on by default because I am using a command script? I'm not expecting LLDB to crash and would prefer to disable the reproducers collection. I'm using the lldb that ships with Swift for Tensorflow on Ubuntu 18.04:
$ which lldb
/home/xander/swift-tensorflow-RELEASE-0.10-cuda10.2-cudnn7-ubuntu18.04/usr/bin/lldb
$ lldb --version
lldb version 10.0.0 (https://github.com/apple/llvm-project.git revision 55d27a5828841a530b402bbe17df84580115065e)
Swift version 5.3-dev (LLVM 55d27a5828, Swift 6a5d84ec08)
But I'm not aware that Swift for Tensorflow makes lldb modifications?
Apologies if this isn't the best place to be asking LLDB usage questions, please let me know if there's a better place for it.
Until reproducer capture is enabled by default, you need to launch LLDB in capture mode. For the command line driver, this means passing --capture .
so perhaps the time when it is enabled by default has come. This commit looks relevant, and suggests you can disable it using the LLDB_REPRODUCER_DISABLE_CAPTURE environmental variable.
I will say that ~50GB seems extreme, though, so perhaps there's some other issue involved.
Thanks for finding this. I did a bit of searching in apple/llvm-project and didn't land on it. Unfortunately I'm not having luck with it. In ~/.bashrc I have:
I still see it create a /tmp/reproducer-<id>/sbapi.bin and within a few seconds it's 100MB and continues to grow in size at the same rate as before.
I ran this about twenty times and on three of them I saw it create a /tmp/reproducer-<id>/sbapi.bin that was fixed at 127kb size, whereas on all the other runs the file grew in size as before. Exact same environment variables, Swift binary, and lldb command. This doesn't make sense.
My server is processing 100s of GB of data per day, is it attempting to store all of that program state?
What is the right place to file LLDB bug reports? Is it feedbackassistant.apple.com? I don't see LLDB/llvm in the list of Developer Tools categories, but "Something else not on the list" covers it.