jimingham wrote:

I don't think this is a lifetime issue.  If it were I would see more of the 
crashes at random addresses.

Whatever's going on is something odd, so I'm just trying to make the code 
easier to reason about.  I think in the ValueObjectPrinter's case, it's code 
will be cleaner if it expects to be used as it is currently used, as a one shot 
printer that is not responsible for the lifecycle of the ValueObject it's 
printing.  That was the original intent; I'm not really changing that.  I just 
got frustrated while trying to find the bug by inspection.  I kept going "ooh, 
there's an unchecked use of m_valobj, I wonder if that could cause problems?" 
only to follow all the paths through the code and end up convincing myself that 
you couldn't get here with a NULL pointer, so that wasn't the problem.  If we 
make it so internally to ValueObjectPrinter you can't get your hands on 
something that might be null, and I see another of these crashes, I'll be able 
to just look outside ValueObjectPrinter for the answer.

Jim



> On Feb 9, 2024, at 2:56 PM, Greg Clayton ***@***.***> wrote:
> 
> 
> None of what I suggested was mandatory. I was mainly trying to make sure 
> things don't go away on us without us knowing about it. If we have crashes it 
> is always hard to tell if simple heap corruption is the issue or if we are 
> having lifetime issues. If you are not concerned about lifetime issues then 
> you can ignore the std::weak_ptr<T> suggestion, but if you are, this would be 
> a good way to tell as we can check std::weak_ptr<T>::expired().
> 
> Running a lldb with libgmalloc is a good way to watch for pointer lifetime 
> issues and things being freed if someone ever has a repro case that they add 
> to a bug.
> 
> —
> Reply to this email directly, view it on GitHub 
> <https://github.com/llvm/llvm-project/pull/81314#issuecomment-1936711038>, or 
> unsubscribe 
> <https://github.com/notifications/unsubscribe-auth/ADUPVWZQBEBTGPQVNJFPZN3YS2SQFAVCNFSM6AAAAABDCBDGDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZWG4YTCMBTHA>.
> You are receiving this because you authored the thread.
> 



https://github.com/llvm/llvm-project/pull/81314
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to