Skip to content

[Meta] Fix fake sai issues. - #1509

Closed
AarjunC wants to merge 1 commit into
facebook:mainfrom
AarjunC:export-D115647993
Closed

[Meta] Fix fake sai issues.#1509
AarjunC wants to merge 1 commit into
facebook:mainfrom
AarjunC:export-D115647993

Conversation

@AarjunC

@AarjunC AarjunC commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary:
D113583401 split the SAI platform sources by vendor, so the sim's MONTBLANC fruid
no longer resolves ("Unsupported SAI platform type PLATFORM_MONTBLANC"). Pointing
the sim at FAKE_SAI swaps Tomahawk5Asic for FakeAsic, which exposed two fake-only
crashes in the hw agent stats path (the second was masked by the first):

  • SIGFPE: FakeAsic::getNumMemoryBuffers() returned 0 and
    SaiBufferManager::getIngressPoolDivisor() divides by it on every stats tick.
    Now 1.
  • SIGSEGV at 0x0: populate_router_interface_api() left the get/clear stats
    pointers null while SaiRouterInterfaceManager::updateStats() calls getStats()
    unconditionally. Added zero-filling stubs matching FakeSaiTunnel.

Also: fruid.json MONTBLANC -> FAKE_SAI; mono.conf uses controlling ports 0,4,8,12
@ 100G profile 28, cpu queue id 9 -> 7 with matching cpuVoqs, asicType 13 -> 1;
FakeAsic denies TEMPERATURE_MONITORING; FakeTestPlatformMapping gets
PROFILE_DEFAULT; each agent unit logs to its own file so concurrent crash traces
stop interleaving.

Differential Revision: D115647993

Summary:
D113583401 split the SAI platform sources by vendor, so the sim's MONTBLANC fruid
no longer resolves ("Unsupported SAI platform type PLATFORM_MONTBLANC"). Pointing
the sim at FAKE_SAI swaps Tomahawk5Asic for FakeAsic, which exposed two fake-only
crashes in the hw agent stats path (the second was masked by the first):

- SIGFPE: FakeAsic::getNumMemoryBuffers() returned 0 and
  SaiBufferManager::getIngressPoolDivisor() divides by it on every stats tick.
  Now 1.
- SIGSEGV at 0x0: populate_router_interface_api() left the get/clear stats
  pointers null while SaiRouterInterfaceManager::updateStats() calls getStats()
  unconditionally. Added zero-filling stubs matching FakeSaiTunnel.

Also: fruid.json MONTBLANC -> FAKE_SAI; mono.conf uses controlling ports 0,4,8,12
@ 100G profile 28, cpu queue id 9 -> 7 with matching cpuVoqs, asicType 13 -> 1;
FakeAsic denies TEMPERATURE_MONITORING; FakeTestPlatformMapping gets
PROFILE_DEFAULT; each agent unit logs to its own file so concurrent crash traces
stop interleaving.

All fbcode changes are fake-only and do not affect real h/w.

Differential Revision: D115647993
@AarjunC
AarjunC requested review from a team as code owners August 11, 2026 23:10
@meta-cla meta-cla Bot added the CLA Signed label Aug 11, 2026
@meta-codesync

meta-codesync Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

@AarjunC has exported this pull request. If you are a Meta employee, you can view the originating Diff in D115647993.

@AarjunC AarjunC changed the title Fix fake sai issues. [Meta] Fix fake sai issues. Aug 11, 2026
@github-actions github-actions Bot added the meta label Aug 11, 2026
@meta-codesync meta-codesync Bot closed this in 1e8e309 Aug 13, 2026
@meta-codesync meta-codesync Bot added the Merged label Aug 13, 2026
@meta-codesync

meta-codesync Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

This pull request has been merged in 1e8e309.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant