u70b3 commented on issue #61225: URL: https://github.com/apache/doris/issues/61225#issuecomment-5199372235
I'd like to pick this up — the issue has been inactive since March, and both crash modes are still present on master (6ddb9af9057). **Pattern B (std::out_of_range @ `StructNode::children_column_exists`)**: the bare `children.at()` throws (release) / DCHECK-aborts (debug) when the schema mapping from FE lacks a key the scan expects. The top-level parquet path was fixed by cbfe3096dff via `has_children_column`, but the same crash potential remains at: the ORC top-level missing-column loop (ORC twin of cbfe3096dff), the iceberg parquet/orc classification loops (PARTITION_KEY/REGULAR branches), nested struct field resolution in both formats, the `$position_deletes` system table reader, and the filter paths that iterate *all* tuple slots (page-index / min-max / bloom lambdas) — TopN's synthetic GLOBAL_ROWID_COL slot is never in the schema tree, so those are live latent crashes even without FE misbehavior. **Pattern A (SIGSEGV @ `ByteArrayDictDecoder::_decode_values`)**: data pages referencing a never-decoded dictionary index into an empty `_dict_items`, dereferencing a null StringRef. The fix follows cbfe3096dff's defense-in-depth approach: contract paths fail the query loudly with `Status::InternalError`, optimization paths silently skip the optimization, and Pattern A becomes `Status::Corruption` (hardening — no reproducer exists to prove the root cause). PR coming shortly. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
