[Bug 1789476] Re: glib apps using GSubprocess communicate might crash on g_subprocess_communicate_cancelled
Marco Trevisan (Treviño)
mail at 3v1n0.net
Tue Nov 6 04:09:19 UTC 2018
Test case works as expected.
marco at tricky:/tmp:✓ $ apt-cache policy libglib2.0-0
libglib2.0-0:
Installato: 2.56.3-0ubuntu0.18.04.1
Candidato: 2.56.3-0ubuntu0.18.04.1
Tabella versione:
*** 2.56.3-0ubuntu0.18.04.1 100
500 http://archive.ubuntu.com/ubuntu bionic-proposed/main amd64 Packages
2.56.2-0ubuntu0.18.04.2 500
500 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu bionic-security/main amd64 Packages
2.56.1-2ubuntu1 500
500 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages
marco at tricky:/tmp:✓ $ gjs /tmp/subprocess-cancelled.js
(gjs:8606): Gjs-WARNING **: 22:08:37.297: JS ERROR: Gio.IOErrorEnum: L'operazione è stata annullata
@/tmp/subprocess-cancelled.js:10:5
@/tmp/subprocess-cancelled.js:16:5
** Tags removed: verification-needed verification-needed-bionic
** Tags added: verification-done verification-done-bionic
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to glib2.0 in Ubuntu.
https://bugs.launchpad.net/bugs/1789476
Title:
glib apps using GSubprocess communicate might crash on
g_subprocess_communicate_cancelled
Status in glib2.0 package in Ubuntu:
Fix Released
Status in glib2.0 source package in Bionic:
Fix Committed
Bug description:
[ Impact ]
Glib apps using subprocess communicate and cancellable is cancelled
crashes
[ Test case ]
Run the attached example with
gjs subprocess-cancelled.js
Should not crash, or running:
valgrind gjs subprocess-cancelled.js
should not return any read error (as the one mentioned below)
[ Regression potential ]
Really low, the only thing that could happen is that the subprocess
isn't really cancelled.
---
Fixed upstream in
https://gitlab.gnome.org/GNOME/glib/merge_requests/266
#0 g_cancellable_cancel (cancellable=0x6) at ../../glib/gio/gcancellable.c:486
#1 0x00007ffff7ab8d1d in g_subprocess_communicate_cancelled (user_data=<optimized out>) at ../../glib/gio/gsubprocess.c:1535
--
==25871== Memcheck, a memory error detector
==25871== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==25871== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==25871== Command: gjs /tmp/subprocess-cancelled.js
==25871==
==25871== Warning: set address range perms: large range [0x377ee1e21000, 0x377f21e21000) (noaccess)
==25871== Invalid read of size 8
==25871== at 0x4EC5604: g_subprocess_communicate_cancelled (gsubprocess.c:1535)
==25871== by 0x547A0F4: g_main_dispatch (gmain.c:3177)
==25871== by 0x547A0F4: g_main_context_dispatch (gmain.c:3830)
==25871== by 0x547A4BF: g_main_context_iterate.isra.26 (gmain.c:3903)
==25871== by 0x547A54B: g_main_context_iteration (gmain.c:3964)
==25871== by 0x6C4EDAD: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
==25871== by 0x6C4E71E: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
==25871== by 0x5775607: ??? (in /usr/lib/libgjs.so.0.0.0)
==25871== by 0x5776F53: ??? (in /usr/lib/libgjs.so.0.0.0)
==25871== by 0x8A3FF6B: CallJSNative (jscntxtinlines.h:239)
==25871== by 0x8A3FF6B: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) (Interpreter.cpp:447)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glib2.0/+bug/1789476/+subscriptions
More information about the foundations-bugs
mailing list