tp: remove over-cautious detection of use-after-free in iterators

Back in the very old days of trace processor, we introduced a mechanism
to detect using an iterator after the trace processor instance was
freed. Unfortunately, turns out there are two problems:
1. The implementation is buggy. This is because iterators don't inform
   the trace processor when they are moved so addresses the trace
   processor holds onto are invalid.
2. Trace processor instances are very long lived in practice so the
   likelihood that someone holds iterators past the lifetime is
   unlikely.

Most other C++ classes don't try and protect against use-after-frees and
instead just crash so follow their behaviour given the unlikeliness of
ever hitting this scenario.

Change-Id: Ie37e0c746b7541d2fbec9adacd4ad9bc8194f406
4 files changed
tree: e7b34c5bc0276bc60a86ca3ac1810e71d606fffe
  1. bazel/
  2. build_overrides/
  3. buildtools/
  4. debian/
  5. docs/
  6. examples/
  7. gn/
  8. include/
  9. infra/
  10. protos/
  11. src/
  12. test/
  13. tools/
  14. ui/
  15. .clang-format
  16. .gitignore
  17. .gn
  18. .style.yapf
  19. Android.bp
  20. Android.bp.extras
  21. BUILD
  22. BUILD.extras
  23. BUILD.gn
  24. codereview.settings
  25. heapprofd.rc
  26. LICENSE
  27. METADATA
  28. MODULE_LICENSE_APACHE2
  29. OWNERS
  30. perfetto.rc
  31. PRESUBMIT.py
  32. README.chromium
  33. README.md
  34. TEST_MAPPING
  35. traced_perf.rc
  36. WORKSPACE
README.md

Perfetto - System profiling, app tracing and trace analysis

Perfetto is a production-grade open-source stack for performance instrumentation and trace analysis. It offers services and libraries and for recording system-level and app-level traces, native + java heap profiling, a library for analyzing traces using SQL and a web-based UI to visualize and explore multi-GB traces.

See https://docs.perfetto.dev or the /docs/ directory for documentation.