Skip to content

CPUs with empty lpid on Graviton 4 #3

Open

Description

@chrisswinchatt-arm

I got this exception from cmn_capture.py:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "__main__.py", line 233, in <module>
    sys.exit(main())
             ^^^^^^
  File "__main__.py", line 195, in main
    dataset = collect_mapping(options)
              ^^^^^^^^^^^^^^^^^^^^^^^^
  File "collect.py", line 54, in collect_mapping
    with CaptureSession(
         ^^^^^^^^^^^^^^^
  File "capture.py", line 145, in __init__
    self._session = cmn_capture.TraceSession(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "cmn-tools/src/cmn_capture.py", line 507, in __init__
    handler.set_cmns(list(self.CMNs()))        # The trace visualizer
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "cmn-tools/src/cmn_capture.py", line 203, in set_cmns
    self.build_id_map()
  File "cmn-tools/src/cmn_capture.py", line 220, in build_id_map
    for k in sorted(self.id_map.keys()):
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: '<' not supported between instances of 'NoneType' and 'int

Printing self.id_map.keys() produced this (note last two):

ID map:
dict_keys([(0, 0, 0), (0, 2, 0), (0, 4, 0), (0, 8, 0), (0, 12, 0), (0, 16, 0), (0, 20, 0), (0, 24, 0), (0, 28, 0), (0, 32, 0), (0, 36, 0), (0, 40, 0), (0, 44, 0), (0, 48, 0), (0, 52, 0), (0, 56, 0), (0, 60, 0), (0, 64, 0), (0, 66, 0), (0, 68, 0), (0, 128, 0), (0, 130, 0), (0, 132, 0), (0, 133, 0), (0, 136, 0), (0, 137, 0), (0, 140, 0), (0, 141, 0), (0, 144, 0), (0, 145, 0), (0, 148, 0), (0, 149, 0), (0, 152, 0), (0, 153, 0), (0, 156, 0), (0, 157, 0), (0, 160, 0), (0, 161, 0), (0, 164, 0), (0, 165, 0), (0, 168, 0), (0, 169, 0), (0, 172, 0), (0, 173, 0), (0, 176, 0), (0, 177, 0), (0, 180, 0), (0, 181, 0), (0, 184, 0), (0, 185, 0), (0, 188, 0), (0, 189, 0), (0, 192, 0), (0, 193, 0), (0, 196, 0), (0, 197, 0), (0, 256, 0), (0, 258, 0), (0, 260, 0), (0, 264, 0), (0, 265, 0), (0, 268, 0), (0, 269, 0), (0, 272, 0), (0, 273, 0), (0, 276, 0), (0, 277, 0), (0, 280, 0), (0, 281, 0), (0, 284, 0), (0, 285, 0), (0, 288, 0), (0, 289, 0), (0, 292, 0), (0, 293, 0), (0, 296, 0), (0, 297, 0), (0, 300, 0), (0, 301, 0), (0, 304, 0), (0, 305, 0), (0, 308, 0), (0, 309, 0), (0, 312, 0), (0, 313, 0), (0, 316, 0), (0, 317, 0), (0, 320, 0), (0, 321, 0), (0, 324, 0), (0, 325, 0), (0, 384, 0), (0, 386, 0), (0, 388, 0), (0, 389, 0), (0, 392, 0), (0, 393, 0), (0, 396, 0), (0, 397, 0), (0, 400, 0), (0, 401, 0), (0, 404, 0), (0, 405, 0), (0, 408, 0), (0, 409, 0), (0, 412, 0), (0, 413, 0), (0, 416, 0), (0, 417, 0), (0, 420, 0), (0, 421, 0), (0, 424, 0), (0, 425, 0), (0, 428, 0), (0, 429, 0), (0, 432, 0), (0, 433, 0), (0, 436, 0), (0, 437, 0), (0, 440, 0), (0, 441, 0), (0, 444, 0), (0, 445, 0), (0, 448, 0), (0, 449, 0), (0, 452, 0), (0, 453, 0), (0, 512, 0), (0, 513, 0), (0, 516, 0), (0, 517, 0), (0, 520, 0), (0, 521, 0), (0, 524, 0), (0, 525, 0), (0, 528, 0), (0, 529, 0), (0, 532, 0), (0, 533, 0), (0, 536, 0), (0, 537, 0), (0,540, 0), (0, 541, 0), (0, 544, 0), (0, 545, 0), (0, 548, 0), (0, 549, 0), (0, 552, 0), (0, 553, 0), (0, 556, 0), (0, 557, 0), (0, 560, 0), (0, 561, 0),(0, 564, 0), (0, 565, 0), (0, 568, 0), (0, 569, 0), (0, 572, 0), (0, 573, 0), (0, 576, 0), (0, 577, 0), (0, 580, 0), (0, 581, 0), (0, 640, 0), (0, 641,0), (0, 644, 0), (0, 645, 0), (0, 648, 0), (0, 649, 0), (0, 652, 0), (0, 653, 0), (0, 656, 0), (0, 657, 0), (0, 660, 0), (0, 661, 0), (0, 664, 0), (0, 665, 0), (0, 668, 0), (0, 669, 0), (0, 672, 0), (0, 673, 0), (0, 676, 0), (0, 677, 0), (0, 680, 0), (0, 681, 0), (0, 684, 0), (0, 685, 0), (0, 688, 0), (0, 689, 0), (0, 692, 0), (0, 693, 0), (0, 696, 0), (0, 697, 0), (0, 700, 0), (0, 701, 0), (0, 704, 0), (0, 706, 0), (0, 708, 0), (0, 709, 0), (0, 768, 0), (0, 769, 0), (0, 772, 0), (0, 773, 0), (0, 776, 0), (0, 777, 0), (0, 780, 0), (0, 781, 0), (0, 784, 0), (0, 785, 0), (0, 788, 0), (0, 789, 0), (0, 792, 0), (0, 793, 0), (0, 796, 0), (0, 797, 0), (0, 800, 0), (0, 801, 0), (0, 804, 0), (0, 805, 0), (0, 808, 0), (0, 809, 0), (0, 812, 0), (0, 813, 0), (0, 816, 0), (0, 817, 0), (0, 820, 0), (0, 821, 0), (0, 824, 0), (0, 825, 0), (0, 828, 0), (0, 829, 0), (0, 832, 0), (0, 834, 0), (0, 836, 0), (0, 896, 0), (0, 898, 0), (0, 900, 0), (0, 904, 0), (0, 908, 0), (0, 912, 0), (0, 916, 0), (0, 920, 0), (0, 924, 0), (0, 928, 0), (0, 932, 0), (0, 936, 0), (0, 940, 0), (0, 944, 0), (0, 948, 0), (0, 952, 0), (0, 956, 0), (0, 960, 0), (0, 962, 0), (0, 964, 0), (0, 965, 0), (0, 700, None), (0, 580, None)])

A quick look at ~/.cache/arm/cmn-system.json:

                            {
                                "port": 1,
                                "type": 25,
                                "type_s": "RN-F_E_E",
                                "cal": 2,
                                "ccs": 1,
                                "pdevices": [
                                    {
                                        "device_number": 0,
                                        "id": 580
                                    }
                                ],
                                "devices": [
                                    {
                                        "id": 580,
                                        "type": 15,
                                        "type_s": "RN-SAM"
                                    }
                                ],
                                "attached": [
                                    {
                                        "type": "cpu",
                                        "cpu": 81,
                                        "mseq": 0,
                                        "id": 580,
                                        "lpid": null
                                    }
                                ]
                            }

So maybe cmn_detect_cpu.py or perhaps the arm_cmn module is bugged on this platform.

Activity

  1. algrant-arm commented on Aug 19, 2026

    @algrant-arm
    Contributor

    Thanks for the report, and apologies for late response. We are struggling to replicate this, it might be an effect of the ways CPUs are placed on this particular instance. From the id_map output it looks like there's another entry for node 580, i.e. (0, 580, 0) and then the sort fails when it compares against (0, 580, None). This shouldn't happen. Does your JSON have another entry with "id": 580?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions