classification
Title: Input.output error with multiprocessing
Type: behavior Stage:
Components: Library (Lib) Versions: Python 3.4
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: Florijan Hamzic, Valentin.Lorentz, davin, ezio.melotti, mikaela, sbt
Priority: normal Keywords:

Created on 2014-05-04 16:24 by mikaela, last changed 2016-10-17 15:40 by Florijan Hamzic. This issue is now closed.

Messages (6)
msg217880 - (view) Author: Mikaela Suomalainen (mikaela) Date: 2014-05-04 16:24
I encountered this error with Limnoria and I was told to report it here.

```
ERROR 2014-05-04T18:04:04 supybot Uncaught exception in ['title'].
Traceback (most recent call last):
File "/home/users/mkaysi/.local/lib/python3.4/site-packages/supybot/callbacks.py", line 1266, in _callCommand
self.callCommand(command, irc, msg, *args, **kwargs)
File "/home/users/mkaysi/.local/lib/python3.4/site-packages/supybot/utils/python.py", line 91, in g
f(self, *args, **kwargs)
File "/home/users/mkaysi/.local/lib/python3.4/site-packages/supybot/callbacks.py", line 1247, in callCommand
method(irc, msg, *args, **kwargs)
File "/home/users/mkaysi/.local/lib/python3.4/site-packages/supybot/commands.py", line 1076, in newf
f(self, irc, msg, args, *state.args, **state.kwargs)
File "/home/users/mkaysi/.local/lib/python3.4/site-packages/supybot/plugins/Web/plugin.py", line 109, in newf
f(self, irc, *args, **kwargs)
File "/home/users/mkaysi/.local/lib/python3.4/site-packages/supybot/plugins/Web/plugin.py", line 96, in newf
pn=self.name(), cn=f.__name__)
File "/home/users/mkaysi/.local/lib/python3.4/site-packages/supybot/commands.py", line 120, in process
p.start()
File "/home/users/mkaysi/.pyenv/versions/3.4.0/lib/python3.4/multiprocessing/process.py", line 105, in start
self._popen = self._Popen(self)
File "/home/users/mkaysi/.pyenv/versions/3.4.0/lib/python3.4/multiprocessing/context.py", line 212, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "/home/users/mkaysi/.pyenv/versions/3.4.0/lib/python3.4/multiprocessing/context.py", line 267, in _Popen
return Popen(process_obj)
File "/home/users/mkaysi/.pyenv/versions/3.4.0/lib/python3.4/multiprocessing/popen_fork.py", line 18, in __init__
sys.stdout.flush()
OSError: [Errno 5] Input/output error
ERROR 2014-05-04T18:04:04 supybot Exception id: 0xaaefe
```
msg219152 - (view) Author: Ezio Melotti (ezio.melotti) * (Python committer) Date: 2014-05-26 10:37
Can you provide more information about the error (e.g. the relevant piece of code where the error generates, if you can reproduce it every time or if it's sporadic, a minimal piece of code that can reproduce the same issue, etc.)?
I would also suggest to report this to the supybot issue tracker if the affected code is not specific to Limnoria.
msg221861 - (view) Author: ProgVal (Valentin.Lorentz) Date: 2014-06-29 16:33
The relevant piece of code: https://github.com/ProgVal/Limnoria/blob/master/plugins/Web/plugin.py#L85

commands.process is defined here: https://github.com/ProgVal/Limnoria/blob/master/src/commands.py#L76

callbacks.CommandProcess is defined at https://github.com/ProgVal/Limnoria/blob/master/src/callbacks.py#L1037 (SupyThread is a small subclass of threading.Thread, which increments a count on initialization)
msg235589 - (view) Author: Davin Potts (davin) * (Python committer) Date: 2015-02-09 05:28
The provided links to the relevant code are unfortunately pointing at the master branch's copy of those files and not a specific version of the code making it that much harder to now discern where the issue arises.  (A number of things have changed in the master branch since this issue was first reported.)

Can Mikaela or Valentin or others provide a minimal piece of code that can still reproduce the issue?

Without more information, it appears it will be very difficult to try to reproduce or effectively investigate this issue further.  If the issue is no longer reproducible, such an update would also very much be appreciated.
msg240480 - (view) Author: Davin Potts (davin) * (Python committer) Date: 2015-04-11 14:43
Closing this stale issue as out of date with no response from OP since request months ago for enough info to be able to proceed.
msg278810 - (view) Author: Florijan Hamzic (Florijan Hamzic) Date: 2016-10-17 15:40
Hi,

i have a similiar issue:

i have a really simple scenario

Callee:
```
@classmethod
def MoveDataToOtherSide(cls, model)
data = {
            "FirstName": model.FirstName,
            "LastName": model.LastName,
            "Email": model.Email,
            "Pass": model.Password,
            "Images": cls.LoadUserImages(model.ID)
        }

        p = Process(target=UserService.MoveProfileToOtherSide, kwargs={"data": data})
        p.start()
```

Processeee
```
@staticmethod
    def MoveProfileToOtherSide(data): requests.get("https://mySecretUrl.de", params={"token": "secBlub", "data": encode(data, unpicklable=False)})
```

I think it has something todo with stdout but i have no clue how i could debug this further, unfortunetely. 

The Application around this functionality (UserService) is cherrypy.
History
Date User Action Args
2016-10-17 15:40:27Florijan Hamzicsetnosy: + Florijan Hamzic
messages: + msg278810
2015-04-11 14:43:39davinsetstatus: pending -> closed
resolution: out of date
messages: + msg240480
2015-02-10 14:51:38davinsetstatus: open -> pending
2015-02-09 05:28:18davinsetnosy: + davin
messages: + msg235589
2014-06-29 16:33:57Valentin.Lorentzsetstatus: pending -> open
nosy: + Valentin.Lorentz
messages: + msg221861

2014-06-29 10:10:38ezio.melottisetstatus: open -> pending
2014-05-26 10:37:09ezio.melottisettype: behavior

messages: + msg219152
nosy: + ezio.melotti
2014-05-04 20:57:46ned.deilysetnosy: + sbt
2014-05-04 16:24:51mikaelacreate