Files
tensorflow/third_party
Junwhan Ahn ea22af286c Fix lifetime issues in ExecutionWatchdogScope async callbacks.
When `block_host_until_done` is false, `~ExecutionWatchdogScope()` releases the `HangWatchdog::Guard` asynchronously via `stream_->DoHostCallback(...)`, so the guard and its `on_timeout` and `pre_abort` callbacks outlive `ExecutionWatchdogScope` and `GpuExecutable::ExecuteThunks()`.

- Copy `ExecutionTimeoutHandler` by value in `ExecutionWatchdogScope::Arm()` instead of capturing a raw `const GpuExecutableRunOptions*` pointer that can dangle when callers allocate `GpuExecutableRunOptions` on the stack.
- Separate `ThunkExecutor::ProgressTracker` from `ThunkExecutor::ScopedProgressTracker` via `std::shared_ptr` so `pre_abort` in `GpuExecutable::ExecuteThunksImpl()` captures `tracker->tracker()` by value while `ScopedProgressTracker` remains a stack-local move-only RAII guard that uninstalls the thread-local pointer when leaving the dispatch scope.

PiperOrigin-RevId: 987251708
2026-09-25 03:03:00 -07:00
..
…
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-29 14:07:56 +02:00
2026-08-29 14:07:56 +02:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
…
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
2026-08-07 10:09:35 -07:00
…