rupprecht added a comment.

In D102993#2811902 <https://reviews.llvm.org/D102993#2811902>, @rupprecht wrote:

> In D102993#2811337 <https://reviews.llvm.org/D102993#2811337>, @teemperor 
> wrote:
>
>> Sure I can take a look, but I don't see the immediate problem when looking 
>> at the backtrace.
>>
>> I assume it takes some time to reduce the bug in Chrome? If you could get me 
>> the `dump()` output for the Decls `D`, `(Decl*)ToDC`, `FromRD`, `ToD`, 
>> `(Decl*)ToD->getLexicalDeclContext()` and whether the left or the right side 
>> of the `&&` is true/false then maybe it becomes more obvious what's going 
>> wrong here.
>
> This is probably not going to be useful:
>
> - `D->dump()`: `FieldDecl 0x169993f9fbd0 <<invalid sloc>> <invalid sloc> __r_ 
> 'std::__compressed_pair<std::basic_string<char, std::char_traits<char>, 
> std::allocator<char> >::__rep, std::allocator<char> >'`
> - `((Decl*)ToDC)->dump()` - prints:
>
>   a decl that inherits DeclContext isn't handled
>   UNREACHABLE executed at llvm-project/clang/lib/AST/DeclBase.cpp:928!

`ToDC->getDeclKindName()` is "ClassTemplateSpecialization". Does that explain 
the unreachable error message? Maybe it needs a special case somewhere?

> - `FromRD->dump()` prints something waaaay to long to include here :)
>
>   ClassTemplateSpecializationDecl 0x169983fc2b98 <<invalid sloc>> <invalid 
> sloc> class basic_string definition
>   |-DefinitionData standard_layout has_user_declared_ctor 
> can_const_default_init
>   | |-DefaultConstructor exists non_trivial user_provided
>   | |-CopyConstructor non_trivial user_declared has_const_param 
> needs_overload_resolution implicit_has_const_param
>   | |-MoveConstructor exists non_trivial user_declared 
>   | |-CopyAssignment non_trivial has_const_param user_declared 
> needs_overload_resolution implicit_has_const_param
>   | |-MoveAssignment exists non_trivial user_declared
>   | `-Destructor non_trivial user_declared
>   |-private 'std::__basic_string_common<true>'
>   |-TemplateArgument type 'char'
>   | `-BuiltinType 0x1695c0305860 'char'
>   ...
>
>
>
> - `((Decl*)ToD)->getLexicalDeclContext()` errors: `error: Execution was 
> interrupted, reason: signal SIGSEGV: address access protected (fault address: 
> 0x55e264000000).` (ToD is nonnull: 0x00001699897a5e00)
>
> I'm running out of time today & I'm off tomorrow, but I should be able to 
> post something on Monday. I have a suspicion it's dependent on whatever flags 
> chrome is building with, so I'll try to figure that out too.




Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D102993/new/

https://reviews.llvm.org/D102993

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to