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.

Author mustafaquraish
Recipients bquinlan, mustafaquraish, ned.deily, pitrou, ronaldoussoren
Date 2020-11-07.00:19:50
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1604708391.55.0.212848791362.issue42281@roundup.psfhosted.org>
In-reply-to
Content
The code attached produces weird behaviour on macOS (Catalina at least) on Python3.8 / Python3.9. Issue has been reproduced on at least one other mac belonging to a friend. Does not occur on Linux as far as I have tested. I have simplified the code as much as I can, so the example attached does not actually need to use parallelism.

Code description: Read text from a file, change directory using `os.chdir`, spawn 5 processes and pass the `print` function as the handler along with the text.

Expectation: File contents should be printed 5 times

Result: Code tries to load (again) the file in each thread, but fails since the directory was changed.


Precondition: Have `file.txt` in the same directory containing some text

Output when run on Python3.7, I get the following (expected output):

```
Reading file...
Text loaded was: 'file contents'
file contents
file contents
file contents
file contents
file contents
```

When running on 3.8 / 3.9 (on a mac) I get the following:

```
Reading file...
Text loaded was: 'file contents'
Error: /Users/mustafa/dev/ptest/test_dir/file.txt does not exist.
Error: /Users/mustafa/dev/ptest/test_dir/file.txt does not exist.
Error: /Users/mustafa/dev/ptest/test_dir/file.txt does not exist.
```

It seems to me that even opened `file.txt` is loaded in the main thread and text is read from it, this value isn't passed into the spawned processes and they are calling `load()` again (which is where the error message is produced).
History
Date User Action Args
2020-11-07 00:19:51mustafaquraishsetrecipients: + mustafaquraish, bquinlan, ronaldoussoren, pitrou, ned.deily
2020-11-07 00:19:51mustafaquraishsetmessageid: <1604708391.55.0.212848791362.issue42281@roundup.psfhosted.org>
2020-11-07 00:19:51mustafaquraishlinkissue42281 messages
2020-11-07 00:19:50mustafaquraishcreate