New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 902835 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

[Findit] mismatch between an analysis's failure_info and failure_result_map

Project Member Reported by lijeffrey@chromium.org, Nov 7

Issue description

TypeError: unhashable type: 'dict'
at _GetSwarmingTaskAndTryJobForFailure (/base/data/home/apps/s~findit-for-me/18023-b8d7f5c.412971483831798704/endpoint_api.py:504)
at _GenerateResultsForBuild (/base/data/home/apps/s~findit-for-me/18023-b8d7f5c.412971483831798704/endpoint_api.py:592)
at AnalyzeBuildFailures (/base/data/home/apps/s~findit-for-me/18023-b8d7f5c.412971483831798704/endpoint_api.py:645)
at invoke_remote_method (/base/alloc/tmpfs/dynamic_runtimes/python27g/ec315266546cb44c/python27/python27_lib/versions/third_party/protorpc-1.0/protorpc/remote.py:414)
at invoke_remote (/base/alloc/tmpfs/dynamic_runtimes/python27g/ec315266546cb44c/python27/python27_lib/versions/third_party/endpoints-1.0/endpoints/api_config.py:1331)
at decorated (/base/data/home/apps/s~findit-for-me/18023-b8d7f5c.412971483831798704/first_party/gae_ts_mon/config.py:279)
at dispatch (/base/data/home/apps/s~findit-for-me/18023-b8d7f5c.412971483831798704/components/endpoints_webapp2/adapter.py:132)
at __call__ (/base/alloc/tmpfs/dynamic_runtimes/python27g/ec315266546cb44c/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py:1102)
at default_dispatcher (/base/alloc/tmpfs/dynamic_runtimes/python27g/ec315266546cb44c/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py:1278)
at _instrumented_dispatcher (/base/data/home/apps/s~findit-for-me/18023-b8d7f5c.412971483831798704/first_party/gae_ts_mon/config.py:218)
at dispatch (/base/data/home/apps/s~findit-for-me/18023-b8d7f5c.412971483831798704/first_party/gae_ts_mon/config.py:256)
at __call__ (/base/alloc/tmpfs/dynamic_runtimes/python27g/ec315266546cb44c/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py:1529)
at __call__ (/base/alloc/tmpfs/dynamic_runtimes/python27g/ec315266546cb44c/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py:1535)


 
This bug seems to be caused by mismatch between an analysis's failure_info and failure_result_map, which is weird since we are using failure_info to generate failure_result_map... And also I can get expected failure_info locally...

I'm working on a work-around, but the root cause is still unknown
Summary: [Findit] mismatch between an analysis's failure_info and failure_result_map (was: [Findit] Failure to parse log of swarming task/try job output)
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 8

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/d94445b6db123abeb2ada4cb31d49318ca20b939

commit d94445b6db123abeb2ada4cb31d49318ca20b939
Author: Chan <chanli@chromium.org>
Date: Thu Nov 08 00:37:12 2018

[Findit] Fix for TypeError: unhashable type: 'dict'

Stack Trace:
TypeError: unhashable type: 'dict'
at _GetSwarmingTaskAndTryJobForFailure (/base/data/home/apps/s~findit-for-me/18023-b8d7f5c.412971483831798704/endpoint_api.py:504)
at _GenerateResultsForBuild (/base/data/home/apps/s~findit-for-me/18023-b8d7f5c.412971483831798704/endpoint_api.py:592)

The failure_result_map has a format like {'step1': {'test1': 'try_job_key string', ...}, 'step2': 'try_job_key string', ...}. The issue here is, for some reason, the caller couldn't find the test_name in failure_info so it thinks it's a step failure and passed None as test_name, but the failure is actually a test failure and test_names are saved in failure_result_map.

The root cause is still unknown, this change is a work around.

Bug: 902835
Change-Id: Id48a59ef45cd1d0cb88450c1184f6e8df7e87878
Reviewed-on: https://chromium-review.googlesource.com/c/1324770
Commit-Queue: Chan Li <chanli@chromium.org>
Reviewed-by: Jeffrey Li <lijeffrey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#18854}
[modify] https://crrev.com/d94445b6db123abeb2ada4cb31d49318ca20b939/appengine/findit/endpoint_api.py
[modify] https://crrev.com/d94445b6db123abeb2ada4cb31d49318ca20b939/appengine/findit/test/findit_api_test.py

Sign in to add a comment