Open Bug 1511153 Opened 6 years ago Updated 3 years ago

"Create interactive task" fails with an unhelpful error for unsupported task types (`Taskcluster: t is undefined; can't access its "kind" property`)

Categories

(Tree Management :: Treeherder, defect, P3)

defect

Tracking

(Not tracked)

People

(Reporter: jorendorff, Unassigned)

References

Details

https://treeherder.mozilla.org/#/jobs?repo=try&revision=662010ae68866cddecaf96e7d5cad99b1a73cd0a&selectedJob=214568343


I can't create interactive tasks on treeherder. I'm logged in.
I can click the menu item; but it gives me:

    Taskcluster: t is undefined; can't access its "kind" property

This kind of thing is usually NoScript, but I disabled the entire addon and it still happens.

<apavel|sheriffduty> jorendorff: i get the same for that specific task
<jorendorff> aha
<apavel|sheriffduty> however i tried for a different one on try and it worked
<jorendorff> wow, i wonder what's up
<kwierso> jorendorff: it's not a treeherder issue, the "Create interactive task" option in the task's Actions menu is disabled, too

Filing here anyway, since maybe Treeherder should cope with ...whatever this is... more elegantly, even if the root problem is elsewhere.
Hi! Reproducing locally without minification I get:

`Taskcluster: action is undefined; can't access its "kind" property`

This comes from here:
https://github.com/mozilla/treeherder/blob/6c3f8982873c9ff31b9a1562c52e4e6b8f7393b9/ui/models/taskcluster.js#L38

Which is due to there being no `create-interactive` tasks being found here:
https://github.com/mozilla/treeherder/blob/6c3f8982873c9ff31b9a1562c52e4e6b8f7393b9/ui/job-view/details/summary/ActionBar.jsx#L236-L238

Inspecting the return value from `TaskclusterModel.load()` shows that there are only 4 actions returned compared to the 14 found in https://taskcluster-artifacts.net/X6ThHzOSSfGdjBZem_ZLBg/0/public/actions.json , and that `create-interactive` is one of the actions that is being filtered out by:
https://github.com/mozilla/treeherder/blob/6c3f8982873c9ff31b9a1562c52e4e6b8f7393b9/ui/models/taskcluster.js#L122-L125

TaskclusterModel.load() was passed an original job ID, so I believe this is failing this part of the conditional:
`originalTask.tags && this.taskInContext(action.context, originalTask.tags)`

The create-interactive task's context is:

      "context": [
        {
          "worker-implementation": "docker-worker"
        }
      ],

Whereas the original task (spidermonkey-sm-plain-win32/debug) has tags of:
`worker-implementation: "generic-worker"`

I'm presuming this just means that the original task used generic-worker, but that create-interactive currently only works for docker-worker?

Dustin, is this correct? What would you recommend be done for this case instead? :-)
Component: Treeherder → Treeherder: Job Triggering & Cancellation
Flags: needinfo?(dustin)
Right on all counts, yes.  I think in this case we should show a message indicating that there's no such action defined for this task.  If the code involved deals specifically with interactive tasks, it could say something like "Automatic creation of an interactive task is not supported for this task."  Most likely, that's because it's running on Windows, so a link to https://wiki.mozilla.org/ReleaseEngineering/How_To/Self_Provision_a_TaskCluster_Windows_Instance wouldn't hurt -- but that's getting pretty Gecko-specific for treeherder..
Flags: needinfo?(dustin)
Awesome - thank you!
Priority: -- → P2
Summary: `Taskcluster: t is undefined; can't access its "kind" property` trying to start an interactive job → "Create interactive task" fails with an unhelpful error for unsupported task types (`Taskcluster: t is undefined; can't access its "kind" property`)
See Also: → 1517747
Component: Treeherder: Job Triggering & Cancellation → TreeHerder
You need to log in before you can comment on or make changes to this bug.