This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: multiprocessing.get_all_start_methods() wrong default on macOS
Type: behavior Stage: resolved
Components: Library (Lib) Versions: Python 3.10, Python 3.9, Python 3.8
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: Ido Michael, davin, miss-islington, pitrou, stefanholek, taleinat
Priority: normal Keywords: newcomer friendly, patch

Created on 2020-01-07 11:54 by stefanholek, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 18529 closed Ido Michael, 2020-02-16 21:10
PR 18625 merged Ido Michael, 2020-02-23 15:07
PR 20431 merged miss-islington, 2020-05-26 14:54
PR 20432 merged miss-islington, 2020-05-26 14:54
Messages (9)
msg359503 - (view) Author: Stefan Holek (stefanholek) Date: 2020-01-07 11:54
In Python 3.8 the default start method has changed from fork to spawn on macOS.
https://docs.python.org/3/whatsnew/3.8.html#multiprocessing

get_all_start_methods() says: "Returns a list of the supported start methods, the first of which is the default."
https://docs.python.org/3/library/multiprocessing.html?highlight=finalize#multiprocessing.get_all_start_methods

However, it appears to still return fork as default:

  Python 3.8.1 (default, Dec 22 2019, 03:45:23) 
  [Clang 10.0.1 (clang-1001.0.46.4)] on darwin
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import multiprocessing
  >>> multiprocessing.get_all_start_methods()
  ['fork', 'spawn', 'forkserver']
  >>> 

Thank you!
msg362097 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2020-02-16 19:34
Good catch, Stefen!

This seems like we forgot to update multiprocessing.get_all_start_methods() when making the change to make "spawn" the default on macOS. I suggest updating it accordingly.
msg362104 - (view) Author: Ido Michael (Ido Michael) * Date: 2020-02-16 21:11
Fixed the bug to default any macos into 'spawn'
PR: GH-18529
msg362517 - (view) Author: Ido Michael (Ido Michael) * Date: 2020-02-23 15:11
Created a new clean PR GH-18625
msg369839 - (view) Author: Ido Michael (Ido Michael) * Date: 2020-05-24 22:26
Fixed Tal's comments, I took the darwin if check out of the reduction.HAVE_SEND_HANDLE, also fixed the test
msg369990 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2020-05-26 14:54
New changeset db098bc1f05bd0773943e59f83489f05f28dedf8 by idomic in branch 'master':
bpo-39244: multiprocessing return default start method first on macOS (GH-18625)
https://github.com/python/cpython/commit/db098bc1f05bd0773943e59f83489f05f28dedf8
msg369992 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2020-05-26 14:56
Thanks for fixing this, Ido!
msg369997 - (view) Author: miss-islington (miss-islington) Date: 2020-05-26 15:13
New changeset 1c88bf8541e6fa292f1578144add17d3672c5fcf by Miss Islington (bot) in branch '3.9':
bpo-39244: multiprocessing return default start method first on macOS (GH-18625)
https://github.com/python/cpython/commit/1c88bf8541e6fa292f1578144add17d3672c5fcf
msg369998 - (view) Author: miss-islington (miss-islington) Date: 2020-05-26 15:14
New changeset 285ff63351bb5a42099527c283f65434e761be83 by Miss Islington (bot) in branch '3.8':
bpo-39244: multiprocessing return default start method first on macOS (GH-18625)
https://github.com/python/cpython/commit/285ff63351bb5a42099527c283f65434e761be83
History
Date User Action Args
2022-04-11 14:59:25adminsetgithub: 83425
2020-05-26 15:14:04miss-islingtonsetmessages: + msg369998
2020-05-26 15:13:40miss-islingtonsetmessages: + msg369997
2020-05-26 14:56:17taleinatsetstatus: open -> closed
resolution: fixed
messages: + msg369992

stage: patch review -> resolved
2020-05-26 14:54:44miss-islingtonsetpull_requests: + pull_request19689
2020-05-26 14:54:36miss-islingtonsetnosy: + miss-islington
pull_requests: + pull_request19688
2020-05-26 14:54:28taleinatsetmessages: + msg369990
2020-05-26 14:22:12taleinatsetversions: + Python 3.10
2020-05-24 22:26:52Ido Michaelsetmessages: + msg369839
2020-02-23 15:11:05Ido Michaelsetmessages: + msg362517
2020-02-23 15:07:50Ido Michaelsetpull_requests: + pull_request17990
2020-02-16 21:11:38Ido Michaelsetnosy: + Ido Michael
messages: + msg362104
2020-02-16 21:10:23Ido Michaelsetkeywords: + patch
stage: needs patch -> patch review
pull_requests: + pull_request17905
2020-02-16 19:34:16taleinatsetnosy: + taleinat
messages: + msg362097

keywords: + newcomer friendly
stage: needs patch
2020-01-07 21:09:06ned.deilysetnosy: + pitrou, davin, - ronaldoussoren, ned.deily
components: - macOS
versions: + Python 3.9
2020-01-07 11:54:47stefanholekcreate