[lldb-dev] Attaching to a stopped (cored) process hangs lldb-server

Greg Clayton via lldb-dev lldb-dev at lists.llvm.org
Wed Nov 4 10:13:02 PST 2015

So the entire core file is in memory somehow and when it is read from STDIN will be then be freed? Seems like a really lame way to pass the core file around as it requires up to 2x the size of the core in memory. We could add a new version of SBTarget::LoadCore() like:

SBTarget::LoadCoreFromData(const void *data, uint64_t data_len);

But this will be a memory hog depending on if the memory from STDIN containing the core file gets freed immediately after it is consumed, or if the data is still around.

> On Nov 4, 2015, at 10:05 AM, Mark Chandler <mchandler at blizzard.com> wrote:
> The problem becomes when the core data on stdin is gigabytes in size and there is little to no diskspace or memory (as the process is still around) to store/process the data.
> Mark Chandler
> Battle.Net Engineering Systems | Blizzard Entertainment
> (P) 949-955-1380 x15353
> -----Original Message-----
> From: Greg Clayton [mailto:gclayton at apple.com] 
> Sent: Wednesday, November 04, 2015 10:01 AM
> To: Todd Fiala <todd.fiala at gmail.com>
> Cc: Mark Chandler <mchandler at blizzard.com>; Pavel Labath <labath at google.com>; lldb-dev at lists.llvm.org
> Subject: Re: [lldb-dev] Attaching to a stopped (cored) process hangs lldb-server
>> On Nov 4, 2015, at 9:47 AM, Todd Fiala <todd.fiala at gmail.com> wrote:
>> Although doing any kind of waitpid() in the case of a core file doesn't make sense.
> The process is still around. The process is being handed the core file via STDIN, but the process is still around and this tool is attaching to that process and ignoring the core file data. I would vote to use the core file data if the tool is checked in, or at least provide an option to either attach to the process or use the core file data...
> Greg

More information about the lldb-dev mailing list