G

SàT is frozen if pipe is broken while doing "jp pipe out"

When receiving a stream from a contact, if pipe is broken, the whole backend become frozen.

Steps to reproduce:

- with one profile "toto", receive a pipe to e.g. mpv with:
"jp pipe in -cp toto | mpv -"
- with an other profile "titi", pipe out a movie with:
"jp pipe out -cp titi louise@tazar2.int < movie_stream.webm
- stop the stream immediately, it must not be fully sent to the other size already

expected result: movie is stopped, everything works
actual result: received get this trace:

Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/dbus/connection.py", line 230, in maybe_handle_message
self._handler(args, *kwargs)
File "/home/goffi/dev/lib/sat_frontends/jp/base.py", line 899, in onActionNew
callback(action_data, action_id, security_limit, profile)
File "/home/goffi/dev/lib/sat_frontends/jp/cmd_pipe.py", line 99, in onPipeAction
shutil.copyfileobj(f, sys.stdout)
File "/usr/lib/python2.7/shutil.py", line 66, in copyfileobj
fdst.write(buf)
IOError: [Errno 32] Broken pipe

then everything is frozen in backend, no profile can do anything anymore.

G

goffi 11/07/2019, 18:49

this problem is not reproducible anymore, closing.

id

237

author

goffi

created

30/01/2018, 12:16

updated

11/07/2019, 18:49

labels
jp backend jingle
type
bug
status
closed
priority
normal
milestone
0.7
severity
normal