• Etienne Bergeron's avatar
    Fix TracingControllerTest.NotWhitelistedMetadataStripped flakiness · 9dcc6824
    Etienne Bergeron authored
    The |argument_filter_predicate_| is not set in the GPU process.
    The CHECK is triggered in the GPU process when flushing the buffer.
    
    void TraceLog::FinishFlush(int generation, bool discard_events) {
      [...]
        if (trace_options() & kInternalEnableArgumentFilter) {
          CHECK(!argument_filter_predicate_.is_null());
          argument_filter_predicate = argument_filter_predicate_;
        }
    
    7923:197923:1121/151153.522324:FATAL:trace_log.cc(997)] Check failed: !argument_filter_predicate_.is_null().
    
    
    We tried with a CHECK to catch this case early in
    base::trace_event::TraceLog::SetEnabled(...).
    Which make the test fail here:
    
    [202280:202280:1121/152013.218605:FATAL:trace_log.cc(587)] Check failed: !trace_config.IsArgumentFilterEnabled() || !argument_filter_predicate_.is_null().
    
    The current solution is to provide a default safe predicate filter in this case.
    
    R=oysteine@chromium.org
    
    Bug: 642991
    Change-Id: Id52357299d170e66596081b8a020a42f9589754e
    Reviewed-on: https://chromium-review.googlesource.com/c/1348633
    Commit-Queue: Etienne Bergeron <etienneb@chromium.org>
    Reviewed-by: default avataroysteine <oysteine@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#611343}
    9dcc6824
tracing_controller_impl.cc 16.6 KB