Page MenuHomePhabricator

bulbazord (Alex Langford)
:3

Projects

User does not belong to any projects.

User Details

User Since
Dec 1 2020, 2:41 PM (130 w, 1 d)

Recent Activity

Yesterday

bulbazord planned changes to D151765: [lldb] Introduce the FileSpecBuilder abstraction.

Why did you choose to have a separate FileSpecBuilder class, rather than making FileSpec smarter about the structure of the path (e.g. have an array of StringRef's into the paths for each component.) We could do the parse once the first time a path element was requested, and then operations like "RemovePathComponent" would be trivial. We could maybe even get rid of the distinction between "path" and "filename" since "filename" is really just "last path component".

Wed, May 31, 6:05 PM · Restricted Project, Restricted Project
bulbazord added a comment to D151859: [lldb/Target] Add ability to set name to targets.

Make sure we do something sensible with "target select <NAME>" if the user has given the same name to two targets (or disallow doing that, one or the other).

Wed, May 31, 5:46 PM · Restricted Project, Restricted Project
bulbazord added inline comments to D151859: [lldb/Target] Add ability to set name to targets.
Wed, May 31, 5:21 PM · Restricted Project, Restricted Project
bulbazord added inline comments to D151849: [lldb/crashlog] Create interactive crashlog with no binary.
Wed, May 31, 5:00 PM · Restricted Project, Restricted Project
bulbazord updated the diff for D151755: [DebugInfo] Add error checking around data extraction in DWARFAbbreviationDeclaration::extract.
  • Add more rigorous testing. Specifically, I'm testing every possible place where we we can bail early from DWARFAbbreviationDeclaration::extract.
  • Replace the writeBadAbbreviationDeclarationData with more specific functions to handle both malformed input and input that is too large (both kinds of LEB128 extraction errors).
Wed, May 31, 4:55 PM · Restricted Project, Restricted Project
bulbazord accepted D151849: [lldb/crashlog] Create interactive crashlog with no binary.
Wed, May 31, 4:04 PM · Restricted Project, Restricted Project
bulbazord accepted D151844: [lldb/crashlog] Fix crash when loading non-symbolicated report.
Wed, May 31, 3:57 PM · Restricted Project, Restricted Project
bulbazord added inline comments to D151844: [lldb/crashlog] Fix crash when loading non-symbolicated report.
Wed, May 31, 3:44 PM · Restricted Project, Restricted Project
bulbazord added a comment to D151597: [lldb][NFCI] Remove use of ConstString from IOHandler.

TBH, it feels like a lot of - risky - changes just so IOHandlerGetControlSequence can return a llvm::StringRef ? Is that really necessary ?

Wed, May 31, 11:09 AM · Restricted Project, Restricted Project
bulbazord accepted D151813: [lldb] Take StringRef names in GetChildAtNamePath (NFC).
Wed, May 31, 10:10 AM · Restricted Project, Restricted Project
bulbazord accepted D151811: [lldb] Take StringRef name in GetIndexOfChildWithName (NFC).
Wed, May 31, 10:07 AM · Restricted Project, Restricted Project
bulbazord accepted D151810: [lldb] Take StringRef name in GetIndexOfChildMemberWithName (NFC).

Very straightforward. LGTM.

Wed, May 31, 10:04 AM · Restricted Project, Restricted Project

Tue, May 30

bulbazord added reviewers for D151765: [lldb] Introduce the FileSpecBuilder abstraction: aprantl, kastiglione, augusto2112.
Tue, May 30, 6:14 PM · Restricted Project, Restricted Project
bulbazord requested review of D151765: [lldb] Introduce the FileSpecBuilder abstraction.
Tue, May 30, 6:14 PM · Restricted Project, Restricted Project
bulbazord accepted D151762: [lldb] Remove __FUNCTION__ from log messages in lldbHost (NFC).

The change itself looks fine and is fairly mechanical. Easy to verify.

Tue, May 30, 4:09 PM · Restricted Project
bulbazord committed rG57154a63a07f: [lldb] Introduce FileSpec::GetComponents (authored by bulbazord).
[lldb] Introduce FileSpec::GetComponents
Tue, May 30, 3:14 PM · Restricted Project
bulbazord closed D151399: [lldb] Introduce FileSpec::GetComponents.
Tue, May 30, 3:13 PM · Restricted Project, Restricted Project
bulbazord added a comment to D151353: [DebugInfo] Add error-handling to DWARFAbbreviationDeclarationSet.

I've identified the root cause and I aim to address it in a separate change before this change goes in: https://reviews.llvm.org/D151755

Tue, May 30, 2:42 PM · debug-info, Restricted Project, Restricted Project
bulbazord requested review of D151755: [DebugInfo] Add error checking around data extraction in DWARFAbbreviationDeclaration::extract.
Tue, May 30, 2:40 PM · Restricted Project, Restricted Project
bulbazord accepted D150928: Two bug fixes for loading process save-core created core files, plus perf improvements.

Looks like my concerns were addressed. Thanks!

Tue, May 30, 2:18 PM · Restricted Project, Restricted Project
bulbazord accepted D151748: [lldb] Consult summary provider before printing children of root references.

LGTM

Tue, May 30, 2:17 PM · Restricted Project, Restricted Project
bulbazord committed rG9e8a412cb37d: [lldb][NFCI] Remove use of ConstString from StructuredDataDarwinLog static… (authored by bulbazord).
[lldb][NFCI] Remove use of ConstString from StructuredDataDarwinLog static…
Tue, May 30, 1:48 PM · Restricted Project
bulbazord closed D151599: [lldb][NFCI] Remove use of ConstString from StructuredDataDarwinLog static functions.
Tue, May 30, 1:48 PM · Restricted Project, Restricted Project
bulbazord updated the diff for D151599: [lldb][NFCI] Remove use of ConstString from StructuredDataDarwinLog static functions.

LLDB_LOGF -> LLDB_LOG to avoid a temporary string construction.

Tue, May 30, 1:24 PM · Restricted Project, Restricted Project
bulbazord committed rGf46638b01d1b: [lldb][NFCI] Change type of SBDebugger::m_instance_name (authored by bulbazord).
[lldb][NFCI] Change type of SBDebugger::m_instance_name
Tue, May 30, 1:22 PM · Restricted Project
bulbazord closed D151524: [lldb][NFCI] Change type of SBDebugger::m_instance_name.
Tue, May 30, 1:22 PM · Restricted Project, Restricted Project
bulbazord committed rG8e0001eb95ce: [lldb][NFCI] Refactor Language::GetFormatterPrefixSuffix (authored by bulbazord).
[lldb][NFCI] Refactor Language::GetFormatterPrefixSuffix
Tue, May 30, 1:12 PM · Restricted Project
bulbazord closed D151603: [lldb][NFCI] Refactor Language::GetFormatterPrefixSuffix.
Tue, May 30, 1:12 PM · Restricted Project, Restricted Project
bulbazord added a comment to D151353: [DebugInfo] Add error-handling to DWARFAbbreviationDeclarationSet.

Ok, the pre-submission checks failing are actually due to this change. Specifically, parsing the debug_abbrev section of the objects produced by these tests leads to an infinite loop. It goes as follows:

  • We fail to get an ULEB128 value for the code because the contents of the debug_abbrev are invalid. The DataExtractor thus returns 0, signaling to the DWARFAbbreviationDeclaration parsing code that were done with this DWARFAbbreviationDeclaration.
  • The DWARFAbbreviationDeclarationSet sees it's done and returns an empty Set to the DWARFDebugAbbrev parsing code. The offset is still at 0, so it's still technically a valid offset for the DataExtractor. So we continue on...
Tue, May 30, 10:49 AM · debug-info, Restricted Project, Restricted Project
bulbazord updated the diff for D151603: [lldb][NFCI] Refactor Language::GetFormatterPrefixSuffix.

Remove use of std::call_once where not needed.

Tue, May 30, 10:20 AM · Restricted Project, Restricted Project
bulbazord added inline comments to D151603: [lldb][NFCI] Refactor Language::GetFormatterPrefixSuffix.
Tue, May 30, 10:18 AM · Restricted Project, Restricted Project
bulbazord added a comment to D151353: [DebugInfo] Add error-handling to DWARFAbbreviationDeclarationSet.

LGMT. There are a couple of pre-merge tests that failed that have something to do with DWARF. It's unlikely to be related to this patch, but it might be worth double-checking before landing this.

Tue, May 30, 10:17 AM · debug-info, Restricted Project, Restricted Project

Sun, May 28

bulbazord added a comment to D151615: [lldb] Take StringRef name in GetChildMemberWithName (NFC).

Do you have something in mind? I figured the test suite was enough. Do you mean stress for perf, or for ensuring this change has no behavior regressions?

Sun, May 28, 12:28 PM · Restricted Project, Restricted Project

Sat, May 27

bulbazord accepted D151615: [lldb] Take StringRef name in GetChildMemberWithName (NFC).

After reading though the code and thinking about it, I believe this change is appropriate. It may or may not have a measurable impact on performance, but my bet is that it doesn't make it worse. I suppose you could stress test the C++ formatters if you really wanted to know though. Either way, thank you for doing this work!

Sat, May 27, 8:08 PM · Restricted Project, Restricted Project

Fri, May 26

bulbazord requested review of D151603: [lldb][NFCI] Refactor Language::GetFormatterPrefixSuffix.
Fri, May 26, 6:36 PM · Restricted Project, Restricted Project
bulbazord requested review of D151599: [lldb][NFCI] Remove use of ConstString from StructuredDataDarwinLog static functions.
Fri, May 26, 4:39 PM · Restricted Project, Restricted Project
bulbazord requested review of D151597: [lldb][NFCI] Remove use of ConstString from IOHandler.
Fri, May 26, 3:55 PM · Restricted Project, Restricted Project
bulbazord accepted D151591: HostInfoMacOS: Add a utility function for finding an SDK-specific tool.
Fri, May 26, 2:47 PM · Restricted Project
bulbazord accepted D151588: Factor out xcrun (NFC).

Sounds good

Fri, May 26, 2:45 PM · Restricted Project
bulbazord added a comment to D151588: Factor out xcrun (NFC).

What is the motivation behind this change?

Fri, May 26, 2:05 PM · Restricted Project
bulbazord committed rG877ddac051c4: [lldb][NFCI] Include <cstdio> in SBDefines for FILE * definition (authored by bulbazord).
[lldb][NFCI] Include <cstdio> in SBDefines for FILE * definition
Fri, May 26, 10:56 AM · Restricted Project
bulbazord closed D151381: [lldb][NFCI] Include <cstdio> in SBDefines for FILE * definition.
Fri, May 26, 10:56 AM · Restricted Project, Restricted Project

Thu, May 25

bulbazord requested review of D151524: [lldb][NFCI] Change type of SBDebugger::m_instance_name.
Thu, May 25, 6:21 PM · Restricted Project, Restricted Project
bulbazord accepted D151497: [lldb] Improve function caller error message .

I think it's good to improve the error messaging but I think we can probably do better. "Function caller" is specific to the internals of LLDB and isn't really meaningful for many users. It's also somewhat confusing from a user's perspective when the expression you're running isn't calling a function.

If I were an end user who didn't know much about LLDB, I would think "I'm trying to print a variable, what's this about a function?" and "Why is memory allocation involved?". I would suggest changing the error message to something like: "Unable to evaluate expression while the process is $STATE: the process must be running and stopped to evaluate this expression".

What do you think?

I very much agree that error messages should first and foremost be helpful to our users. In this particular patch, we have two places where we emit this error. In UtilityFunction::MakeFunctionCaller I believe the current error is totally appropriate. That doesn't mean that I think it should be shown to the user as such. I didn't look at how this function is called, but if it trips, I would like to see an error along the lines of:

error: Couldn't run utility function. Can't make a function caller while the process is stopped: the process must be stopped to allocate memory.

On the other hand, in UserExpression::Evaluate I think it's totally appropriate to rephrase this, but at the same time I don't think we need to dumb this down.

error: Unable to evaluate expression while the process is $STATE: the process must be stopped because the expression might requires allocating memory.

I'll update the error messages accordingly.

Thu, May 25, 4:52 PM · Restricted Project, Restricted Project
bulbazord requested review of D151516: [lldb][NFCI] Remove use of ConstString from UnixSignals::SignalCode.
Thu, May 25, 4:30 PM · Restricted Project, Restricted Project
bulbazord requested changes to D151497: [lldb] Improve function caller error message .

I think it's good to improve the error messaging but I think we can probably do better. "Function caller" is specific to the internals of LLDB and isn't really meaningful for many users. It's also somewhat confusing from a user's perspective when the expression you're running isn't calling a function. For example:

Thu, May 25, 2:24 PM · Restricted Project, Restricted Project
bulbazord updated the diff for D151353: [DebugInfo] Add error-handling to DWARFAbbreviationDeclarationSet.

Address feedback from @jhenderson

Thu, May 25, 1:06 PM · debug-info, Restricted Project, Restricted Project
bulbazord updated the diff for D151399: [lldb] Introduce FileSpec::GetComponents.

Convert return type to std::vector<llvm::StringRef>
Actually fix code so this thing compiles correctly

Thu, May 25, 12:47 PM · Restricted Project, Restricted Project
bulbazord added inline comments to D151353: [DebugInfo] Add error-handling to DWARFAbbreviationDeclarationSet.
Thu, May 25, 10:58 AM · debug-info, Restricted Project, Restricted Project
bulbazord accepted D151451: [lldb][nfc] Refactor methods with out parameter.

Thanks for doing this work!

Thu, May 25, 10:23 AM · Restricted Project, Restricted Project
bulbazord added inline comments to D151399: [lldb] Introduce FileSpec::GetComponents.
Thu, May 25, 10:17 AM · Restricted Project, Restricted Project

Wed, May 24

bulbazord added inline comments to D151399: [lldb] Introduce FileSpec::GetComponents.
Wed, May 24, 8:29 PM · Restricted Project, Restricted Project
bulbazord requested review of D151399: [lldb] Introduce FileSpec::GetComponents.
Wed, May 24, 7:45 PM · Restricted Project, Restricted Project
bulbazord accepted D151366: [lldb] Disable variable watchpoints when going out of scope.

I have no objections but you should probably wait for others to take another look.

Wed, May 24, 6:57 PM · Restricted Project, Restricted Project
bulbazord added inline comments to D151292: lldb WIP/RFC: Adding support for address fixing on AArch64 with high and low memory addresses.
Wed, May 24, 6:46 PM · Restricted Project, Restricted Project
bulbazord added inline comments to D151366: [lldb] Disable variable watchpoints when going out of scope.
Wed, May 24, 3:36 PM · Restricted Project, Restricted Project
bulbazord updated the summary of D151381: [lldb][NFCI] Include <cstdio> in SBDefines for FILE * definition.
Wed, May 24, 3:08 PM · Restricted Project, Restricted Project
bulbazord requested review of D151381: [lldb][NFCI] Include <cstdio> in SBDefines for FILE * definition.
Wed, May 24, 3:03 PM · Restricted Project, Restricted Project
bulbazord added inline comments to D151353: [DebugInfo] Add error-handling to DWARFAbbreviationDeclarationSet.
Wed, May 24, 12:31 PM · debug-info, Restricted Project, Restricted Project
bulbazord added a project to D151353: [DebugInfo] Add error-handling to DWARFAbbreviationDeclarationSet: debug-info.
Wed, May 24, 10:46 AM · debug-info, Restricted Project, Restricted Project
bulbazord requested review of D151353: [DebugInfo] Add error-handling to DWARFAbbreviationDeclarationSet.
Wed, May 24, 10:45 AM · debug-info, Restricted Project, Restricted Project
bulbazord committed rGad66e9be6a75: [DebugInfo] Follow-up to D151001 (authored by bulbazord).
[DebugInfo] Follow-up to D151001
Wed, May 24, 10:20 AM · Restricted Project, Restricted Project
bulbazord closed D151233: [DebugInfo] Follow-up to D151001.
Wed, May 24, 10:20 AM · Restricted Project, Restricted Project

Tue, May 23

bulbazord updated the diff for D151233: [DebugInfo] Follow-up to D151001.

EXPECT_TRUE -> ASSERT_TRUE when checking pointers

Tue, May 23, 3:46 PM · Restricted Project, Restricted Project
bulbazord committed rG973f1fe7a859: [lldb][NFCI] Remove unused member from ObjectFileMachO (authored by bulbazord).
[lldb][NFCI] Remove unused member from ObjectFileMachO
Tue, May 23, 3:15 PM · Restricted Project
bulbazord closed D151236: [lldb][NFCI] Remove unused member from ObjectFileMachO.
Tue, May 23, 3:15 PM · Restricted Project, Restricted Project
bulbazord requested review of D151236: [lldb][NFCI] Remove unused member from ObjectFileMachO.
Tue, May 23, 11:32 AM · Restricted Project, Restricted Project
bulbazord committed rG3c276eaf8f4a: [lldb][NFCI] Merge implementations of ObjectFileMachO::GetMinimumOSVersion and… (authored by bulbazord).
[lldb][NFCI] Merge implementations of ObjectFileMachO::GetMinimumOSVersion and…
Tue, May 23, 10:27 AM · Restricted Project
bulbazord closed D151120: [lldb][NFCI] Merge implementations of ObjectFileMachO::GetMinimumOSVersion and ObjectFileMachO::GetSDKVersion.
Tue, May 23, 10:26 AM · Restricted Project, Restricted Project
bulbazord added a comment to D151001: [DebugInfo][NFCI] Add unittest for DWARFAbbreviationDeclarationSet.

It would have been better to wait until I'd had a chance to review your latest updates, as there are a few (admittedly minor) points I'd have picked up on that now need you to go and update the in-tree code. I'm also adding a note that I haven't reviewed the coverage of these tests, just the general approach and style.

Tue, May 23, 10:22 AM · debug-info, Restricted Project, Restricted Project
bulbazord requested review of D151233: [DebugInfo] Follow-up to D151001.
Tue, May 23, 10:22 AM · Restricted Project, Restricted Project
bulbazord accepted D150303: [LLDB] Add some declarations related to REPL support for mojo.
Tue, May 23, 10:04 AM · Restricted Project, Restricted Project

Mon, May 22

bulbazord accepted D151045: [lldb/crashlog] Remove tempfile prefix from inlined symbol object file.

LGTM

Mon, May 22, 3:56 PM · Restricted Project, Restricted Project
bulbazord committed rGca1b9943e1e4: [DebugInfo][NFCI] Add unittest for DWARFAbbreviationDeclarationSet (authored by bulbazord).
[DebugInfo][NFCI] Add unittest for DWARFAbbreviationDeclarationSet
Mon, May 22, 3:11 PM · Restricted Project, Restricted Project
bulbazord closed D151001: [DebugInfo][NFCI] Add unittest for DWARFAbbreviationDeclarationSet.
Mon, May 22, 3:11 PM · debug-info, Restricted Project, Restricted Project
bulbazord accepted D150485: [lldb] Add support for negative integer to {SB,}StructuredData.

Alright, looks good to me. Let's see what the bots think!

Mon, May 22, 1:58 PM · Restricted Project, Restricted Project
bulbazord added a comment to D150485: [lldb] Add support for negative integer to {SB,}StructuredData.

Ok, this is a pretty big patch so we probably don't want to leave it in review for a long time or it just gets harder to land correctly.

Mon, May 22, 1:16 PM · Restricted Project, Restricted Project
bulbazord accepted D151044: [lldb] Move PassthroughScriptedProcess to `lldb.scripted_process` module.

Looks like you're mostly moving things around which is fine. The bug that you're fixing is with thread handling in MultiplexerScriptedProcess right? That looks fine to me too.

Mon, May 22, 1:07 PM · Restricted Project, Restricted Project
bulbazord added inline comments to D151045: [lldb/crashlog] Remove tempfile prefix from inlined symbol object file.
Mon, May 22, 1:02 PM · Restricted Project, Restricted Project
bulbazord committed rGef73ea6cf691: [lldb][NFCI] Change return type of Language::GetInstanceVariableName (authored by bulbazord).
[lldb][NFCI] Change return type of Language::GetInstanceVariableName
Mon, May 22, 10:23 AM · Restricted Project
bulbazord closed D150709: [lldb][NFCI] Change return type of Language::GetInstanceVariableName.
Mon, May 22, 10:22 AM · Restricted Project, Restricted Project
bulbazord updated the diff for D151001: [DebugInfo][NFCI] Add unittest for DWARFAbbreviationDeclarationSet.
  • Yank common setup into its own function
  • sizeof(void *) -> sizeof(uint64_t)
  • Don't use auto where confusing
Mon, May 22, 10:14 AM · debug-info, Restricted Project, Restricted Project
bulbazord added inline comments to D151001: [DebugInfo][NFCI] Add unittest for DWARFAbbreviationDeclarationSet.
Mon, May 22, 9:57 AM · debug-info, Restricted Project, Restricted Project
bulbazord requested review of D151120: [lldb][NFCI] Merge implementations of ObjectFileMachO::GetMinimumOSVersion and ObjectFileMachO::GetSDKVersion.
Mon, May 22, 9:50 AM · Restricted Project, Restricted Project

Fri, May 19

bulbazord accepted D146765: [lldb/crashlog] Load inlined symbol into interactive crashlog.

Ok, looks good to me now. Thanks!

Fri, May 19, 4:20 PM · Restricted Project, Restricted Project
bulbazord accepted D151002: [lldb] Fix process pid parsing issue.
Fri, May 19, 3:53 PM · Restricted Project, Restricted Project
bulbazord added a comment to D151002: [lldb] Fix process pid parsing issue.

You probably encountered this somewhere, is there a simple test we could add here? The change looks fine to me nonetheless.

Fri, May 19, 3:46 PM · Restricted Project, Restricted Project
bulbazord added a comment to D146765: [lldb/crashlog] Load inlined symbol into interactive crashlog.

Looks good! A few minor comments.

Fri, May 19, 3:45 PM · Restricted Project, Restricted Project
bulbazord requested review of D151001: [DebugInfo][NFCI] Add unittest for DWARFAbbreviationDeclarationSet.
Fri, May 19, 2:49 PM · debug-info, Restricted Project, Restricted Project
bulbazord committed rG3c4f16b6cab2: [lldb][NFCI] Consolidate segment names in ObjectFileMachO (authored by bulbazord).
[lldb][NFCI] Consolidate segment names in ObjectFileMachO
Fri, May 19, 1:07 PM · Restricted Project
bulbazord accepted D150954: [lldb][cmake] Allow specifying custom libcxx for tests in standalone builds.

LGTM!

Fri, May 19, 10:34 AM · Restricted Project, Restricted Project

Thu, May 18

bulbazord added a comment to D150928: Two bug fixes for loading process save-core created core files, plus perf improvements.

Bug fixes look good to me, the perf and code simplifications are also great to see. A few nits and I have one concern. Otherwise looks fine to me, I think.

Thu, May 18, 10:14 PM · Restricted Project, Restricted Project
bulbazord committed rGe8d3f061ba41: [lldb][NFCI] Pre-allocate storage in ObjCLanguage::MethodName… (authored by bulbazord).
[lldb][NFCI] Pre-allocate storage in ObjCLanguage::MethodName…
Thu, May 18, 4:23 PM · Restricted Project
bulbazord closed D150914: [lldb][NFCI] Pre-allocate storage in ObjCLanguage::MethodName::GetFullNameWithoutCategory.
Thu, May 18, 4:23 PM · Restricted Project, Restricted Project
bulbazord added inline comments to D149914: [lldb] Refactor ObjCLanguage::MethodName.
Thu, May 18, 3:35 PM · Restricted Project, Restricted Project
bulbazord requested review of D150914: [lldb][NFCI] Pre-allocate storage in ObjCLanguage::MethodName::GetFullNameWithoutCategory.
Thu, May 18, 3:35 PM · Restricted Project, Restricted Project
bulbazord committed rG41714c959d65: [lldb] Guarantee the lifetimes of all strings returned from SBAPI (authored by bulbazord).
[lldb] Guarantee the lifetimes of all strings returned from SBAPI
Thu, May 18, 3:18 PM · Restricted Project
bulbazord closed D150804: [lldb] Guarantee the lifetimes of all strings returned from SBAPI.
Thu, May 18, 3:18 PM · Restricted Project, Restricted Project
bulbazord updated the diff for D150804: [lldb] Guarantee the lifetimes of all strings returned from SBAPI.

Update SBModule::GetUUIDString -- I slightly changed behavior. Now the behavior matches the previous implementation exactly.

Thu, May 18, 3:12 PM · Restricted Project, Restricted Project
bulbazord added inline comments to D149914: [lldb] Refactor ObjCLanguage::MethodName.
Thu, May 18, 3:06 PM · Restricted Project, Restricted Project