#929 A circular dependency with MSE causes MBS to traceback
Opened by mprahl. Modified

In staging, I accidentally had test module buildrequire and require testmodule2 and testmodule2 buildrequired and required testmodule. This created a circular dependency, causing dependency_id to get assigned to a context rather than the ID in generate_expanded_mmds. This caused a traceback because the context was being cast to an integer, which isn't possible.

This should fail with a graceful error message instead.

Here are the logs:

[Fri May 04 14:51:24.694112 2018] [:error] [pid 23228] INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): id.stg.fedoraproject.org
[Fri May 04 14:51:24.805285 2018] [:error] [pid 23228] DEBUG:requests.packages.urllib3.connectionpool:"POST /openidc/TokenInfo HTTP/1.1" 200 338
[Fri May 04 14:51:24.810277 2018] [:error] [pid 23228] INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): id.stg.fedoraproject.org
[Fri May 04 14:51:24.888454 2018] [:error] [pid 23228] DEBUG:requests.packages.urllib3.connectionpool:"GET /openidc/UserInfo HTTP/1.1" 200 130
[Fri May 04 14:51:24.891547 2018] [:error] [pid 23228] DEBUG:module_build_service:Verifying modulemd
[Fri May 04 14:51:25.558857 2018] [:error] [pid 23228] INFO:module_build_service:Starting resolving with following input modules: ['testmodule2:master:20180405194923:12b6cbc2', 'testmodule2:master:20180405194923:091a69b3', 'testmodule:master:20180420063242:8af6e45f', 'platform:f28:4:00000000', 'testmodule:2.0:20180327143404:c7b355af']
[Fri May 04 14:51:25.559553 2018] [:error] [pid 23228] DEBUG:module_build_service:Testing testmodule:master:20180504145116:0-20180504145116.src with combination: (<Solvable #5 platform:f28:4:00000000-4.x86_64>, <Solvable #2 testmodule2:master:20180405194923:12b6cbc2-20180405194923.x86_64>)
[Fri May 04 14:51:25.559709 2018] [:error] [pid 23228] DEBUG:module_build_service:Jobs:
[Fri May 04 14:51:25.559806 2018] [:error] [pid 23228] DEBUG:module_build_service:  - favor platform:f28:4:00000000-4.x86_64
[Fri May 04 14:51:25.559917 2018] [:error] [pid 23228] DEBUG:module_build_service:  - favor testmodule2:master:20180405194923:12b6cbc2-20180405194923.x86_64
[Fri May 04 14:51:25.560010 2018] [:error] [pid 23228] DEBUG:module_build_service:  - install testmodule:master:20180504145116:0-20180504145116.src
[Fri May 04 14:51:25.560264 2018] [:error] [pid 23228] DEBUG:module_build_service:Transaction:
[Fri May 04 14:51:25.560364 2018] [:error] [pid 23228] DEBUG:module_build_service:  - testmodule:master:20180504145116:0-20180504145116.src
[Fri May 04 14:51:25.560455 2018] [:error] [pid 23228] DEBUG:module_build_service:  - platform:f28:4:00000000-4.x86_64
[Fri May 04 14:51:25.560546 2018] [:error] [pid 23228] DEBUG:module_build_service:  - testmodule2:master:20180405194923:12b6cbc2-20180405194923.x86_64
[Fri May 04 14:51:25.560636 2018] [:error] [pid 23228] DEBUG:module_build_service:  - testmodule:master:20180420063242:8af6e45f-20180420063242.x86_64
[Fri May 04 14:51:25.560739 2018] [:error] [pid 23228] DEBUG:module_build_service:Testing testmodule:master:20180504145116:0-20180504145116.src with combination: (<Solvable #5 platform:f28:4:00000000-4.x86_64>, <Solvable #3 testmodule2:master:20180405194923:091a69b3-20180405194923.x86_64>)
[Fri May 04 14:51:25.560879 2018] [:error] [pid 23228] DEBUG:module_build_service:Jobs:
[Fri May 04 14:51:25.560972 2018] [:error] [pid 23228] DEBUG:module_build_service:  - favor platform:f28:4:00000000-4.x86_64
[Fri May 04 14:51:25.561104 2018] [:error] [pid 23228] DEBUG:module_build_service:  - favor testmodule2:master:20180405194923:091a69b3-20180405194923.x86_64
[Fri May 04 14:51:25.561204 2018] [:error] [pid 23228] DEBUG:module_build_service:  - install testmodule:master:20180504145116:0-20180504145116.src
[Fri May 04 14:51:25.561325 2018] [:error] [pid 23228] DEBUG:module_build_service:Transaction:
[Fri May 04 14:51:25.561425 2018] [:error] [pid 23228] DEBUG:module_build_service:  - testmodule:master:20180504145116:0-20180504145116.src
[Fri May 04 14:51:25.561516 2018] [:error] [pid 23228] DEBUG:module_build_service:  - platform:f28:4:00000000-4.x86_64
[Fri May 04 14:51:25.561606 2018] [:error] [pid 23228] DEBUG:module_build_service:  - testmodule2:master:20180405194923:091a69b3-20180405194923.x86_64
[Fri May 04 14:51:25.561696 2018] [:error] [pid 23228] DEBUG:module_build_service:  - testmodule:2.0:20180327143404:c7b355af-20180327143404.x86_64
[Fri May 04 14:51:25.561898 2018] [:error] [pid 23228] INFO:module_build_service:Resolving done, possible requires: set([frozenset(['platform:f28:4:00000000:x86_64', 'testmodule2:master:20180405194923:12b6cbc2:x86_64', 'testmodule:master:20180420063242:8af6e45f:x86_64', 'testmodule:master:20180504145116:0:src'])])
[Fri May 04 14:51:25.563871 2018] [:error] [pid 23228] ERROR:module_build_service:Exception on /module-build-service/2/module-builds/ [POST]
[Fri May 04 14:51:25.563887 2018] [:error] [pid 23228] Traceback (most recent call last):
[Fri May 04 14:51:25.563894 2018] [:error] [pid 23228]   File "/usr/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
[Fri May 04 14:51:25.563900 2018] [:error] [pid 23228]     response = self.full_dispatch_request()
[Fri May 04 14:51:25.563905 2018] [:error] [pid 23228]   File "/usr/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
[Fri May 04 14:51:25.563911 2018] [:error] [pid 23228]     rv = self.handle_user_exception(e)
[Fri May 04 14:51:25.563917 2018] [:error] [pid 23228]   File "/usr/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
[Fri May 04 14:51:25.563923 2018] [:error] [pid 23228]     reraise(exc_type, exc_value, tb)
[Fri May 04 14:51:25.563928 2018] [:error] [pid 23228]   File "/usr/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
[Fri May 04 14:51:25.563934 2018] [:error] [pid 23228]     rv = self.dispatch_request()
[Fri May 04 14:51:25.563940 2018] [:error] [pid 23228]   File "/usr/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
[Fri May 04 14:51:25.563953 2018] [:error] [pid 23228]     return self.view_functions[rule.endpoint](**req.view_args)
[Fri May 04 14:51:25.563960 2018] [:error] [pid 23228]   File "/usr/lib/python2.7/site-packages/flask/views.py", line 84, in view
[Fri May 04 14:51:25.563965 2018] [:error] [pid 23228]     return self.dispatch_request(*args, **kwargs)
[Fri May 04 14:51:25.563971 2018] [:error] [pid 23228]   File "/usr/lib/python2.7/site-packages/flask/views.py", line 149, in dispatch_request
[Fri May 04 14:51:25.563977 2018] [:error] [pid 23228]     return meth(*args, **kwargs)
[Fri May 04 14:51:25.563982 2018] [:error] [pid 23228]   File "/usr/lib/python2.7/site-packages/module_build_service/utils/views.py", line 274, in wrapper
[Fri May 04 14:51:25.563988 2018] [:error] [pid 23228]     return func(*args, **kwargs)
[Fri May 04 14:51:25.563994 2018] [:error] [pid 23228]   File "/usr/lib/python2.7/site-packages/module_build_service/views.py", line 171, in post
[Fri May 04 14:51:25.564000 2018] [:error] [pid 23228]     modules = handler.post()
[Fri May 04 14:51:25.564005 2018] [:error] [pid 23228]   File "/usr/lib/python2.7/site-packages/module_build_service/views.py", line 350, in post
[Fri May 04 14:51:25.564011 2018] [:error] [pid 23228]     optional_params=self.optional_params)
[Fri May 04 14:51:25.564017 2018] [:error] [pid 23228]   File "/usr/lib/python2.7/site-packages/module_build_service/utils/submit.py", line 291, in submit_module_build_from_scm
[Fri May 04 14:51:25.564023 2018] [:error] [pid 23228]     return submit_module_build(username, url, mmd, scm, optional_params)
[Fri May 04 14:51:25.564028 2018] [:error] [pid 23228]   File "/usr/lib/python2.7/site-packages/module_build_service/utils/submit.py", line 329, in submit_module_build
[Fri May 04 14:51:25.564034 2018] [:error] [pid 23228]     mmds = generate_expanded_mmds(db.session, mmd, raise_if_stream_ambigous, default_streams)
[Fri May 04 14:51:25.564040 2018] [:error] [pid 23228]   File "/usr/lib/python2.7/site-packages/module_build_service/utils/mse.py", line 302, in generate_expanded_mmds
[Fri May 04 14:51:25.564056 2018] [:error] [pid 23228]     dependencies_id = int(nsvca.split(":")[3])

/cc @jkaluza


hmmm

@mprahl if you could create test -- I could try to fix code.

This issue has been migrated to Fedora Forge:
https://forge.fedoraproject.org/koji/mbs/issues/929

Please continue any further discussion there.

Metadata