[Lldb-commits] [PATCH] D48463: Prevent dead locking when calling PrintAsync

2018-08-22 Thread Raphael Isemann via Phabricator via lldb-commits
teemperor abandoned this revision. teemperor marked 2 inline comments as done. teemperor added a comment. Abandon in favor of https://reviews.llvm.org/D50912 https://reviews.llvm.org/D48463 ___ lldb-commits mailing list lldb-commits@lists.llvm.org h

[Lldb-commits] [PATCH] D48463: Prevent dead locking when calling PrintAsync

2018-06-28 Thread Pavel Labath via Phabricator via lldb-commits
labath requested changes to this revision. labath added a comment. This revision now requires changes to proceed. In https://reviews.llvm.org/D48463#1145434, @teemperor wrote: > Well in theory we could poke more holes in our guard from some nested > function, but this only fixes the deadlock sym

[Lldb-commits] [PATCH] D48463: Prevent dead locking when calling PrintAsync

2018-06-27 Thread Raphael Isemann via Phabricator via lldb-commits
teemperor marked 2 inline comments as done. teemperor added a comment. @labath Thanks for the explanation! Well in theory we could poke more holes in our guard from some nested function, but this only fixes the deadlock symptom. PrintAsync would still be blocking whenever the mutex is hold by so

[Lldb-commits] [PATCH] D48463: Prevent dead locking when calling PrintAsync

2018-06-27 Thread Raphael Isemann via Phabricator via lldb-commits
teemperor updated this revision to Diff 153129. teemperor edited the summary of this revision. teemperor added a comment. - Fixed that we only pass a nullptr as a debugger to the real editline object (which now fixes the deadlock in the code completion patch). https://reviews.llvm.org/D48463 F

[Lldb-commits] [PATCH] D48463: Prevent dead locking when calling PrintAsync

2018-06-27 Thread Raphael Isemann via Phabricator via lldb-commits
teemperor updated this revision to Diff 153126. teemperor added a comment. - We now also handle the case where a guarded mutex is manually unlocked from a nested call. - Refactoring based on review comments. https://reviews.llvm.org/D48463 Files: include/lldb/Core/Debugger.h include/lldb/H

[Lldb-commits] [PATCH] D48463: Prevent dead locking when calling PrintAsync

2018-06-22 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. In https://reviews.llvm.org/D48463#1140861, @teemperor wrote: > Adding Pavel because he wrote the PrintAsync code. > > Also @labath: Can you tell me what variables/functionality the > `m_output_mutex` in Editline.cpp is supposed to shield? I don't see any > documentation

[Lldb-commits] [PATCH] D48463: Prevent dead locking when calling PrintAsync

2018-06-22 Thread Greg Clayton via Phabricator via lldb-commits
clayborg added inline comments. Comment at: source/Core/Debugger.cpp:988-1004 + bool should_forward = false; + { +// We check if any user requested to delay output to a later time +// (which is designated by m_delayed_output_counter being not 0). +std::lock_guard gu

[Lldb-commits] [PATCH] D48463: Prevent dead locking when calling PrintAsync

2018-06-22 Thread Raphael Isemann via Phabricator via lldb-commits
teemperor added a reviewer: labath. teemperor added a subscriber: labath. teemperor added a comment. Adding Pavel because he wrote the PrintAsync code. Also @labath: Can you tell me what variables/functionality the `m_output_mutex` in Editline.cpp is supposed to shield? I don't see any documenta

[Lldb-commits] [PATCH] D48463: Prevent dead locking when calling PrintAsync

2018-06-21 Thread Jim Ingham via Phabricator via lldb-commits
jingham added a reviewer: clayborg. jingham added a comment. The IOHandlers are Greg's construct. He's likely the best person to review this. https://reviews.llvm.org/D48463 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.ll

[Lldb-commits] [PATCH] D48463: Prevent dead locking when calling PrintAsync

2018-06-21 Thread Raphael Isemann via Phabricator via lldb-commits
teemperor updated this revision to Diff 152402. teemperor added a comment. - Small code style adjustment. https://reviews.llvm.org/D48463 Files: include/lldb/Core/Debugger.h source/Core/Debugger.cpp source/Core/IOHandler.cpp Index: source/Core/IOHandler.cpp ==

[Lldb-commits] [PATCH] D48463: Prevent dead locking when calling PrintAsync

2018-06-21 Thread Raphael Isemann via Phabricator via lldb-commits
teemperor added subscribers: friss, jingham. teemperor added a comment. Not sure who should review this, but maybe Fred or Jim know :) https://reviews.llvm.org/D48463 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cg

[Lldb-commits] [PATCH] D48463: Prevent dead locking when calling PrintAsync

2018-06-21 Thread Raphael Isemann via Phabricator via lldb-commits
teemperor created this revision. While working on the `expr` completion, I've encountered the issue that sometimes lldb deadlocks when doing input/output. The underlying cause for this is that we seem to expect that we can always call `Debugger::PrintAsync` from any point of lldb and that this