# Buggy code
def __init__(
    self,
    model_type=None,
    data=None,
    label=None,
    sample_weight=None,
    init_score=None,
    eval_datas=None,
    eval_labels=None,
    eval_sample_weights=None,
    eval_init_scores=None,
    params=None,
    kwds=None,
    lgbm_endpoints=None,
    lgbm_port=None,
    tree_learner=None,
    timeout=None,
    **kw,
):
    super().__init__(
        _model_type=model_type,
        _params=params,
        _data=data,
        _label=label,
        _sample_weight=sample_weight,
        _init_score=init_score,
        _eval_datas=eval_datas,
        _eval_labels=eval_labels,
        _eval_sample_weights=eval_sample_weights,
        _eval_init_scores=eval_init_scores,
        _kwds=kwds,
        _lgbm_endpoints=lgbm_endpoints,
        _lgbm_port=lgbm_port,
        _tree_learner=tree_learner,
        _timeout=timeout,
        **kw,
    )
    if self.output_types is None:
        self.output_types = [OutputType.object]


# Traceback (lightgbm.basic.LightGBMError)
Traceback (most recent call last):
File "/home/admin/work/_public-mars-0.6.2.zip/mars/promise.py", line 100, in _wrapped
result = func(*args, **kwargs)
File "/home/admin/work/_public-mars-0.6.2.zip/mars/worker/calc.py", line 301, in <lambda>
.then(lambda context_dict: _start_calc(context_dict)) \
File "/home/admin/work/_public-mars-0.6.2.zip/mars/worker/calc.py", line 276, in _start_calc
return self._calc_results(session_id, graph_key, graph, context_dict, chunk_targets)
File "/home/admin/work/_public-mars-0.6.2.zip/mars/utils.py", line 377, in _wrapped
return func(*args, **kwargs)
File "/home/admin/work/_public-mars-0.6.2.zip/mars/worker/calc.py", line 200, in _calc_results
chunk_targets, retval=False).result()
File "src/gevent/event.py", line 383, in gevent._gevent_cevent.AsyncResult.result
File "src/gevent/event.py", line 305, in gevent._gevent_cevent.AsyncResult.get
File "src/gevent/event.py", line 335, in gevent._gevent_cevent.AsyncResult.get
File "src/gevent/event.py", line 323, in gevent._gevent_cevent.AsyncResult.get
File "src/gevent/event.py", line 303, in gevent._gevent_cevent.AsyncResult._raise_exception
File "/opt/conda/lib/python3.7/site-packages/gevent/_compat.py", line 65, in reraise
raise value.with_traceback(tb)
File "/opt/conda/lib/python3.7/site-packages/gevent/threadpool.py", line 142, in __run_task
thread_result.set(func(*args, **kwargs))
File "mars/actors/pool/gevent_pool.pyx", line 127, in mars.actors.pool.gevent_pool.GeventThreadPool._wrap_watch.inner
result = fn(*args, **kwargs)
File "/home/admin/work/_public-mars-0.6.2.zip/mars/executor.py", line 698, in execute_graph
res = graph_execution.execute(retval)
File "/home/admin/work/_public-mars-0.6.2.zip/mars/executor.py", line 579, in execute
future.result()
File "/opt/conda/lib/python3.7/concurrent/futures/_base.py", line 435, in result
return self.__get_result()
File "/opt/conda/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result
raise self._exception
File "/opt/conda/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/home/admin/work/_public-mars-0.6.2.zip/mars/utils.py", line 451, in _inner
return func(*args, **kwargs)
File "/home/admin/work/_public-mars-0.6.2.zip/mars/executor.py", line 446, in _execute_operand
self.handle_op(first_op, results, self._mock)
File "/home/admin/work/_public-mars-0.6.2.zip/mars/executor.py", line 378, in handle_op
return Executor.handle(*args, **kw)
File "/home/admin/work/_public-mars-0.6.2.zip/mars/executor.py", line 649, in handle
return runner(results, op)
File "/home/admin/work/_public-mars-0.6.2.zip/mars/learn/contrib/lightgbm/_train.py", line 304, in execute
eval_init_score=eval_init_score, **op.kwds)
File "/opt/conda/lib/python3.7/site-packages/lightgbm/sklearn.py", line 800, in fit
callbacks=callbacks)
File "/opt/conda/lib/python3.7/site-packages/lightgbm/sklearn.py", line 595, in fit
callbacks=callbacks)
File "/opt/conda/lib/python3.7/site-packages/lightgbm/engine.py", line 228, in train
booster = Booster(params=params, train_set=train_set)
File "/opt/conda/lib/python3.7/site-packages/lightgbm/basic.py", line 1659, in __init__
num_machines=params.get("num_machines", num_machines))
File "/opt/conda/lib/python3.7/site-packages/lightgbm/basic.py", line 1790, in set_network
ctypes.c_int(num_machines)))
File "/opt/conda/lib/python3.7/site-packages/lightgbm/basic.py", line 47, in _safe_call
raise LightGBMError(decode_string(_LIB.LGBM_GetLastError()))
lightgbm.basic.LightGBMError: Binding port 43458 failed

# Fixed code
def __init__(
    self,
    model_type=None,
    data=None,
    label=None,
    sample_weight=None,
    init_score=None,
    eval_datas=None,
    eval_labels=None,
    eval_sample_weights=None,
    eval_init_scores=None,
    params=None,
    kwds=None,
    workers=None,
    worker_id=None,
    worker_ports=None,
    tree_learner=None,
    timeout=None,
    **kw,
):
    super().__init__(
        _model_type=model_type,
        _params=params,
        _data=data,
        _label=label,
        _sample_weight=sample_weight,
        _init_score=init_score,
        _eval_datas=eval_datas,
        _eval_labels=eval_labels,
        _eval_sample_weights=eval_sample_weights,
        _eval_init_scores=eval_init_scores,
        _kwds=kwds,
        _workers=workers,
        _worker_id=worker_id,
        _worker_ports=worker_ports,
        _tree_learner=tree_learner,
        _timeout=timeout,
        **kw,
    )
    if self.output_types is None:
        self.output_types = [OutputType.object]