Skip to content
This repository has been archived by the owner on Oct 31, 2023. It is now read-only.

DockerCPUEnvironment bechmark returns empty output #4395

Closed
jiivan opened this issue Jun 27, 2019 · 0 comments · Fixed by #4401
Closed

DockerCPUEnvironment bechmark returns empty output #4395

jiivan opened this issue Jun 27, 2019 · 0 comments · Fixed by #4401
Assignees
Labels
bug P3 Severity-Low/Effort-hard

Comments

@jiivan
Copy link
Contributor

jiivan commented Jun 27, 2019

Description

Golem Version: 6f09e11 (develop)

Golem-Messages version (leave empty if unsure): 3.9.0

Electron version (if used): not aplicable

OS [e.g. Windows 10 Pro]: Linux

Branch (if launched from source): task_payment_rpc

Mainnet/Testnet: n/a

Priority label is set to the lowest by default. To setup higher priority please change the label
P0 label is set for Severity-Critical/Effort-easy
P1 label is set for Severity-Critical/Effort-hard
P2 label is set for Severity-Low/ Effort-easy
P3 label is set for Severity-Low/Effort-hard

Description of the issue: Runtime is torn down on linux buildbot

A clear and concise description of what went wrong, in which component, when and where.

Actual result:

__init__.py 237 INFO Runtime torn down.

Screenshots:

________________________ TestIntegration.test_benchmark ________________________
self = <tests.golem.envs.docker.cpu.test_integration.TestIntegration testMethod=test_benchmark>
    @inlineCallbacks
    def test_benchmark(self):
        config = DockerCPUConfig(work_dir=Path(tempfile.gettempdir()))
        env = DockerCPUEnvironment(config)
        yield env.prepare()
    
        Whitelist.add(env.BENCHMARK_IMAGE.split('/')[0])
>       score = yield env.run_benchmark()
tests/golem/envs/docker/cpu/test_integration.py:91: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.venv/lib/python3.6/site-packages/twisted/internet/defer.py:1386: in _inlineCallbacks
    result = g.send(result)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
self = <golem.envs.docker.cpu.DockerCPUEnvironment object at 0x7f3dd83ac3c8>
    @inlineCallbacks
    def run_benchmark(self) -> Deferred:
        image, tag = self.BENCHMARK_IMAGE.split(':')
        yield self.install_prerequisites(DockerPrerequisites(
            image=image,
            tag=tag,
        ))
        payload = DockerPayload(
            image=image,
            tag=tag,
            user=None if is_windows() else str(os.getuid()),
            env={},
        )
        runtime = self.runtime(payload)
        yield runtime.prepare()
        yield runtime.start()
        yield runtime.wait_until_stopped()
        # Benchmark is supposed to output a single line containing a float value
        stdout = list(runtime.stdout('utf-8'))
        yield runtime.clean_up()
>       return float(stdout[0])
E       IndexError: list index out of range
golem/envs/docker/cpu.py:537: IndexError

Steps To Reproduce

Go to: https://buildbot.golem.network/buildbot/#/builders/9/builds/12938/steps/7/logs/stdio

Expected behavior

No errors

Logs and any additional context

Possibly related to #4185 or #4372

Proposed Solution?

@jiivan jiivan added bug brass P3 Severity-Low/Effort-hard labels Jun 27, 2019
@Wiezzel Wiezzel changed the title Runtime torn down upon empty stdout DockerCPUEnvironment bechmark returns empty output Jun 27, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug P3 Severity-Low/Effort-hard
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants