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]

Reply via email to