66% process CPU - WARNING:waitress.queue:Task queue depth is 4

Emhass-add-om 0.2.5
Iterates and gets stuck with:
WARNING:waitress.queue:Task queue depth is 4
With ever increasing depths.
INFO:web_server:Perform optimization for the day-ahead
[2022-05-14 12:18:07,721] WARNING in optimization: Failed LP solve with PULP_CBC_CMD solver, falling back to default Pulp
WARNING:web_server:Failed LP solve with PULP_CBC_CMD solver, falling back to default Pulp
[2022-05-14 12:18:07,764] WARNING in optimization: Failed LP solve with default Pulp solver, falling back to GLPK_CMD
WARNING:web_server:Failed LP solve with default Pulp solver, falling back to GLPK_CMD
WARNING:waitress.queue:Task queue depth is 1
WARNING:waitress.queue:Task queue depth is 2
WARNING:waitress.queue:Task queue depth is 3
WARNING:waitress.queue:Task queue depth is 4
WARNING:waitress.queue:Task queue depth is 5
WARNING:waitress.queue:Task queue depth is 6
WARNING:waitress.queue:Task queue depth is 7
WARNING:waitress.queue:Task queue depth is 8
WARNING:waitress.queue:Task queue depth is 9

This is related to the other open issue. It is just that flask can't find my template html. This works perfectly fine as it is when I run the new stand-alone docker for the core emhass module. I will find a solution to this when I have access to my dev env tomorrow.

Hi. I just tested the add-on in v0.2.7. It is much better now. There is still a small problem with the webui buttons and the CSS style not found but the optimizations are functional now. I'll patch those issues later.

Working for me here. Thanks.

Seems the CPU/ waitress issue is still with us.

WARNING:waitress.queue:Task queue depth is 55
WARNING:waitress.queue:Task queue depth is 56
WARNING:waitress.queue:Task queue depth is 57
[2022-05-22 04:50:17,455] INFO in optimization: Status: Optimal
[2022-05-22 04:50:17,456] INFO in optimization: Total value of the Cost function = -12.39
[2022-05-22 04:50:18,336] INFO in command_line: Setting up needed data
[2022-05-22 04:50:18,347] INFO in web_server:  >> Publishing data...
[2022-05-22 04:50:18,349] INFO in command_line: Publishing data to HASS instance
[2022-05-22 04:50:18,414] INFO in retrieve_hass: Successfully posted to sensor.p_pv_forecast = -5.0
[2022-05-22 04:50:18,464] INFO in retrieve_hass: Successfully posted to sensor.p_load_forecast = 306.0
[2022-05-22 04:50:18,502] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable0 = 0.0
[2022-05-22 04:50:18,539] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable1 = 0.0
[2022-05-22 04:50:18,599] INFO in retrieve_hass: Successfully posted to sensor.p_batt_forecast = 0.0
[2022-05-22 04:50:18,615] INFO in command_line: Setting up needed data
[2022-05-22 04:50:18,624] INFO in forecast: Retrieving weather forecast data using method = scrapper
[2022-05-22 04:50:22,736] INFO in forecast: Retrieving data from hass for load forecast using method = naive
[2022-05-22 04:50:22,738] INFO in retrieve_hass: Retrieve hass get data method initiated...
[2022-05-22 04:50:26,086] INFO in web_server:  >> Performing naive MPC optimization...
[2022-05-22 04:50:26,086] INFO in command_line: Performing naive MPC optimization
[2022-05-22 04:50:26,145] INFO in optimization: Perform an iteration of a naive MPC controller
[2022-05-22 04:50:26,364] WARNING in optimization: Failed LP solve with PULP_CBC_CMD solver, falling back to default Pulp
[2022-05-22 04:50:26,427] WARNING in optimization: Failed LP solve with default Pulp solver, falling back to GLPK_CMD
WARNING:waitress.queue:Task queue depth is 56
WARNING:waitress.queue:Task queue depth is 57
[2022-05-22 04:55:16,528] INFO in optimization: Status: Optimal
[2022-05-22 04:55:16,529] INFO in optimization: Total value of the Cost function = -12.53
[2022-05-22 04:55:17,164] INFO in command_line: Setting up needed data
[2022-05-22 04:55:17,175] INFO in web_server:  >> Publishing data...
[2022-05-22 04:55:17,177] INFO in command_line: Publishing data to HASS instance
[2022-05-22 04:55:17,245] INFO in retrieve_hass: Successfully posted to sensor.p_pv_forecast = -5.0
[2022-05-22 04:55:17,290] INFO in retrieve_hass: Successfully posted to sensor.p_load_forecast = 306.0
[2022-05-22 04:55:17,328] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable0 = 0.0
[2022-05-22 04:55:17,366] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable1 = 0.0
[2022-05-22 04:55:17,413] INFO in retrieve_hass: Successfully posted to sensor.p_batt_forecast = 0.0
[2022-05-22 04:55:17,436] INFO in command_line: Setting up needed data
[2022-05-22 04:55:17,446] INFO in forecast: Retrieving weather forecast data using method = scrapper
[2022-05-22 04:55:21,479] INFO in forecast: Retrieving data from hass for load forecast using method = naive
[2022-05-22 04:55:21,481] INFO in retrieve_hass: Retrieve hass get data method initiated...
[2022-05-22 04:55:25,688] INFO in web_server:  >> Performing naive MPC optimization...
[2022-05-22 04:55:25,689] INFO in command_line: Performing naive MPC optimization
[2022-05-22 04:55:25,742] INFO in optimization: Perform an iteration of a naive MPC controller
[2022-05-22 04:55:25,960] WARNING in optimization: Failed LP solve with PULP_CBC_CMD solver, falling back to default Pulp
[2022-05-22 04:55:26,027] WARNING in optimization: Failed LP solve with default Pulp solver, falling back to GLPK_CMD
WARNING:waitress.queue:Task queue depth is 56
WARNING:waitress.queue:Task queue depth is 57
WARNING:waitress.queue:Task queue depth is 58
WARNING:waitress.queue:Task queue depth is 59
WARNING:waitress.queue:Task queue depth is 60
WARNING:waitress.queue:Task queue depth is 61
WARNING:waitress.queue:Task queue depth is 62
WARNING:waitress.queue:Task queue depth is 63
WARNING:waitress.queue:Task queue depth is 64
WARNING:waitress.queue:Task queue depth is 65
WARNING:waitress.queue:Task queue depth is 66
WARNING:waitress.queue:Task queue depth is 67
WARNING:waitress.queue:Task queue depth is 68
WARNING:waitress.queue:Task queue depth is 69
WARNING:waitress.queue:Task queue depth is 70
WARNING:waitress.queue:Task queue depth is 71
WARNING:waitress.queue:Task queue depth is 72
WARNING:waitress.queue:Task queue depth is 73
WARNING:waitress.queue:Task queue depth is 74
WARNING:waitress.queue:Task queue depth is 75
WARNING:waitress.queue:Task queue depth is 76
WARNING:waitress.queue:Task queue depth is 77
[2022-05-22 05:52:21,517] INFO in optimization: Status: Optimal
[2022-05-22 05:52:21,518] INFO in optimization: Total value of the Cost function = -12.43
[2022-05-22 05:52:22,151] INFO in command_line: Setting up needed data
[2022-05-22 05:52:22,161] INFO in web_server:  >> Publishing data...
[2022-05-22 05:52:22,162] INFO in command_line: Publishing data to HASS instance
[2022-05-22 05:52:22,252] INFO in retrieve_hass: Successfully posted to sensor.p_pv_forecast = -5.0
[2022-05-22 05:52:22,308] INFO in retrieve_hass: Successfully posted to sensor.p_load_forecast = 360.0
[2022-05-22 05:52:22,345] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable0 = 0.0
[2022-05-22 05:52:22,379] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable1 = 0.0
[2022-05-22 05:52:22,428] INFO in retrieve_hass: Successfully posted to sensor.p_batt_forecast = 0.0
[2022-05-22 05:52:22,448] INFO in command_line: Setting up needed data
[2022-05-22 05:52:22,458] INFO in forecast: Retrieving weather forecast data using method = scrapper
[2022-05-22 05:52:27,017] INFO in forecast: Retrieving data from hass for load forecast using method = naive
[2022-05-22 05:52:27,020] INFO in retrieve_hass: Retrieve hass get data method initiated...
[2022-05-22 05:52:30,009] INFO in web_server:  >> Performing naive MPC optimization...
[2022-05-22 05:52:30,010] INFO in command_line: Performing naive MPC optimization
[2022-05-22 05:52:30,060] INFO in optimization: Perform an iteration of a naive MPC controller
[2022-05-22 05:52:30,278] WARNING in optimization: Failed LP solve with PULP_CBC_CMD solver, falling back to default Pulp
[2022-05-22 05:52:30,359] WARNING in optimization: Failed LP solve with default Pulp solver, falling back to GLPK_CMD
WARNING:waitress.queue:Task queue depth is 76
WARNING:waitress.queue:Task queue depth is 77
WARNING:waitress.queue:Task queue depth is 78
WARNING:waitress.queue:Task queue depth is 79
WARNING:waitress.queue:Task queue depth is 80
WARNING:waitress.queue:Task queue depth is 81
WARNING:waitress.queue:Task queue depth is 82
WARNING:waitress.queue:Task queue depth is 83
WARNING:waitress.queue:Task queue depth is 84
WARNING:waitress.queue:Task queue depth is 85
WARNING:waitress.queue:Task queue depth is 86
WARNING:waitress.queue:Task queue depth is 87
WARNING:waitress.queue:Task queue depth is 88
WARNING:waitress.queue:Task queue depth is 89
WARNING:waitress.queue:Task queue depth is 90
WARNING:waitress.queue:Task queue depth is 91

It is possible to tune the numbers of threads used by waitress. I could add this option to see if its better for you. But I'm not experiencing this issue at all so it is maybe related to the size of your LP problem. Two possible solutions, try reducing the prediction horizon to hence reduce the size of the LP formulation or try calling the optimization at a lower frequency, say 10min to seeof the problem persists.

Another option in your specific case is the falling back to the GLPK solver. This is also maybe the root of the issue. You can go ahead and try to solve this.
While the add-on is running you can search for the container name using docker ps -a then you can go inside the docker container using:
docker exec -it <container-name> /bin/bash

Once inside the container open Python with python3 and import pulp with import pulp as plp, then launch the pulp tests to see what messages it is throwing and what solvers are available for you:
plp.pulpTestAll()

From we can try to find a solution to why pulp is not loading the default solver in your machine.

Otherwise, I've just released a new version v0.2.14 where I added a new threads parameter to change defaults value of threads used by waitress. It seems that this could help improve these kind of issues.

Walking back to 24 time slots has made things more stable, but the 12 hours misses to full solar production cycle so it tries to schedule loads overnight, when it would be better to wait for solar the next day.
I also found this report: https://github.com/coin-or/pulp/issues/433, so it looks like the cbc is not compiled for arm within the docker ;-(
pulpTestAll() inside my Ubuntu OS completes using pulp.solvers.COIN_CMD, so it is possible to get this working:
mark@odroid:~$ python3
Python 3.8.10 (default, Mar 15 2022, 12:22:08)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pulp as plp
>>> plp.pulpTestAll()
Solver <class 'pulp.solvers.PULP_CBC_CMD'> unavailable
Solver <class 'pulp.solvers.CPLEX_DLL'> unavailable
Solver <class 'pulp.solvers.CPLEX_CMD'> unavailable
Solver <class 'pulp.solvers.CPLEX_PY'> unavailable
         Testing zero subtraction
         Testing inconsistant lp solution
         Testing continuous LP solution
         Testing maximize continuous LP solution
         Testing unbounded continuous LP solution
         Testing Long Names
         Testing repeated Names
         Testing zero constraint
         Testing zero objective
         Testing LpVariable (not LpAffineExpression) objective
         Testing Long lines in LP
         Testing LpAffineExpression divide
         Testing MIP solution
         Testing MIP solution with floats in objective
         Testing MIP relaxation
         Testing feasibility problem (no objective)
         Testing an infeasible problem
         Testing an integer infeasible problem
         Testing column based modelling
         Testing fractional constraints
         Testing elastic constraints (no change)
         Testing elastic constraints (freebound)
         Testing elastic constraints (penalty unchanged)
         Testing elastic constraints (penalty unbounded)
* Solver <class 'pulp.solvers.COIN_CMD'> passed.
Solver <class 'pulp.solvers.COINMP_DLL'> unavailable
Solver <class 'pulp.solvers.GLPK_CMD'> unavailable
Solver <class 'pulp.solvers.XPRESS'> unavailable
Solver <class 'pulp.solvers.GUROBI'> unavailable
Solver <class 'pulp.solvers.GUROBI_CMD'> unavailable
Solver <class 'pulp.solvers.PYGLPK'> unavailable
Solver <class 'pulp.solvers.YAPOSIB'> unavailable
>>>

Inside the docker image it fails:
root@odroid:/home/mark# docker exec -it addon_5b918bf2_emhass /bin/bash
root@5b918bf2-emhass:/# python3
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> E        Testing elastic constraints (penalty unbounded)
KeyboardInterrupt
>>> import pulp as plp
>>> plp.pulpTestAll()
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss         Test that logic put in place for deprecation handling of indexs works
.        Testing 'indexs' param continues to work for LpVariable.dicts
         Testing 'indexs' param continues to work for LpVariable.matrix
.        Testing 'indices' argument works in LpVariable.dicts
         Testing 'indices' param continues to work for LpVariable.matrix
.        Testing invalid status
.        Testing continuous LP solution - export dict
.        Testing export dict for LP
.        Testing export dict MIP
.        Testing maximize continuous LP solution
.        Testing continuous LP solution - export JSON
.        Testing continuous LP solution - export solver dict
.        Testing continuous LP solution - export solver JSON
..       Testing reading MPS files - binary variable, no constraint names
.        Testing reading MPS files - integer variable
.        Testing reading MPS files - maximize
..       Testing invalid var names
.        Testing logPath argument
.        Testing makeDict general behavior
.        Testing makeDict default value behavior
.        Testing measuring optimization time
.        Testing the availability of the function pulpTestAll
.        Testing zero subtraction
.        Testing inconsistent lp solution
.        Testing continuous LP solution
.        Testing maximize continuous LP solution
.        Testing unbounded continuous LP solution
.        Testing Long Names
.        Testing repeated Names
.        Testing zero constraint
.        Testing zero objective
.        Testing LpVariable (not LpAffineExpression) objective
.        Testing Long lines in LP
.        Testing LpAffineExpression divide
.        Testing MIP solution
.        Testing MIP solution with floats in objective
.        Testing Initial value in MIP solution
.        Testing fixing value in MIP solution
.        Testing MIP relaxation
.        Testing feasibility problem (no objective)
.        Testing an infeasible problem
.        Testing an integer infeasible problem
.        Testing another integer infeasible problem
.        Testing column based modelling
.....    Testing fractional constraints
.        Testing elastic constraints (no change)
.        Testing elastic constraints (freebound)
.        Testing elastic constraints (penalty unchanged)
.        Testing elastic constraints (penalty unbounded)
.        Testing timeLimit argument
...ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss      Test that logic put in place for deprecation handling of indexs works
.        Testing 'indexs' param continues to work for LpVariable.dicts
         Testing 'indexs' param continues to work for LpVariable.matrix
.        Testing 'indices' argument works in LpVariable.dicts
         Testing 'indices' param continues to work for LpVariable.matrix
.        Testing invalid status
.        Testing continuous LP solution - export dict
.        Testing export dict for LP
.        Testing export dict MIP
.        Testing maximize continuous LP solution
.        Testing continuous LP solution - export JSON
.        Testing continuous LP solution - export solver dict
.        Testing continuous LP solution - export solver JSON
..       Testing reading MPS files - binary variable, no constraint names
.        Testing reading MPS files - integer variable
.        Testing reading MPS files - maximize
..       Testing invalid var names
..       Testing makeDict general behavior
.        Testing makeDict default value behavior
.        Testing measuring optimization time
.        Testing the availability of the function pulpTestAll
.        Testing zero subtraction
.        Testing inconsistent lp solution
.        Testing continuous LP solution
.        Testing maximize continuous LP solution
.        Testing unbounded continuous LP solution
.        Testing Long Names
.        Testing repeated Names
.        Testing zero constraint
.        Testing zero objective
.        Testing LpVariable (not LpAffineExpression) objective
..       Testing LpAffineExpression divide
.        Testing MIP solution
.        Testing MIP solution with floats in objective
.        Testing Initial value in MIP solution
.        Testing fixing value in MIP solution
.        Testing MIP relaxation
.        Testing feasibility problem (no objective)
.        Testing an infeasible problem
.        Testing an integer infeasible problem
.        Testing another integer infeasible problem
.        Testing column based modelling
.....    Testing fractional constraints
.        Testing elastic constraints (no change)
.        Testing elastic constraints (freebound)
.        Testing elastic constraints (penalty unchanged)
.        Testing elastic constraints (penalty unbounded)
.        Testing timeLimit argument
...ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss      Test that logic put in place for deprecation handling of indexs works
.        Testing 'indexs' param continues to work for LpVariable.dicts
         Testing 'indexs' param continues to work for LpVariable.matrix
.        Testing 'indices' argument works in LpVariable.dicts
         Testing 'indices' param continues to work for LpVariable.matrix
.        Testing invalid status
.        Testing continuous LP solution - export dict
E        Testing export dict for LP
E        Testing export dict MIP
E        Testing maximize continuous LP solution
E        Testing continuous LP solution - export JSON
E        Testing continuous LP solution - export solver dict
E        Testing continuous LP solution - export solver JSON
E.       Testing reading MPS files - binary variable, no constraint names
.        Testing reading MPS files - integer variable
.        Testing reading MPS files - maximize
.E       Testing invalid var names
E        Testing logPath argument
E        Testing makeDict general behavior
.        Testing makeDict default value behavior
.        Testing measuring optimization time
E        Testing the availability of the function pulpTestAll
.        Testing zero subtraction
.        Testing inconsistent lp solution
E        Testing continuous LP solution
E        Testing maximize continuous LP solution
E        Testing unbounded continuous LP solution
E        Testing Long Names
E        Testing repeated Names
E        Testing zero constraint
E        Testing zero objective
E        Testing LpVariable (not LpAffineExpression) objective
E        Testing Long lines in LP
E        Testing LpAffineExpression divide
E        Testing MIP solution
E        Testing MIP solution with floats in objective
E        Testing Initial value in MIP solution
E        Testing fixing value in MIP solution
E        Testing MIP relaxation
E        Testing feasibility problem (no objective)
E        Testing an infeasible problem
E        Testing an integer infeasible problem
E        Testing another integer infeasible problem
E        Testing column based modelling
E.       Testing dual variables and slacks reporting
EE.      Testing fractional constraints
E        Testing elastic constraints (no change)
E        Testing elastic constraints (freebound)
E        Testing elastic constraints (penalty unchanged)
E        Testing elastic constraints (penalty unbounded)
E        Testing timeLimit argument
E.Essssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
======================================================================
ERROR: test_export_dict_LP (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 784, in test_export_dict_LP
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_export_dict_LP_no_obj (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 802, in test_export_dict_LP_no_obj
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_export_dict_MIP (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 847, in test_export_dict_MIP
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_export_dict_max (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 868, in test_export_dict_max
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_export_json_LP (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 827, in test_export_json_LP
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_export_solver_dict_LP (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 886, in test_export_solver_dict_LP
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_export_solver_json (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 926, in test_export_solver_json
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_infeasible_problem__is_not_valid (pulp.tests.test_pulp.PULP_CBC_CMDTest)
Given a problem where x cannot converge to any value
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1131, in test_infeasible_problem__is_not_valid
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_invalid_var_names (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1186, in test_invalid_var_names
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_logPath (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 983, in test_logPath
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_measuring_solving_time (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1159, in test_measuring_solving_time
    prob.solve(self.solver)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_009 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 69, in test_pulp_009
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_010 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 103, in test_pulp_010
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_011 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 120, in test_pulp_011
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_012 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 159, in test_pulp_012
    pulpTestCheck(prob, self.solver, [const.LpStatusUnbounded])
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_013 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 192, in test_pulp_013
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_014 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 226, in test_pulp_014
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_015 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 257, in test_pulp_015
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_016 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 274, in test_pulp_016
    pulpTestCheck(prob, self.solver, [const.LpStatusOptimal])
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_017 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 290, in test_pulp_017
    pulpTestCheck(prob, self.solver, [const.LpStatusOptimal])
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_018 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 306, in test_pulp_018
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_019 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 327, in test_pulp_019
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_020 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 342, in test_pulp_020
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_021 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 357, in test_pulp_021
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_022 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 381, in test_pulp_022
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_023 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 401, in test_pulp_023
    pulpTestCheck(prob, self.solver, [const.LpStatusOptimal], solution)
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_030 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 426, in test_pulp_030
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_040 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 440, in test_pulp_040
    pulpTestCheck(prob, self.solver, [const.LpStatusOptimal])
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_050 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 459, in test_pulp_050
    pulpTestCheck(prob, self.solver, [const.LpStatusInfeasible])
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_060 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 473, in test_pulp_060
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_061 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 510, in test_pulp_061
    pulpTestCheck(prob, self.solver, [const.LpStatusInfeasible])
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_070 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 530, in test_pulp_070
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_080 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
Test the reporting of dual variables slacks and reduced costs
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 587, in test_pulp_080
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_090 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 614, in test_pulp_090
    prob.resolve()
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1984, in resolve
    return self.solve(solver=solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_110 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
Test the ability to use fractional constraints
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 664, in test_pulp_110
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_120 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
Test the ability to use Elastic constraints
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 686, in test_pulp_120
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_121 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
Test the ability to use Elastic constraints
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 705, in test_pulp_121
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_122 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
Test the ability to use Elastic constraints (penalty unchanged)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 724, in test_pulp_122
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_pulp_123 (pulp.tests.test_pulp.PULP_CBC_CMDTest)
Test the ability to use Elastic constraints (penalty unbounded)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 760, in test_pulp_123
    pulpTestCheck(prob, self.solver, [const.LpStatusUnbounded])
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_timeLimit (pulp.tests.test_pulp.PULP_CBC_CMDTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 946, in test_timeLimit
    pulpTestCheck(
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

======================================================================
ERROR: test_unset_objective_value__is_valid (pulp.tests.test_pulp.PULP_CBC_CMDTest)
Given a valid problem that does not converge,
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1097, in test_unset_objective_value__is_valid
    pulpTestCheck(prob, self.solver, [const.LpStatusOptimal])
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/test_pulp.py", line 1358, in pulpTestCheck
    status = prob.solve(solver, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 194, in solve_CBC
    cbc = subprocess.Popen(args, stdout=pipe, stderr=pipe, stdin=devnull)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/lib/python3.9/dist-packages/pulp/apis/../solverdir/cbc/linux/64/cbc'

----------------------------------------------------------------------
Ran 840 tests in 16.920s

FAILED (errors=41, skipped=672)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.9/dist-packages/pulp/tests/run_tests.py", line 12, in pulpTestAll
    raise pulp.PulpError("Tests Failed")
pulp.constants.PulpError: Tests Failed
>>>

We also had a discussion about this here: coin-or/pulp#102

Walking back to 24 time slots has made things more stable, but the 12 hours misses to full solar production cycle so it tries to schedule loads overnight, when it would be better to wait for solar the next day.

This exactly why I implemented the MPC with the option to provide the remaining hours to meet for your deferrable loads. This is why I was saying somewhere else that these values should be variables and not fixed. If you provide zero remaining hours then no load will be scheduled after the optimization.

Maybe you can try to see if the CBC solver can be installed. It should as it is already on the Dockerfile. Do:
apt-get install -y --no-install-recommends coinor-cbc

Looks like the coinor-cbc package is installed in the docker and provides an ARM aarch64 binary, /usr/bin/cbc, which does run.
Looks like the /usr/local/lib python packages are providing x68=64 & 80386 binaries which do not run on my arm architecture.
Thus this issue is the pulp python library is pulling in the wrong binaries, so needs to be fixed upstream.
As a workaround are we able to specify that on arm emhass should use the valid /usr/bin/cbc executable?
root@5b918bf2-emhass:/# dpkg -L coinor-cbc
/.
/usr
/usr/bin
/usr/bin/cbc
/usr/share
/usr/share/doc
/usr/share/doc/coinor-cbc
/usr/share/doc/coinor-cbc/changelog.Debian.gz
/usr/share/doc/coinor-cbc/copyright
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/cbc.1.gz
root@5b918bf2-emhass:/# file /usr/bin/cbc
/usr/bin/cbc: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=fce9754155613dbc2aac30e52ff5c333b04cf3e7, for GNU/Linux 3.7.0, stripped
root@5b918bf2-emhass:/#
root@5b918bf2-emhass:/# file /usr/local/lib/python3.9/dist-packages/pulp/solverdir/cbc/linux/64/cbc
/usr/local/lib/python3.9/dist-packages/pulp/solverdir/cbc/linux/64/cbc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.9, BuildID[sha1]=9e8eafbf26da3f7a1cecac1a24a976274fb04516, not stripped
root@5b918bf2-emhass:/# file /usr/local/lib/python3.9/dist-packages/pulp/solverdir/cbc/linux/32/cbc
/usr/local/lib/python3.9/dist-packages/pulp/solverdir/cbc/linux/32/cbc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.9, BuildID[sha1]=dc5438ae3ebec28b55aa2053ef943cda426fd15e, not stripped
root@5b918bf2-emhass:/# /usr/bin/cbc
Welcome to the CBC MILP Solver
Version: 2.10.5
Build Date: Oct 15 2020

CoinSolver takes input from arguments ( - switches to stdin)
Enter ? for list of commands or help
Coin:Total time (CPU seconds):       0.00   (Wallclock seconds):       1.83

root@5b918bf2-emhass:/# /usr/local/lib/python3.9/dist-packages/pulp/solverdir/cbc/linux/64/cbc
bash: /usr/local/lib/python3.9/dist-packages/pulp/solverdir/cbc/linux/64/cbc: cannot execute binary file: Exec format error
root@5b918bf2-emhass:/#

Ok, could you please check inside the emhass docker and in a python3 console what are your available solvers ?
import pulp as plp
solver_list = plp.listSolvers()

Also in this same console test if the following works:
from pulp import PULP_CBC_CMD
model = plp.LpProblem("Example", pl.LpMinimize)
path_to_solver = '/usr/bin/cbc'
solver = PULP_CBC_CMD(path=path_to_solver)
_var = pl.LpVariable('a')
_var2 = pl.LpVariable('a2')
model += _var + _var2 == 1
result = model.solve(solver)

Depending on these test we will add either the option to provide the solver name or just the solver path as an input parameter.

Depending on these test we will add either the option to provide the solver name or just the solver path as an input parameter.

Not sure how helpful this output is:
root@odroid:/home/mark# docker exec -it addon_5b918bf2_emhass /bin/bash
root@5b918bf2-emhass:/# python3
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pulp as plp
>>> solver_list = plp.listSolvers()
>>>
>>> from pulp import PULP_CBC_CMD
>>> model = plp.LpProblem("Example", pl.LpMinimize)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'pl' is not defined
>>> path_to_solver = '/usr/bin/cbc'
>>> solver = PULP_CBC_CMD(path=path_to_solver)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.9/dist-packages/pulp/apis/coin_api.py", line 385, in __init__
    raise PulpSolverError("Use COIN_CMD if you want to set a path")
pulp.apis.core.PulpSolverError: Use COIN_CMD if you want to set a path
>>> _var = pl.LpVariable('a')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'pl' is not defined
>>> _var2 = pl.LpVariable('a2')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'pl' is not defined
>>> model += _var + _var2 == 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'model' is not defined
>>> result = model.solve(solver)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'model' is not defined
>>>

I was able to get success using the following:
>>> path_to_cbc = r'/usr/bin/cbc'
>>> import pulp as pl
>>> model = pl.LpProblem("Example", pl.LpMinimize)
>>> solver = pl.COIN_CMD(path=path_to_cbc)
>>> _var = pl.LpVariable('a')
>>> _var2 = pl.LpVariable('a2')
>>> model += _var + _var2 == 1
>>> result = model.solve(solver)
Welcome to the CBC MILP Solver
Version: 2.10.5
Build Date: Oct 15 2020

command line - /usr/bin/cbc /tmp/ade0097a6851468f83f20b596a093a0e-pulp.mps timeMode elapsed branch printingOptions all solution /tmp/ade0097a6851468f83f20b596a093a0e-pulp.sol (default strategy 1)
At line 2 NAME          MODEL
At line 3 ROWS
At line 6 COLUMNS
At line 10 RHS
At line 12 BOUNDS
At line 16 ENDATA
Problem MODEL has 1 rows, 3 columns and 2 elements
Coin0008I MODEL read with 0 errors
Option for timeMode changed from cpu to elapsed
Presolve 0 (-1) rows, 0 (-3) columns and 0 (-2) elements
Empty problem - 0 rows, 0 columns and 0 elements
Optimal - objective value 0
After Postsolve, objective 0, infeasibilities - dual 0 (0), primal 0 (0)
Optimal objective 0 - 0 iterations time 0.002, Presolve 0.00
Option for printingOptions changed from normal to all
Total time (CPU seconds):       0.00   (Wallclock seconds):       0.00

Alright then, in the next version I'll add the option to pass the solver name and the path. From what I could read the coin cbc solver is more robust and efficient than glpk.

Hi, in the new v0.2.15 you can now provide the solver name and eventually the path. The path is mandatory when using 'COIN_CMD'. You can try that to see if this solve this issue. The default value for the solver name is 'PULP_CBC_CMD' so you will need to change that to 'COIN_CMD' along with the correct path '/usr/bin/cbc'

Thanks for your flexibility in making this change.
Passing the solver name and path seems to be quite solid.
I have been using my local /usr/bin/cbc for past 48 hours and seems solid.
[2022-06-01 15:10:00,082] INFO in command_line: Setting up needed data
[2022-06-01 15:10:00,087] INFO in forecast: Retrieving weather forecast data using method = scrapper
[2022-06-01 15:10:04,152] INFO in forecast: Retrieving data from hass for load forecast using method = naive
[2022-06-01 15:10:04,153] INFO in retrieve_hass: Retrieve hass get data method initiated...
[2022-06-01 15:10:06,902] INFO in web_server:  >> Performing naive MPC optimization...
[2022-06-01 15:10:06,902] INFO in command_line: Performing naive MPC optimization
[2022-06-01 15:10:06,924] INFO in optimization: Perform an iteration of a naive MPC controller
[2022-06-01 15:10:07,322] INFO in optimization: Status: Optimal
[2022-06-01 15:10:07,323] INFO in optimization: Total value of the Cost function = 75.76
[2022-06-01 15:10:07,984] INFO in command_line: Setting up needed data
[2022-06-01 15:10:07,988] INFO in web_server:  >> Publishing data...
[2022-06-01 15:10:07,989] INFO in command_line: Publishing data to HASS instance
[2022-06-01 15:10:08,036] INFO in retrieve_hass: Successfully posted to sensor.p_pv_forecast = 2162.66
[2022-06-01 15:10:08,082] INFO in retrieve_hass: Successfully posted to sensor.p_load_forecast = 1425.9
[2022-06-01 15:10:08,122] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable0 = 1500.0
[2022-06-01 15:10:08,158] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable1 = 5500.0
[2022-06-01 15:10:08,215] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable2 = 11500.0
[2022-06-01 15:10:08,263] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable3 = 2400.0
[2022-06-01 15:10:08,309] INFO in retrieve_hass: Successfully posted to sensor.p_batt_forecast = 0.0
[2022-06-01 15:10:08,346] INFO in retrieve_hass: Successfully posted to sensor.soc_batt_forecast = 100.0
[2022-06-01 15:11:00,079] INFO in command_line: Setting up needed data
[2022-06-01 15:11:00,084] INFO in forecast: Retrieving weather forecast data using method = scrapper
[2022-06-01 15:11:03,670] INFO in forecast: Retrieving data from hass for load forecast using method = naive
[2022-06-01 15:11:03,672] INFO in retrieve_hass: Retrieve hass get data method initiated...
[2022-06-01 15:11:06,245] INFO in web_server:  >> Performing naive MPC optimization...
[2022-06-01 15:11:06,245] INFO in command_line: Performing naive MPC optimization
[2022-06-01 15:11:06,267] INFO in optimization: Perform an iteration of a naive MPC controller
[2022-06-01 15:11:06,629] INFO in optimization: Status: Optimal
[2022-06-01 15:11:06,629] INFO in optimization: Total value of the Cost function = 75.76
[2022-06-01 15:11:07,264] INFO in command_line: Setting up needed data
[2022-06-01 15:11:07,269] INFO in web_server:  >> Publishing data...
[2022-06-01 15:11:07,269] INFO in command_line: Publishing data to HASS instance
[2022-06-01 15:11:07,304] INFO in retrieve_hass: Successfully posted to sensor.p_pv_forecast = 2162.66
[2022-06-01 15:11:07,338] INFO in retrieve_hass: Successfully posted to sensor.p_load_forecast = 1425.9
[2022-06-01 15:11:07,374] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable0 = 1500.0
[2022-06-01 15:11:07,424] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable1 = 5500.0
[2022-06-01 15:11:07,472] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable2 = 11500.0
[2022-06-01 15:11:07,526] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable3 = 2400.0
[2022-06-01 15:11:07,575] INFO in retrieve_hass: Successfully posted to sensor.p_batt_forecast = 0.0
[2022-06-01 15:11:07,623] INFO in retrieve_hass: Successfully posted to sensor.soc_batt_forecast = 100.0
[2022-06-01 15:12:00,080] INFO in command_line: Setting up needed data
[2022-06-01 15:12:00,086] INFO in forecast: Retrieving weather forecast data using method = scrapper
[2022-06-01 15:12:03,720] INFO in forecast: Retrieving data from hass for load forecast using method = naive
[2022-06-01 15:12:03,721] INFO in retrieve_hass: Retrieve hass get data method initiated...
[2022-06-01 15:12:05,749] INFO in web_server:  >> Performing naive MPC optimization...
[2022-06-01 15:12:05,749] INFO in command_line: Performing naive MPC optimization
[2022-06-01 15:12:05,771] INFO in optimization: Perform an iteration of a naive MPC controller
[2022-06-01 15:12:06,133] INFO in optimization: Status: Optimal
[2022-06-01 15:12:06,134] INFO in optimization: Total value of the Cost function = 75.76
[2022-06-01 15:12:06,932] INFO in command_line: Setting up needed data
[2022-06-01 15:12:06,945] INFO in web_server:  >> Publishing data...
[2022-06-01 15:12:06,946] INFO in command_line: Publishing data to HASS instance
[2022-06-01 15:12:07,006] INFO in retrieve_hass: Successfully posted to sensor.p_pv_forecast = 2162.66
[2022-06-01 15:12:07,067] INFO in retrieve_hass: Successfully posted to sensor.p_load_forecast = 1425.9
[2022-06-01 15:12:07,105] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable0 = 1500.0
[2022-06-01 15:12:07,152] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable1 = 5500.0
[2022-06-01 15:12:07,199] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable2 = 11500.0
[2022-06-01 15:12:07,247] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable3 = 2400.0
[2022-06-01 15:12:07,296] INFO in retrieve_hass: Successfully posted to sensor.p_batt_forecast = 0.0
[2022-06-01 15:12:07,331] INFO in retrieve_hass: Successfully posted to sensor.soc_batt_forecast = 100.0
[2022-06-01 15:13:00,056] INFO in command_line: Setting up needed data
[2022-06-01 15:13:00,062] INFO in forecast: Retrieving weather forecast data using method = scrapper
[2022-06-01 15:13:04,090] INFO in forecast: Retrieving data from hass for load forecast using method = naive
[2022-06-01 15:13:04,091] INFO in retrieve_hass: Retrieve hass get data method initiated...
[2022-06-01 15:13:06,844] INFO in web_server:  >> Performing naive MPC optimization...
[2022-06-01 15:13:06,844] INFO in command_line: Performing naive MPC optimization
[2022-06-01 15:13:06,866] INFO in optimization: Perform an iteration of a naive MPC controller
[2022-06-01 15:13:07,206] INFO in optimization: Status: Optimal
[2022-06-01 15:13:07,206] INFO in optimization: Total value of the Cost function = 75.7
[2022-06-01 15:13:07,854] INFO in command_line: Setting up needed data
[2022-06-01 15:13:07,858] INFO in web_server:  >> Publishing data...
[2022-06-01 15:13:07,858] INFO in command_line: Publishing data to HASS instance
[2022-06-01 15:13:07,921] INFO in retrieve_hass: Successfully posted to sensor.p_pv_forecast = 2162.23
[2022-06-01 15:13:07,969] INFO in retrieve_hass: Successfully posted to sensor.p_load_forecast = 1425.9
[2022-06-01 15:13:08,017] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable0 = 1500.0
[2022-06-01 15:13:08,065] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable1 = 5500.0
[2022-06-01 15:13:08,124] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable2 = 11500.0
[2022-06-01 15:13:08,157] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable3 = 2400.0
[2022-06-01 15:13:08,195] INFO in retrieve_hass: Successfully posted to sensor.p_batt_forecast = 0.0
[2022-06-01 15:13:08,233] INFO in retrieve_hass: Successfully posted to sensor.soc_batt_forecast = 100.0
[2022-06-01 15:14:00,080] INFO in command_line: Setting up needed data
[2022-06-01 15:14:00,086] INFO in forecast: Retrieving weather forecast data using method = scrapper
[2022-06-01 15:14:03,537] INFO in forecast: Retrieving data from hass for load forecast using method = naive
[2022-06-01 15:14:03,538] INFO in retrieve_hass: Retrieve hass get data method initiated...
[2022-06-01 15:14:05,794] INFO in web_server:  >> Performing naive MPC optimization...
[2022-06-01 15:14:05,794] INFO in command_line: Performing naive MPC optimization
[2022-06-01 15:14:05,816] INFO in optimization: Perform an iteration of a naive MPC controller
[2022-06-01 15:14:06,158] INFO in optimization: Status: Optimal
[2022-06-01 15:14:06,159] INFO in optimization: Total value of the Cost function = 75.67
[2022-06-01 15:14:06,788] INFO in command_line: Setting up needed data
[2022-06-01 15:14:06,800] INFO in web_server:  >> Publishing data...
[2022-06-01 15:14:06,801] INFO in command_line: Publishing data to HASS instance
[2022-06-01 15:14:06,852] INFO in retrieve_hass: Successfully posted to sensor.p_pv_forecast = 2162.23
[2022-06-01 15:14:06,901] INFO in retrieve_hass: Successfully posted to sensor.p_load_forecast = 1425.9
[2022-06-01 15:14:06,937] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable0 = 1500.0
[2022-06-01 15:14:06,975] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable1 = 5500.0
[2022-06-01 15:14:07,017] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable2 = 11500.0
[2022-06-01 15:14:07,056] INFO in retrieve_hass: Successfully posted to sensor.p_deferrable3 = 2400.0
[2022-06-01 15:14:07,107] INFO in retrieve_hass: Successfully posted to sensor.p_batt_forecast = 0.0
[2022-06-01 15:14:07,147] INFO in retrieve_hass: Successfully posted to sensor.soc_batt_forecast = 100.0


How could LLM handle fill-in-the-middle?

LLM is currently designed mainly around chat prompts. But there are other forms of LLM interaction, in particular "fill-in-the-middle" as seen in GitHub Copilot.
https://huggingface.co/smallcloudai/Refact-1_6B-fim is an example of a model that supports this:
prompt = '''<fim_prefix>def print_hello_world():
    """<fim_suffix>
    print("Hello world!")<fim_middle>'''

Output from that:
<fim_prefix>def print_hello_world():
    """<fim_suffix>
    print("Hello world!")<fim_middle>Prints 'Hello world!'"""<|endoftext|>

Which, if you figure out how to construct it again, ends up like this:
def print_hello_world():
    """Prints 'Hello world!'"""
    print("Hello world!")

How could LLM support this? Would I need to design a new variant of the llm prompt command and model.prompt() method for this case?

One solution: special syntax, something like this:
llm -m refact-fim 'def print_hello_world():
    """FILL
    print("Hello world!")
'

The output from this would be the fully reconstructed result:
def print_hello_world():
    """Prints 'Hello world!'"""
    print("Hello world!")

My public notes on that model: https://github.com/simonw/public-notes/issues/12


memory leak if influxdb goes down

We are running influxdb plugin with config:
<match metrics.*>
@type influxdb
host <IP_ADDRESS>
port 8086
dbname test
use_ssl false
time_key time
auto_tags
time_precision ms
retry 3

@type memory
# chunk_limit_size 524288 # 512 * 1024
# chunk_limit_records 1024
flush_interval 10
retry_limit 3
retry_wait 1.0
num_threads 1

json

when we stop influxdb we see that fluentd is leaking memory:

any ideas?

Use file buffer instead :)

@repeatedly why it doesn't drop them after finishing retrying?

why it doesn't drop them after finishing retrying?

Your log doesn't contain any retry / drop information?


Add branch info to Galactic build

Fixes https://github.com/ros-planning/moveit2/issues/1192

Likely needs this PR to be merged before CI passes:  https://github.com/ros-planning/moveit2/pull/1215


runscript --noscripts option unclear, halts execution

The help text for the --noscripts option for the runscript command states:
--noscripts           Look in app.scripts subdir

Which seems to indicate that the runscript module finding mechanism will ignore the scripts directories but instead search for sub-directories.
Looking through the source for the runscript.handle() command (https://github.com/django-extensions/django-extensions/blob/master/django_extensions/management/commands/runscript.py#L93), the code will check if the --noscripts flag has been set and if so, won't append the 'scripts' string to the subdirectories which it will look through for the scripts.
This seems fine, but a few lines down (https://github.com/django-extensions/django-extensions/blob/master/django_extensions/management/commands/runscript.py#L109), the script execution will halt as the subdirs away will have a length of 0, which will print the message
No subdirs to run left.

I'm unclear what the purpose of that argument is then, and how the --noscripts flag can be set and possibly the full path to the script module be passed in separately as the script name, which seems possibly the original intent of this?

Your right... the help texts are confusing (or plain wrong :-) and the --noscript option seems a bit pointless.
Looking at it I think it was probably meant as a way to only look in the fixtures directory by specifying ./manage.py runscript --noscript --fixtures.
Both the docs and the tests do not specify how this should work so I think we should consider this an "undocumented" feature for which the original intent is more or less lost :-) and which we should be able to change without thinking about it too much.
Thinks I'm thinking off:

Expand arguments to use --fixtures/--nofixtures and --scripts/--no-scripts or something similar to make it more clear to understand and improve the help texts.
Ability for specifying a full python path to a script on the command line. Automatically skipping searching in any of the apps script and/or fixture directories.
Specifying which apps will be used to search for the script
Allow overriding of the scripts directory name via settings (committed in cb66b31)

PR's are welcome :-)


operator project-quay (3.9.0-nightly.20230203)

Add 3.9.0-nightly.20230203 to community operators

/merge possible

/merge possible