Skip to content

Commit 1dca1e0

Browse files
authored
Fix http server not being started on uworker bots (#3999)
Since the startup paths are different, uworker bots are not starting a HTTP server. This might be needed in some cases.
1 parent 12ca1db commit 1dca1e0

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/clusterfuzz/_internal/bot/tasks/utasks/__init__.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
from clusterfuzz._internal.base import task_utils
2525
from clusterfuzz._internal.bot.tasks.utasks import uworker_io
26+
from clusterfuzz._internal.bot.webserver import http_server
2627
from clusterfuzz._internal.metrics import logs
2728
from clusterfuzz._internal.metrics import monitoring_metrics
2829
from clusterfuzz._internal.system import environment
@@ -168,6 +169,17 @@ def _preprocess(utask_module, task_argument, job_type, uworker_env,
168169
return uworker_input
169170

170171

172+
def _start_web_server_if_needed(job_type):
173+
"""Start web server for blackbox fuzzer jobs (non-engine fuzzer jobs)."""
174+
if environment.is_engine_fuzzer_job(job_type):
175+
return
176+
177+
try:
178+
http_server.start()
179+
except Exception:
180+
logs.log_error('Failed to start web server, skipping.')
181+
182+
171183
def tworker_preprocess_no_io(utask_module, task_argument, job_type,
172184
uworker_env):
173185
"""Executes the preprocessing step of the utask |utask_module| and returns the
@@ -262,6 +274,9 @@ def uworker_main(input_download_url) -> None:
262274
set_uworker_env(uworker_input.uworker_env)
263275
uworker_input.uworker_env.clear()
264276

277+
logs.log('Starting HTTP server.')
278+
_start_web_server_if_needed(uworker_input.job_type)
279+
265280
utask_module = get_utask_module(uworker_input.module_name)
266281
recorder.set_task_details(utask_module, uworker_input.job_type,
267282
environment.platform(),

0 commit comments

Comments
 (0)