{"record":{"id":"2be37fd4fc95de77","repo":"dotnet/reactive","slug":"sixteenth","errorCode":null,"errorMessage":"sixteenth","messagePattern":"sixteenth","errorType":"validation","errorClass":"ArgumentNullException","httpStatus":null,"severity":"error","filePath":"Rx.NET/Source/src/System.Reactive/Linq/QbservableEx.Homoicon.cs","lineNumber":2202,"sourceCode":"                throw new ArgumentNullException(nameof(seventh));\n            if (eighth == null)\n                throw new ArgumentNullException(nameof(eighth));\n            if (ninth == null)\n                throw new ArgumentNullException(nameof(ninth));\n            if (tenth == null)\n                throw new ArgumentNullException(nameof(tenth));\n            if (eleventh == null)\n                throw new ArgumentNullException(nameof(eleventh));\n            if (twelfth == null)\n                throw new ArgumentNullException(nameof(twelfth));\n            if (thirteenth == null)\n                throw new ArgumentNullException(nameof(thirteenth));\n            if (fourteenth == null)\n                throw new ArgumentNullException(nameof(fourteenth));\n            if (fifteenth == null)\n                throw new ArgumentNullException(nameof(fifteenth));\n            if (sixteenth == null)\n                throw new ArgumentNullException(nameof(sixteenth));\n\n            return first.Provider.CreateQuery<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth, TFourteenth Fourteenth, TFifteenth Fifteenth, TSixteenth Sixteenth)>(\n                Expression.Call(\n                    null,\n                    new Func<IQbservable<TFirst>, IObservable<TSecond>, IObservable<TThird>, IObservable<TFourth>, IObservable<TFifth>, IObservable<TSixth>, IObservable<TSeventh>, IObservable<TEighth>, IObservable<TNinth>, IObservable<TTenth>, IObservable<TEleventh>, IObservable<TTwelfth>, IObservable<TThirteenth>, IObservable<TFourteenth>, IObservable<TFifteenth>, IObservable<TSixteenth>, IQbservable<(TFirst First, TSecond Second, TThird Third, TFourth Fourth, TFifth Fifth, TSixth Sixth, TSeventh Seventh, TEighth Eighth, TNinth Ninth, TTenth Tenth, TEleventh Eleventh, TTwelfth Twelfth, TThirteenth Thirteenth, TFourteenth Fourteenth, TFifteenth Fifteenth, TSixteenth Sixteenth)>>(Zip<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TEighth, TNinth, TTenth, TEleventh, TTwelfth, TThirteenth, TFourteenth, TFifteenth, TSixteenth>).Method,\n                    first.Expression,\n                    GetSourceExpression(second),\n                    GetSourceExpression(third),\n                    GetSourceExpression(fourth),\n                    GetSourceExpression(fifth),\n                    GetSourceExpression(sixth),\n                    GetSourceExpression(seventh),\n                    GetSourceExpression(eighth),\n                    GetSourceExpression(ninth),\n                    GetSourceExpression(tenth),\n                    GetSourceExpression(eleventh),\n                    GetSourceExpression(twelfth),\n                    GetSourceExpression(thirteenth),","sourceCodeStart":2184,"sourceCodeEnd":2220,"githubUrl":"https://github.com/dotnet/reactive/blob/94b5d5ab912789f5abe9a72138a25bbd716fe59c/Rx.NET/Source/src/System.Reactive/Linq/QbservableEx.Homoicon.cs#L2184-L2220","documentation":"The 16-argument QbservableEx.Zip throws ArgumentNullException because the parameter 'sixteenth' (the sixteenth source observable sequence) was null. Argument validation runs eagerly on the client so malformed queries never reach the provider.","triggerScenarios":"Calling the 16-way Zip overload with the sixteenth argument (an IObservable<TSixteenth>) set to null.","commonSituations":"The last stream in a long argument list is commonly the one forgotten during refactors; a stream that was conditionally created ended up null; DI container returned null for one dependency.","solutions":["Provide a valid (or Observable.Empty) sixteenth source before calling Zip","Validate all 16 arguments for null before the call","Fix the upstream code that returned a null sequence"],"exampleFix":"// before\nvar q = first.Zip(s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16); // s16 null\n// after\nvar s16 = GetSixteenth() ?? Observable.Empty<TSixteenth>();\nvar q = first.Zip(s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16);","handlingStrategy":"validation","validationCode":"if (sixteenth == null) throw new ArgumentException(nameof(sixteenth));","typeGuard":"static bool IsSource<T>(IObservable<T> s) => s != null;","tryCatchPattern":"try { var q = first.Zip(...); } catch (ArgumentNullException ex) { Console.Error.WriteLine($\"Missing Zip source: {ex.ParamName}\"); }","preventionTips":["Initialize all stream variables at declaration","Use ?? Observable.Empty<TSixteenth>() fallbacks","Fix DI/factory registrations so no source resolves to null"],"tags":["null-argument","rx","qbservable","zip"],"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"}