sosy-lab / benchexec

BenchExec: A Framework for Reliable Benchmarking and Resource Measurement
Apache License 2.0
239 stars 202 forks source link

Consider start method for containerized tool-info module #1103

Open PhilippWendler opened 2 weeks ago

PhilippWendler commented 2 weeks ago

For putting the tool-info module into a container, we start a separate Python worker process using the multiprocessing module. Right now, multiprocessing uses fork to start that process, but this will change to forkserver in Python 3.14. This might cause problems because the process starts with a clean state instead. Similarly, when we changed table-generator from fork to spawn in 1b5010f3e we also had to make some adjustments, so we should investigate what we need to do for the containerized tool-info module.

We can also consider using spawn as in table-generator, because forkserver should not bring any advantage to us (we only create one process).

Stonebanks-js commented 1 week ago

@PhilippWendler The current setup uses the fork start method for the Python multiprocessing module to spawn the Python worker process right ?

Can you tell me more information regarding the issue pls ?

PhilippWendler commented 2 days ago

@Stonebanks-js Currently we use the default method of Python. Right now I do not know more than what I have written, this issue is mostly about needing to investigate.