#4078 taskInfo webpage failure
Closed: Fixed a year ago by mikem. Opened 2 years ago by relias-redhat.

I have this task (testing on master branch + testing ready issues):

koji call getTaskInfo 88 request=True
{'arch': 'noarch',
 'awaited': None,
 'channel_id': 1,
 'completion_time': '2024-04-12 09:51:41.664547+00:00',
 'completion_ts': 1712915501.664547,
 'create_time': '2024-04-12 09:50:35.835567+00:00',
 'create_ts': 1712915435.835567,
 'host_id': 1,
 'id': 88,
 'label': None,
 'method': 'someMethod',
 'owner': 1,
 'parent': None,
 'priority': 20,
 'request': [{'__method__': 'someMethod',
              'target_info': 'build-target-f39-build-jk6548bv6r'}],
 'start_time': '2024-04-12 09:51:41.631711+00:00',
 'start_ts': 1712915501.631711,
 'state': 2,
 'waiting': None,
 'weight': 1.0}

opening the taskInfo page fails with:

 184 [ERROR] m=taskinfo u=None p=18019 r=10.45.225.161:50516 koji.web: Traceback (most recent call last):, referer: https://10.0.176.166/brew/index
   File "/usr/share/koji-web/scripts/wsgi_publisher.py", line 391, in handle_request, referer: https://10.0.176.166/brew/index
     result = func(environ, **data), referer: https://10.0.176.166/brew/index
              ^^^^^^^^^^^^^^^^^^^^^, referer: https://10.0.176.166/brew/index
   File "/usr/share/koji-web/scripts/index.py", line 795, in taskinfo, referer: https://10.0.176.166/brew/index
     return _genHTML(environ, 'taskinfo.chtml'), referer: https://10.0.176.166/brew/index
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^, referer: https://10.0.176.166/brew/index
   File "/usr/share/koji-web/lib/kojiweb/util.py", line 147, in _genHTML, referer: https://10.0.176.166/brew/index
     return tmpl_inst.respond(), referer: https://10.0.176.166/brew/index
            ^^^^^^^^^^^^^^^^^^^, referer: https://10.0.176.166/brew/index
   File "taskinfo_chtml.py", line 445, in respond, referer: https://10.0.176.166/brew/index
   File "taskinfo_chtml.py", line 303, in printValue, referer: https://10.0.176.166/brew/index
 TypeError: string indices must be integers, not 'str', referer: https://10.0.176.166/brew/index
 , referer: https://10.0.176.166/brew/index

The same exact task with request changed from target_info to build_target is displayed correctly

 'request': [{'__method__': 'someMethod',
              'build_target': 'build-target-f39-build-jk6548bv6r'}],

Could be related to #4065


No, it is not related. PR #4079

Metadata Update from @tkopecek:
- Custom field Size adjusted to None

2 years ago

What test is this task for? The signature for someMethod is simply (*args), but you are passing a named argument. This is not a valid task and should fail when it tries to run.

You are using a feature of parse_task_params that is not actually used by anything in Koji yet. Specifying args as a dict with __method__ field bypasses normal parameter parsing at this stage.

Do we understand exactly where in the template that the error is happening? I'm afraid #4079 might be missing the primary issue here.

Even if a task parameter is one that the web ui doesn't recognizes, it shouldn't error like this. Teaching it to handle one more arg only addresses a narrow failure case.

What test is this task for? The signature for someMethod is simply (*args), but you are passing a named argument. This is not a valid task and should fail when it tries to run.

You are using a feature of parse_task_params that is not actually used by anything in Koji yet. Specifying args as a dict with __method__ field bypasses normal parameter parsing at this stage.

It's a very old testcase for channel policy matching build-target value. It doesn't care about the task itself, just that it triggers the policy check. I'm not exactly sure why the decision was made to use the __method__ field. The same test triggered #4065 and now this

Metadata Update from @tkopecek:
- Issue set to the milestone: 1.35.1

a year ago

Metadata Update from @tkopecek:
- Issue tagged with: testing-ready

a year ago

Metadata Update from @mikem:
- Issue set to the milestone: 1.35.2 (was: 1.35.1)

a year ago

Metadata Update from @mfilip:
- Issue tagged with: testing-done

a year ago

Commit d866841 fixes this issue

Commit ef61ba6 relates to this ticket

Log in to comment on this ticket.

Metadata
Related Pull Requests
  • #4079 Merged a year ago