lldb-webkit: KeyError thrown for OptionSet
authordbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 28 Aug 2018 23:04:30 +0000 (23:04 +0000)
committerdbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 28 Aug 2018 23:04:30 +0000 (23:04 +0000)
https://bugs.webkit.org/show_bug.cgi?id=189062

Reviewed by Simon Fraser.

For some reason lldb(1) may not retrieve the enumerator names for an enum value
when it calls update() on the synthetic children provider. If this occurs then
bail out as we cannot compute what enumerators are in the set.

* lldb/lldb_webkit.py:
(WTFOptionSetProvider.update):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235445 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/lldb/lldb_webkit.py

index 859445a..f2e8623 100644 (file)
@@ -1,3 +1,17 @@
+2018-08-28  Daniel Bates  <dabates@apple.com>
+
+        lldb-webkit: KeyError thrown for OptionSet
+        https://bugs.webkit.org/show_bug.cgi?id=189062
+
+        Reviewed by Simon Fraser.
+
+        For some reason lldb(1) may not retrieve the enumerator names for an enum value
+        when it calls update() on the synthetic children provider. If this occurs then
+        bail out as we cannot compute what enumerators are in the set.
+
+        * lldb/lldb_webkit.py:
+        (WTFOptionSetProvider.update):
+
 2018-08-28  Sihui Liu  <sihui_liu@apple.com>
 
         Add error information to help debug test failure in WKNavigation.ProcessCrashDuringCallback
index 83dced4..44d77bb 100644 (file)
@@ -616,6 +616,8 @@ class WTFOptionSetProvider:
 
         template_argument_sbType = self.valobj.GetType().GetTemplateArgumentType(0)
         enumerator_value_to_name_map = {sbTypeEnumMember.GetValueAsUnsigned(): sbTypeEnumMember.GetName() for sbTypeEnumMember in template_argument_sbType.get_enum_members_array()}
+        if not enumerator_value_to_name_map:
+            return
 
         # Iterate from least significant bit to most significant bit.
         elements = []