Added test case

** Description changed:

+ [ 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)

** Attachment added: "test case: subprocess-cancelled.js"
   
https://bugs.launchpad.net/ubuntu/+source/glib2.0/+bug/1789476/+attachment/5182398/+files/subprocess-cancelled.js

-- 
You received this bug notification because you are a member of Ubuntu
Desktop 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

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glib2.0/+bug/1789476/+subscriptions

-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to