{"record":{"id":"83754d58f911b360","repo":"dotnet/reactive","slug":"source7","errorCode":null,"errorMessage":"source7","messagePattern":"source7","errorType":"validation","errorClass":"ArgumentNullException","httpStatus":null,"severity":"error","filePath":"Rx.NET/Source/src/System.Reactive/Linq/Observable.Multiple.Zip.cs","lineNumber":883,"sourceCode":"\n            if (source4 == null)\n            {\n                throw new ArgumentNullException(nameof(source4));\n            }\n\n            if (source5 == null)\n            {\n                throw new ArgumentNullException(nameof(source5));\n            }\n\n            if (source6 == null)\n            {\n                throw new ArgumentNullException(nameof(source6));\n            }\n\n            if (source7 == null)\n            {\n                throw new ArgumentNullException(nameof(source7));\n            }\n\n            if (source8 == null)\n            {\n                throw new ArgumentNullException(nameof(source8));\n            }\n\n            if (source9 == null)\n            {\n                throw new ArgumentNullException(nameof(source9));\n            }\n\n            if (source10 == null)\n            {\n                throw new ArgumentNullException(nameof(source10));\n            }\n\n            if (source11 == null)","sourceCodeStart":865,"sourceCodeEnd":901,"githubUrl":"https://github.com/dotnet/reactive/blob/94b5d5ab912789f5abe9a72138a25bbd716fe59c/Rx.NET/Source/src/System.Reactive/Linq/Observable.Multiple.Zip.cs#L865-L901","documentation":"The 14-source Zip overload validates source7 at line 883; a null seventh sequence throws ArgumentNullException with parameter 'source7'. The public method checks inputs sequentially so the exception names exactly the offending parameter.","triggerScenarios":"Calling the 14-argument Observable.Zip with null as the seventh IObservable<TSource7> argument.","commonSituations":"A missing middle feed in a batch of streams (e.g. one sensor/service stream failed to initialize), or a null returned from a conditional stream-construction branch.","solutions":["Provide a valid observable for position 7; use Observable.Empty<TSource7>() when intentionally absent.","Fix the upstream producer that returned null for source7.","Add a guard loop or explicit checks over the source array before calling Zip.","Verify the 14-source call's argument order."],"exampleFix":"// before\nvar zipped = Observable.Zip(s1, ..., s6, null, s8, ..., s14, selector);\n// after\nvar zipped = Observable.Zip(s1, ..., s6, s7 ?? Observable.Empty<TSource7>(), s8, ..., s14, selector);","handlingStrategy":"validation","validationCode":"if (source7 == null) throw new ArgumentNullException(nameof(source7));","typeGuard":"static IObservable<T> NonNull<T>(IObservable<T> s) => s ?? Observable.Empty<T>();","tryCatchPattern":"try { var zipped = Observable.Zip(source1, ..., source7, ...); } catch (ArgumentNullException ex) when (ex.ParamName == \"source7\") { /* substitute default source or abort */ }","preventionTips":["Use Observable.Empty<T>() as a placeholder for absent middle streams.","Guard conditional stream construction so every branch returns an observable.","Validate the full source array for nulls before zipping."],"tags":["rx","null-argument","reactive-extensions"],"backgroundTag":"null-argument","analyzedSha":"94b5d5ab912789f5abe9a72138a25bbd716fe59c","analyzedAt":"2026-09-15T02:26:24.759Z","contentChangedAt":"2026-09-15T02:26:24.759Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}