Skip to content

Bug: efcformcontroller-five-unguarded-archive-root-reads #698

Description

@drmoisan
  • Work Mode: full-bug

Summary

EfcFormController reads _globals.Ol.ArchiveRootPath at five places, none of them guarded, so an
unresolvable or cross-store archive root still raises InvalidOperationException from each. Issue 638
guarded only the three reads in EfcDataModel.

Environment

  • OS/version: Windows 11, Outlook desktop (VSTO add-in host)
  • Python version: not applicable; this is a .NET Framework 4.8.1 C# WinForms component
  • Command/flags used: not reproducible from a command line; requires the Email Filer Combined form
  • Data source or fixture: an Outlook profile whose archive root is unresolvable or resolves across stores

Steps to Reproduce

  1. Open Outlook with a profile whose archive root is unresolvable or resolves to a different store.
  2. Open the Email Filer Combined form.
  3. Exercise a path that reaches any of the five reads, including the breadcrumb bind path.

Expected Behavior

Each read is routed through the same guarded helper shape issue 638 introduced, so an unresolvable or
cross-store archive root produces a redacted diagnostic or a defined no-op rather than an unhandled
exception.

Actual Behavior

InvalidOperationException is raised at each unguarded read. Four of the five are absorbed by the
log-only boundary sinks reported separately, so they present as a silent no-op; the fifth sits on the
breadcrumb bind path.

Logs / Screenshots

  • Attached minimal logs or screenshot
  • Snippet: not captured; four of the five failures are visible only in log4net output, which is itself the subject of the companion report.

Impact / Severity

  • Blocker
  • High
  • Medium
  • Low

Source

From: docs/features/potential/2026-08-29-efcformcontroller-five-unguarded-archive-root-reads.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions