{"record":{"id":"658e18f613a344bf","repo":"dotnet/reactive","slug":"source6","errorCode":null,"errorMessage":"source6","messagePattern":"source6","errorType":"validation","errorClass":"ArgumentNullException","httpStatus":null,"severity":"error","filePath":"Rx.NET/Source/src/System.Reactive/Linq/Observable.Multiple.Zip.cs","lineNumber":878,"sourceCode":"\n            if (source3 == null)\n            {\n                throw new ArgumentNullException(nameof(source3));\n            }\n\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)","sourceCodeStart":860,"sourceCodeEnd":896,"githubUrl":"https://github.com/dotnet/reactive/blob/94b5d5ab912789f5abe9a72138a25bbd716fe59c/Rx.NET/Source/src/System.Reactive/Linq/Observable.Multiple.Zip.cs#L860-L896","documentation":"The 14-source Zip overload validates source6 at line 878; null causes ArgumentNullException with parameter 'source6'. Zip requires every input stream to subscribe to, so a null sixth sequence is rejected immediately at call time.","triggerScenarios":"Calling the 14-argument Observable.Zip with null in the sixth argument position while the other 13 sources and the selector are non-null.","commonSituations":"A null from a per-feed service resolver, an uninitialized field backing the sixth stream, or a reordering bug when editing the very long call signature.","solutions":["Pass a real observable (or Observable.Empty<TSource6>()) in position 6.","Fix the null-producing factory or field initialization for source6.","Add pre-call null validation for all 14 sources.","Confirm argument ordering at the call site."],"exampleFix":"// before\nvar zipped = Observable.Zip(s1, s2, s3, s4, s5, null, s7, ..., s14, selector);\n// after\nvar zipped = Observable.Zip(s1, s2, s3, s4, s5, s6 ?? Observable.Empty<TSource6>(), s7, ..., s14, selector);","handlingStrategy":"validation","validationCode":"if (source6 == null) throw new ArgumentNullException(nameof(source6));","typeGuard":"static IObservable<T> NonNull<T>(IObservable<T> s) => s ?? Observable.Empty<T>();","tryCatchPattern":"try { var zipped = Observable.Zip(source1, ..., source6, ...); } catch (ArgumentNullException ex) when (ex.ParamName == \"source6\") { /* substitute default source or abort */ }","preventionTips":["Ensure per-feed resolvers/dictionaries always return a (possibly empty) observable.","Validate all sources before calling Zip.","Check argument order after any edit to the long call signature."],"tags":["rx","null-argument","argument-validation"],"backgroundTag":"null-argument","analyzedSha":"94b5d5ab912789f5abe9a72138a25bbd716fe59c","analyzedAt":"2026-09-15T02:26:24.759Z","contentChangedAt":"2026-09-15T02:26:24.759Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}