Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[orc] Fix asan error in RTDyldObjectLinkingLayer.cpp (#106300)
`JITDylibSearchOrderResolver` local variable can be destroyed before completion of all callbacks. Capture it together with `Deps` in `OnEmitted` callback. Original error: ``` ==2035==ERROR: AddressSanitizer: stack-use-after-return on address 0x7bebfa155b70 at pc 0x7ff2a9a88b4a bp 0x7bec08d51980 sp 0x7bec08d51978 READ of size 8 at 0x7bebfa155b70 thread T87 (tf_xla-cpu-llvm) #0 0x7ff2a9a88b49 in operator() llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp:55:58 #1 0x7ff2a9a88b49 in __invoke<(lambda at llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp:55:9) &, const llvm::DenseMap<llvm::orc::JITDylib *, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void> >, llvm::DenseMapInfo<llvm::orc::JITDylib *, void>, llvm::detail::DenseMapPair<llvm::orc::JITDylib *, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void> > > > &> libcxx/include/__type_traits/invoke.h:149:25 #2 0x7ff2a9a88b49 in __call<(lambda at llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp:55:9) &, const llvm::DenseMap<llvm::orc::JITDylib *, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void> >, llvm::DenseMapInfo<llvm::orc::JITDylib *, void>, llvm::detail::DenseMapPair<llvm::orc::JITDylib *, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void> > > > &> libcxx/include/__type_traits/invoke.h:224:5 #3 0x7ff2a9a88b49 in operator() libcxx/include/__functional/function.h:210:12 #4 0x7ff2a9a88b49 in void std::__u::__function::__policy_invoker<void (llvm::DenseMap<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, ```
- Pablo/fix-race-in-query
- (intel/llvm#15464)
- ben/command-handle-ur-tag
- (intel/llvm#15464)
- ben/graph-async-alloc-poc
- (intel/llvm#15464)
- ben/graph-handle-unit-test
- (intel/llvm#15464)
- ben/graph-local-acc
- (intel/llvm#15464)
- ben/l0-kernel-binary-update
- (intel/llvm#15464)
- ben/ownerless-graph
- (intel/llvm#15464)
- ben/whole-graph-host-task
- (intel/llvm#15464)
- command-buf_descriptor
- (intel/llvm#15464)
- coverity_ur_cmdbuf
- (intel/llvm#15464)
- dyn_spv_fix
- (intel/llvm#15464)
- ewan/L0_native_graph_test
- (intel/llvm#15464)
- ewan/OCL_header_bump
- (intel/llvm#15464)
- ewan/UR_update_list
- (intel/llvm#15464)
- ewan/barrier_transitive_recording
- (intel/llvm#15464)
- ewan/bump_ur
- (intel/llvm#15464)
- ewan/cuda_local_mem_fix
- (intel/llvm#15464)
- ewan/dyn_cgf_impl
- (intel/llvm#15464)
- ewan/fix_windows_graph_common_ref
- (intel/llvm#15464)
- ewan/graph_event_repro
- (#381, intel/llvm#15464)
- ewan/nullptr_update
- (intel/llvm#15464)
- ewan/rename_enqueue
- (intel/llvm#16984, intel/llvm#15464)
- ewan/ur_dyn_events
- (intel/llvm#15464)
- ewan/work_group_memory
- (intel/llvm#15464)
- fabio/binary_update_fix
- (intel/llvm#15464)
- fabio/cmd_buffer_kernel_update
- (intel/llvm#15464)
- fabio/common_reference_semantics
- (intel/llvm#15464)
- fabio/compile_time_local_accessor
- (intel/llvm#15464)
- fabio/disable_immediate_append
- (intel/llvm#15464)
- fabio/dynamic_local_accessor_impl
- (intel/llvm#16573, intel/llvm#15464)
- fabio/fix_build_error_export
- (intel/llvm#15464)
- fabio/fix_kernel_arg_indices
- (intel/llvm#15464)
- fabio/fix_l0_loader_no_translate
- (intel/llvm#15464)
- fabio/fix_level_zero_updates
- (intel/llvm#15464)
- fabio/fix_potential_race_condition
- (intel/llvm#15464)
- fabio/graph_padded_structs
- (intel/llvm#15464)
- fabio/immediate_append_exp
- (intel/llvm#15464)
- fabio/kernel_binary_update
- (intel/llvm#15464)
- fabio/local_accessor_update_spec
- (#382, intel/llvm#16712, intel/llvm#15464)
- fabio/remove-handle-translation-mcl
- (intel/llvm#15464)
- fix_filecheck_regex
- (intel/llvm#15464)
- graph_e2e_ff2
- (intel/llvm#15464)
- graph_l0_multi_device
- (intel/llvm#15464)
- graph_native_enqueue
- (#383, intel/llvm#16871, intel/llvm#15464)
- ocl_cmdbuf_097
- (intel/llvm#15464)
- pablo/append_immediate_ci
- (intel/llvm#15464)
- pablo/disable_submit_tests_ci
- (intel/llvm#15464)
- pablo/enqueue_func_spec_fix
- (intel/llvm#15464)
- pablo/explicit_graph_enqueue_functions
- (intel/llvm#15464)
- pablo/graph_enqueue_functions
- (intel/llvm#15464)
- sycl
- (intel/llvm#15464)