The $_internalConvertBucketIndexStats stage used PauseExecution as a way to signal "skip this document" when an index stats conversion failed. But PauseExecution is not a general purpose skip mechanism, but rather a TeeBuffer-internal signal used solely by $facet to coordinate its sub-pipelines. When this stage is placed before $facet in a pipeline, TeeBuffer receives the unexpected PauseExecution from upstream and hits a hard invariant assertion, crashing mongod.
{
"binaries": [
{
"binary_version": "1:3.6.3-0ubuntu1.4+esm2",
"binary_name": "mongodb"
},
{
"binary_version": "1:3.6.3-0ubuntu1.4+esm2",
"binary_name": "mongodb-clients"
},
{
"binary_version": "1:3.6.3-0ubuntu1.4+esm2",
"binary_name": "mongodb-server"
},
{
"binary_version": "1:3.6.3-0ubuntu1.4+esm2",
"binary_name": "mongodb-server-core"
}
]
}
{
"binaries": [
{
"binary_version": "1:3.6.9+really3.6.8+90~g8e540c0b6d-0ubuntu5.3+esm1",
"binary_name": "mongodb"
},
{
"binary_version": "1:3.6.9+really3.6.8+90~g8e540c0b6d-0ubuntu5.3+esm1",
"binary_name": "mongodb-clients"
},
{
"binary_version": "1:3.6.9+really3.6.8+90~g8e540c0b6d-0ubuntu5.3+esm1",
"binary_name": "mongodb-server"
},
{
"binary_version": "1:3.6.9+really3.6.8+90~g8e540c0b6d-0ubuntu5.3+esm1",
"binary_name": "mongodb-server-core"
}
]
}