Page MenuHomePhabricator

lemo (Leonard Mosescu)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 6 2017, 12:48 PM (66 w, 3 d)

Recent Activity

Fri, Dec 14

lemo accepted D55727: Add "dump" command as a custom "process plugin" subcommand when ProcessMinidump is used..

I love the idea of custom dump commands, thanks Greg.

Fri, Dec 14, 5:35 PM

Wed, Dec 12

lemo added inline comments to D55142: Minidump debugging using the native PDB reader.
Wed, Dec 12, 1:19 PM · Restricted Project
lemo updated the summary of D55142: Minidump debugging using the native PDB reader.
Wed, Dec 12, 1:11 PM · Restricted Project
lemo updated the diff for D55142: Minidump debugging using the native PDB reader.
Wed, Dec 12, 1:11 PM · Restricted Project

Mon, Dec 10

lemo added a reviewer for D55142: Minidump debugging using the native PDB reader: clayborg.
Mon, Dec 10, 3:16 PM · Restricted Project
lemo added a comment to D55142: Minidump debugging using the native PDB reader.

How large is the PDB file here?

Mon, Dec 10, 3:13 PM · Restricted Project
lemo updated the diff for D55142: Minidump debugging using the native PDB reader.
Mon, Dec 10, 11:35 AM · Restricted Project

Fri, Dec 7

lemo added inline comments to D55142: Minidump debugging using the native PDB reader.
Fri, Dec 7, 2:52 PM · Restricted Project
lemo updated the diff for D55142: Minidump debugging using the native PDB reader.

Incorporating feedback + adding a test case

Fri, Dec 7, 2:51 PM · Restricted Project

Thu, Dec 6

lemo added inline comments to D55356: Add a method to get the "base" file address of an object file.
Thu, Dec 6, 2:10 PM

Wed, Dec 5

lemo updated the diff for D55142: Minidump debugging using the native PDB reader.
Wed, Dec 5, 10:32 AM · Restricted Project
lemo added a comment to D55142: Minidump debugging using the native PDB reader.

I don't see any tests :(.
Also, the three bullet points in the description sound like rather independent pieces of functionality. Would it be possible to split them up into separate patches? That would make things easier to review, particularly for those who don't look at this code very often :).

Wed, Dec 5, 10:31 AM · Restricted Project

Tue, Dec 4

lemo accepted D55214: Introduce ObjectFileBreakpad.

Looks like a great start

Tue, Dec 4, 2:32 PM

Fri, Nov 30

lemo added a reviewer for D55142: Minidump debugging using the native PDB reader: markmentovai.
Fri, Nov 30, 2:27 PM · Restricted Project
lemo created D55142: Minidump debugging using the native PDB reader.
Fri, Nov 30, 12:32 PM · Restricted Project

Thu, Nov 29

lemo committed rL347913.
Thu, Nov 29, 12:44 PM

Wed, Nov 28

lemo added a comment to D54692: [Driver] Use libOption with tablegen..

I noticed a small problem, this change breaks "lldb -c <corefile>". The inline comment explains the root cause.

Wed, Nov 28, 4:09 PM · Restricted Project

Nov 12 2018

lemo accepted D54452: [NativePDB] Add support for handling S_CONSTANT records.
Nov 12 2018, 3:37 PM

Nov 7 2018

lemo added a comment to D54241: Fix bug in printing ValueObjects and in PE/COFF Plugin.

Shouldn't we also handle the general case where raw size < virtual size? (which would naturally subsume this fix)

Nov 7 2018, 5:17 PM

Nov 5 2018

lemo added a comment to D53379: GSYM symbolication format.

Cool. Looking forward to the LLDB integration!

Nov 5 2018, 1:49 PM
lemo updated subscribers of D53379: GSYM symbolication format.

Greg, what do you have in mind as the next step? LLDB integration?

Nov 5 2018, 11:56 AM

Nov 2 2018

lemo accepted D54053: [NativePDB] Add the ability to create clang record decls from mangled names..

nice!

Nov 2 2018, 4:40 PM
lemo committed rL346010: Fix a few small issues in llvm-pdbutil.
Fix a few small issues in llvm-pdbutil
Nov 2 2018, 11:03 AM
lemo closed D54006: Fix a few small issues in llvm-pdbutil.
Nov 2 2018, 11:03 AM
lemo updated the diff for D54006: Fix a few small issues in llvm-pdbutil.

Using a new, smaller test pdb (Stripped.pdb)

Nov 2 2018, 10:36 AM

Nov 1 2018

lemo added a comment to D54006: Fix a few small issues in llvm-pdbutil.

Thanks Zach for your assistance with this!

Nov 1 2018, 4:46 PM
lemo updated the diff for D54006: Fix a few small issues in llvm-pdbutil.

Incorporating CR feedback

Nov 1 2018, 4:44 PM
lemo created D54006: Fix a few small issues in llvm-pdbutil.
Nov 1 2018, 3:09 PM

Oct 26 2018

lemo added inline comments to D53379: GSYM symbolication format.
Oct 26 2018, 11:15 AM

Oct 25 2018

lemo accepted D53731: [NativePDB] Add the ability to display global variables.

looks good. a few comments inline.

Oct 25 2018, 3:45 PM

Oct 24 2018

lemo added a comment to D53094: [pecoff] Implement ObjectFilePECOFF::GetDependedModules().

drive by CR notes:

  1. does this handle forwarding imports? (it doesn't seem to from a quick glance at the code)
  2. can you please add, or extend the existing test to cover the transitive case? A simple dag would suffice (ex. make both dllA and dllB implicitly import dllC)
Oct 24 2018, 11:39 AM

Oct 22 2018

lemo accepted D53511: [NativePDB] Support type lookup by name.

Looks good to me, minor notes inline.

Oct 22 2018, 3:43 PM
lemo added a comment to D53511: [NativePDB] Support type lookup by name.

Nice :)

Oct 22 2018, 2:01 PM
lemo added a comment to D53379: GSYM symbolication format.

+Eric Christopher for a DWARF expert's perspective

Oct 22 2018, 1:24 PM
lemo updated subscribers of D53379: GSYM symbolication format.
Oct 22 2018, 1:18 PM

Oct 9 2018

lemo added inline comments to D53002: Create a new symbol file plugin for cross-platform PDB symbolization.
Oct 9 2018, 4:04 PM
lemo accepted D53002: Create a new symbol file plugin for cross-platform PDB symbolization.
Oct 9 2018, 3:42 PM
lemo added a comment to D53002: Create a new symbol file plugin for cross-platform PDB symbolization.

Yay! Nice to see this is coming along, thanks Zach!

Oct 9 2018, 2:29 PM

Sep 20 2018

lemo added a comment to D50365: Add a new tool named "lldb-vscode" that implements the Visual Studio Code Debug Adaptor Protocol.

Hi Greg, looking at request_evaluate() I noticed that it will evaluate the
string as a lldb command if prefixed by ` .

Sep 20 2018, 3:05 PM

Sep 4 2018

lemo added inline comments to D51604: Terminate debugger if an assert was hit.
Sep 4 2018, 9:09 AM

Aug 29 2018

lemo accepted D51442: Don't include the Age in the UUID for CvRecordPdb70 UUID records in minidump files.

Looks good (with one inline request for a comment)

Aug 29 2018, 12:12 PM
lemo updated subscribers of D51442: Don't include the Age in the UUID for CvRecordPdb70 UUID records in minidump files.

I'm curious too: where did the PDB70 age create matching problems?

Aug 29 2018, 10:47 AM

Aug 23 2018

lemo committed rL340578: Restrict the set of plugins used for ProcessMinidump.
Restrict the set of plugins used for ProcessMinidump
Aug 23 2018, 2:35 PM
lemo committed rLLDB340578: Restrict the set of plugins used for ProcessMinidump.
Restrict the set of plugins used for ProcessMinidump
Aug 23 2018, 2:35 PM
lemo closed D51176: Restrict the set of plugins used for ProcessMinidump.
Aug 23 2018, 2:35 PM · Restricted Project
lemo added a comment to D51176: Restrict the set of plugins used for ProcessMinidump.

The other option would be to move the code that populates the section load list into the mini dump dynamic loader. That has the benefit of keeping this consistent with the other process plugins, but OTOH is just moving code around...

Aug 23 2018, 2:32 PM · Restricted Project
lemo updated the diff for D51176: Restrict the set of plugins used for ProcessMinidump.

Added the comment requested by zturner

Aug 23 2018, 2:31 PM · Restricted Project
lemo updated the summary of D51176: Restrict the set of plugins used for ProcessMinidump.
Aug 23 2018, 1:38 PM · Restricted Project
lemo updated subscribers of D51176: Restrict the set of plugins used for ProcessMinidump.

It's an interesting idea, thanks! I don't object moving code around if
there's a strong case for it, but I'd like to keep the fix small and simple
for now, but it's worth considering if the current minidump loading path
will need more flexibility.

Aug 23 2018, 1:36 PM · Restricted Project
lemo added a comment to D51176: Restrict the set of plugins used for ProcessMinidump.

So this might actually work. Take a look around and see what else the dynamic loader is used for and make sure that they won't be needed for anything else. If not, this fix should work, but we should document it.

Aug 23 2018, 1:07 PM · Restricted Project
lemo added a comment to D51176: Restrict the set of plugins used for ProcessMinidump.

Dynamic loaders will fill out the section load list in the target that saids "__TEXT" from "/tmp/a.out" was loaded at address 0x1000020200. So yes they are needed. If the process minidump is manually setting the section load list itself, then there really is no need for a dynamic loader and this fix might work.

Aug 23 2018, 11:40 AM · Restricted Project
lemo added a comment to D51176: Restrict the set of plugins used for ProcessMinidump.

That's not changing the module list, that's changing the loaded section information. It is the dynamic loader's job to figure out what got loaded where, plus your stack trace show this happening after we've selected a plugin, not in the process of negotiating for the plugin. Clearing the section load list before setting to work seems like an appropriate thing for a selected plugin to do.

Aug 23 2018, 11:37 AM · Restricted Project
lemo added a comment to D51176: Restrict the set of plugins used for ProcessMinidump.

Dynamic loaders are needed for loading breakpad minidumps that are for MacOSX and iOS processes. They should also be needed for loading any minidumps that have stack traces.

Aug 23 2018, 11:17 AM · Restricted Project
lemo created D51176: Restrict the set of plugins used for ProcessMinidump.
Aug 23 2018, 10:58 AM · Restricted Project

Aug 22 2018

lemo abandoned D48381: WIP: arbitrary-size UUIDs.
Aug 22 2018, 2:20 PM

Aug 8 2018

lemo updated subscribers of D50365: Add a new tool named "lldb-vscode" that implements the Visual Studio Code Debug Adaptor Protocol.

The LLDB MI plugin didn't work very well as was quite flaky when I tested
it a while back.

Aug 8 2018, 5:52 PM

Aug 7 2018

lemo committed rLLDB339161: Misc module/dwarf logging improvements.
Misc module/dwarf logging improvements
Aug 7 2018, 11:01 AM
lemo committed rL339161: Misc module/dwarf logging improvements.
Misc module/dwarf logging improvements
Aug 7 2018, 11:01 AM
lemo closed D50274: Misc module/dwarf logging improvements.
Aug 7 2018, 11:01 AM · Restricted Project
lemo updated subscribers of D50365: Add a new tool named "lldb-vscode" that implements the Visual Studio Code Debug Adaptor Protocol.

Really cool! Are you planning to add some documentation for it? (set up
instructions, etc...)

Aug 7 2018, 9:53 AM

Aug 6 2018

lemo added inline comments to D50274: Misc module/dwarf logging improvements.
Aug 6 2018, 4:45 PM · Restricted Project
lemo updated the diff for D50274: Misc module/dwarf logging improvements.

Updated the LIT file too

Aug 6 2018, 4:45 PM · Restricted Project
lemo added inline comments to D50274: Misc module/dwarf logging improvements.
Aug 6 2018, 1:34 PM · Restricted Project
lemo added inline comments to D50274: Misc module/dwarf logging improvements.
Aug 6 2018, 12:50 PM · Restricted Project
lemo updated the diff for D50274: Misc module/dwarf logging improvements.

Incorporating feedback, thanks.

Aug 6 2018, 12:48 PM · Restricted Project

Aug 3 2018

lemo committed rLLDB338949: Fix a bug in VMRange.
Fix a bug in VMRange
Aug 3 2018, 7:16 PM
lemo committed rL338949: Fix a bug in VMRange.
Fix a bug in VMRange
Aug 3 2018, 7:16 PM
lemo closed D50290: Fix a bug in VMRange.
Aug 3 2018, 7:16 PM · Restricted Project
lemo updated subscribers of D50290: Fix a bug in VMRange.

Thanks Zach. I can't find llvm::contains() though, any pointers to it?

Aug 3 2018, 6:23 PM · Restricted Project
lemo updated subscribers of D49415: Add unit tests for VMRange.

The new test cases did catch a real bug:

Aug 3 2018, 5:51 PM
lemo created D50290: Fix a bug in VMRange.
Aug 3 2018, 5:49 PM · Restricted Project
lemo created D50274: Misc module/dwarf logging improvements.
Aug 3 2018, 3:11 PM · Restricted Project

Jul 31 2018

lemo added a comment to D49750: Add support for ARM and ARM64 breakpad generated minidump files..

Thanks Greg, looks good to me (a couple of inline comments left at your discretion)

Jul 31 2018, 11:29 AM

Jul 30 2018

lemo updated subscribers of D49750: Add support for ARM and ARM64 breakpad generated minidump files..

FYI, Breakpad & Crashpad will start generating the Microsoft flavor of ARM
minidumps soon.

Jul 30 2018, 12:18 PM

Jul 27 2018

lemo added a comment to D49685: LLDB does not respect platform sysroot when loading core on Linux.

I never *ran LLDB tests*, not sure where they are and what they are.

Jul 27 2018, 11:35 AM

Jul 25 2018

lemo added inline comments to D49750: Add support for ARM and ARM64 breakpad generated minidump files..
Jul 25 2018, 9:44 AM

Jul 24 2018

lemo added inline comments to D49750: Add support for ARM and ARM64 breakpad generated minidump files..
Jul 24 2018, 4:06 PM
lemo added a comment to D49750: Add support for ARM and ARM64 breakpad generated minidump files..

Looks really good, a few comments inline.

Jul 24 2018, 3:17 PM
lemo updated subscribers of D49685: LLDB does not respect platform sysroot when loading core on Linux.

The problem is that shared libraries differ on these machines and
LLDB either fails to load some libraries *or loads wrong ones*.

Jul 24 2018, 9:17 AM

Jul 17 2018

lemo added a comment to D49202: Restructure the minidump loading path and add early & explicit consistency checks.

Great timing! ARM support would be most welcome. Are you planning to
support the Breakpad flavor or ARM minidumps or the Microsoft one? (Mark
Mentovai just reminded me that the ARM support was added independently and
some of the structures are different)

Jul 17 2018, 11:16 AM · Restricted Project

Jul 16 2018

lemo updated subscribers of D49202: Restructure the minidump loading path and add early & explicit consistency checks.

The problem is not returning an error from Minidump::Create() - if that was
the case this could easily be improved indeed. The two-phase initialization
is a consequence of the LLDB plugin lookup:

Jul 16 2018, 10:16 AM · Restricted Project

Jul 12 2018

lemo committed rL336918: Restructure the minidump loading path and add early & explicit consistency….
Restructure the minidump loading path and add early & explicit consistency…
Jul 12 2018, 10:32 AM
lemo closed D49202: Restructure the minidump loading path and add early & explicit consistency checks.
Jul 12 2018, 10:32 AM · Restricted Project
lemo added a comment to D49202: Restructure the minidump loading path and add early & explicit consistency checks.

Thanks Adrian for the thorough review.

Jul 12 2018, 9:47 AM · Restricted Project

Jul 11 2018

lemo updated the diff for D49202: Restructure the minidump loading path and add early & explicit consistency checks.
Jul 11 2018, 4:16 PM · Restricted Project
lemo updated the diff for D49202: Restructure the minidump loading path and add early & explicit consistency checks.

Adding a few ill-formed minidumps for testing the new checks

Jul 11 2018, 3:57 PM · Restricted Project
lemo added a comment to D49202: Restructure the minidump loading path and add early & explicit consistency checks.

Regarding test for the other checks, I'll try to fabricate a few invalid minidumps (although it would obviously provide limited coverage)

Jul 11 2018, 3:33 PM · Restricted Project
lemo added inline comments to D49202: Restructure the minidump loading path and add early & explicit consistency checks.
Jul 11 2018, 2:55 PM · Restricted Project
lemo updated the diff for D49202: Restructure the minidump loading path and add early & explicit consistency checks.

Incorporating CR feedback

Jul 11 2018, 2:55 PM · Restricted Project
lemo created D49202: Restructure the minidump loading path and add early & explicit consistency checks.
Jul 11 2018, 1:03 PM · Restricted Project

Jun 22 2018

lemo added a comment to D48479: Represent invalid UUIDs as UUIDs with length zero.

I'm not sure if there is a suitable place for that function. This is
needed in "ObjectFileMachO" and two dynamic loader plugins.

Jun 22 2018, 12:54 PM
lemo updated subscribers of D48479: Represent invalid UUIDs as UUIDs with length zero.

However, during parsing you need to know the meaning of a "0000...0" UUID.
In a MachO file (at least based on the comments in the code) this value is
used to denote the fact that the object file has no UUID. For elf, a
"000..0" build-id is a perfectly valid identifier (and the lack of a
build-id is denoted by the absence of the build-id section). The extra
constructor argument is my way of trying to support both scenarios. The
other possibility I see is to have a some kind of a factory function for
one of the options (or both). I don't really have a preference between the
two.

Jun 22 2018, 12:19 PM
lemo added a comment to D48479: Represent invalid UUIDs as UUIDs with length zero.

The slight complication here is that
some clients (MachO) actually use the all-zero notation to mean "no UUID
has been set". To keep this use case working, I have introduced an
additional argument to the UUID constructor, which specifies whether an
all-zero vector should be considered a valid UUID. For the usages where
the UUID data comes from a MachO file, I set this argument to false.

Jun 22 2018, 10:52 AM

Jun 20 2018

lemo created D48381: WIP: arbitrary-size UUIDs.
Jun 20 2018, 10:56 AM

Jun 13 2018

lemo added a comment to D48049: Add a new SBTarget::LoadCore() overload which surfaces errors if the load fails.

The intention in the scope of this change is just to check that the new
overload is exposed correctly through the Python API.

Jun 13 2018, 10:40 AM

Jun 11 2018

lemo updated subscribers of D47991: Improve SBThread's stepping API using SBError parameter..

Ah I see. That's because the last argument is a C++ default argument. It
looks like the convention in this file is that the error argument should be
the last non-defaulted argument.

Jun 11 2018, 7:36 PM
lemo committed rL334439: Add a new SBTarget::LoadCore() overload which surfaces errors if the load fails.
Add a new SBTarget::LoadCore() overload which surfaces errors if the load fails
Jun 11 2018, 2:24 PM
lemo closed D48049: Add a new SBTarget::LoadCore() overload which surfaces errors if the load fails.
Jun 11 2018, 2:23 PM
lemo added a comment to D48049: Add a new SBTarget::LoadCore() overload which surfaces errors if the load fails.

spaces removed :)

Jun 11 2018, 2:19 PM
lemo updated the diff for D48049: Add a new SBTarget::LoadCore() overload which surfaces errors if the load fails.
Jun 11 2018, 2:19 PM