SocialMedia/SocialTests in-mesh NodeType does not compile — its migrated test sources reference MeshWeaver.Social types that are not on the NodeType's assembly reference set

Chiusa
#6,857 20 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
12/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
csharp

Direzione di ricerca

Start with the assembly reference set that EmitCompilationToDirectory receives for the SocialMedia/SocialTests NodeType, and check whether MeshWeaver.Social is in it. Then compare failedBuildInputs with the last green compile in the NodeType's version history. The sources are under SocialMedia/SocialTests/Source, for example LinkedInAnalyticsTest. Done means the NodeType compiles and the in-mesh Social tests run, and the root cause is recorded.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug sev:M

Observed

The NodeType SocialMedia/SocialTests ("MeshWeaver.Social.Test (in-mesh)") fails to produce its assembly: MeshNodeCompilationService aborts in MeshWeaver.Compiler.EmitPipeline.EmitCompilationToDirectory with a CompilationException. The compiler diagnostics are almost entirely CS0234/CS0246/CS0103 on types that live in the compiled MeshWeaver.Social plugin assembly — LinkedInAnalytics, LinkedInConnectEndpoints, LinkedInIdentitySync, LinkedInPostsApi, LinkedInPublisher, LinkedInOptions, PlatformCredential, PlatformCredentialProtection, StoredCredential(State), PostNotificationPolicy, PostNotificationWatcher, ScheduledPostWatcher, ScheduledSocialPublishHandler, PostPublishProblem, SocialHistoryMatch, SocialSchedulingOptions, PastPost — plus CS0234 on the namespace MeshWeaver → Social at each source's using MeshWeaver.Social; line. A search of the socialmedia partition finds no in-mesh Code node defining any of these types (e.g. PastPost: 0 matches) — the only route to them is an assembly reference.

The NodeType's own description already documents this boundary for a sibling it refused: LinkedInPullActionsTest was kept out because it "needs MeshWeaver.Social … neither is on the reference set of a NodeType compiled outside the SocialMedia package". The 11 sources that were migrated (created by convert-xunit-to-inmesh.py, all version 1) reference the same assembly's types and therefore cannot resolve.

Where and when

One pod in the memex namespace, a single occurrence — a one-shot compile failure, not a recurring burst. The NodeType's record pins the build inputs of the failed attempt (failedBuildInputs fw/mod hashes, failedPlatformVersion 3.1.10989, module version 1.1), which is the reading needed to tell a never-compiled-green defect from a regression. The sources themselves have been unchanged since the migration; what changed around the failure is the platform/module input, not the sources.

Impact

The Social plugin's in-mesh regression suite is dead: compilationStatus is Error, so the Tests area (the layout binds typeof(LinkedInAnalyticsTest).Assembly via MeshWeaver.Testing.InMesh.MeshTestRunner) cannot render or run, and roughly ten migrated test files' [MeshFact] cases cannot execute on the live mesh. This is a QA surface, not a user-facing primary path; the tests fail loudly rather than silently.

Not established

  • Whether this NodeType ever compiled green since its sources landed — the node's version history (1561 versions) was not audited for a prior compilationStatus: Ok with the same source fingerprint.
  • Whether the MeshWeaver.Social types still exist under the current module build — the failed compile's module hash (mod=e83035a6…) may differ from an earlier green one; no earlier build's diagnostics were compared.
  • What triggered the compile at this moment (platform promote vs. page access) — lastCompileStartedAt on the NodeType is the only trail.
  • Whether other in-mesh test NodeTypes in other partitions show the same reference-set shape — only this site was triaged.

Candidate causes and the reading that separates them

  1. The NodeType compile's reference set does not include the MeshWeaver.Social assembly, so the migrated sources have nothing to resolve their plugin types against. The node's own LinkedInPullActionsTest refusal note states this explicitly for that sibling. Predicts the compile has never been green since 2026-09-27. Discriminating reading: the NodeType's version history — any version with compilationStatus: Ok after the sources landed rules this out.
  2. A module/platform input change removed or renamed the referenced types — a rebuild of the MeshWeaver.Social module (new module hash in failedBuildInputs) dropped types the sources previously resolved. Predicts a green compile exists against the prior module hash. Discriminating reading: compare the module hash and diagnostics of the last green compile recorded on the NodeType against this one.
  3. The converter's using-hoister mangled the sources (the description records it lifting using X; lines out of raw-string literals). Largely excluded here: the CS0234 errors fire at the using MeshWeaver.Social; lines, and the CS0103 names are concrete plugin types — so the source text arrived intact; what's missing is the reference, not the using.

Where to look

  • SocialMedia/SocialTests — the failing NodeType; its description documents the reference-set boundary and the converter's known limitations; failedBuildInputs / failedPlatformVersion / lastCompileStartedAt carry the build context.
  • The 11 Code sources under SocialMedia/SocialTests/Source/… (e.g. SocialHistoryMatchTest, LinkedInAnalyticsTest, PlatformCredentialProtectionTest) — the unresolved references.
  • The compile pipeline: category MeshWeaver.Graph.Configuration.MeshNodeCompilationService, top frame MeshWeaver.Compiler.EmitPipeline.EmitCompilationToDirectory — where the NodeType's reference set is assembled.

Evidence
Fingerprint ae0eb87b0d58442d
Category MeshWeaver.Graph.Configuration.MeshNodeCompilationService
Severity Error
Exception MeshWeaver.Compiler.CompilationException
Top frame MeshWeaver.Compiler.EmitPipeline.EmitCompilationToDirectory(CSharpCompilation compilation, String nodeName, String nodePath, String releaseDir, IReadOnlyCollection1 manifestResources, CancellationToken ct, Action2 captureFailure)
Namespace memex
Pods memex-portal-deployment-7f54df57b-5mvtt
Occurrences 1
First seen 2026-10-16 08:25:44Z
Last seen 2026-10-16 08:25:44Z
Routing not determined — no configured route matches the category MeshWeaver.Graph.Configuration.MeshNodeCompilationService. This repository is the configured fallback, not a finding about who owns the fault; the category names the LOGGER, which may not be the subject.
Recent log lines
2026-10-16 08:25:44Z memex-portal-deployment-7f54df57b-5mvtt fail: MeshWeaver.Graph.Configuration.MeshNodeCompilationService[0]
      Failed to compile assembly for node 'SocialMedia/SocialTests'.
      --- Compiler diagnostics ---
      Compilation failed for 'SocialMedia/SocialTests':
      CS0246 Error (line 1558): The type or namespace name 'PastPost' could not be found (are you missing a using directive or an assembly reference?)
      CS0234 Error (line 35): The type or namespace name 'Social' does not exist in the namespace 'MeshWeaver' (are you missing an assembly reference?)
      CS0246 Error (line 481): The type or namespace name 'PlatformCredential' could not be found (are you missing a using directive or an assembly reference?)
      CS0246 Error (line 680): The type or namespace name 'PlatformCredential' could not be found (are you missing a using directive or an assembly reference?)
      CS0246 Error (line 851): The type or namespace name 'PlatformCredential' could not be found (are you missing a using directive or an assembly reference?)
      CS0246 Error (line 1655): The type or namespace name 'SocialSchedulingOptions' could not be found (are you missing a using directive or an assembly reference?)
      CS0103 Error (line 200): The name 'LinkedInAnalytics' does not exist in the current context
      CS0103 Error (line 207): The name 'LinkedInAnalytics' does not exist in the current context
      CS0103 Error (line 219): The name 'LinkedInAnalytics' does not exist in the current context
      CS0103 Error (line 228): The name 'LinkedInAnalytics' does not exist in the current context
      CS0103 Error (line 237): The name 'LinkedInAnalytics' does not exist in the current context
        … and 247 more diagnostic line(s) — the complete set is on the exception below and in the NodeType's CompilationDiagnostics.
      --- Source discovery ---
      Executed source queries (2):
        - namespace:SocialMedia/SocialTests/Source scope:subtree nodeType:Code
        - namespace:SocialMedia/SocialTests/Test scope:s…[truncated]

Opened automatically from Admin/_LogIncident/ae0eb87b0d58442d. Recurrences are folded into this issue rather than opening new ones.
It also stands for the whole log site 94cf83bed88da07f: other fingerprints of this site fold in here as comments rather than opening tickets of their own.

Lingua principale
C#
Stelle
12
Fork
5
Merge medio
5h 10m
PR unite (30g)
979

Preparare l'ambiente

  • Nessun Dockerfile né file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Systemorph/MeshWeaver

Tutte le issue di Systemorph/MeshWeaver

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.