← Back to team overview

touch-packages team mailing list archive

[Bug 1325462] Re: NetworkManager killing dispatched scripts too quickly

 

Status changed to 'Confirmed' because the bug affects multiple users.

** Changed in: network-manager (Ubuntu)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to network-manager in Ubuntu.
https://bugs.launchpad.net/bugs/1325462

Title:
  NetworkManager killing dispatched scripts too quickly

Status in “network-manager” package in Ubuntu:
  Confirmed

Bug description:
  /usr/lib/NetworkManager/nm-dispatcher.action has an undocumented and
  unconfigurable "feature" of killing scripts after 3 seconds.  For a
  number of settings this is too short. It is unclear why this killing
  really has to happen but for sure it would be good to give a bit more
  time. Find below a patch which gives a bit more lee-way.

  See similar issue in fedora where it was recently "fixed":
  https://bugzilla.redhat.com/show_bug.cgi?id=909577.

  --- network-manager-0.9.8.8/callouts/nm-dispatcher-action.c	2014-06-02 10:31:45.317526574 +0530
  +++ network-manager-0.9.8.8/callouts/nm-dispatcher-action.c.orig	2014-06-02 10:38:09.000000000 +0530
  @@ -246,7 +246,6 @@
   	next_script (script->request);
   }
   
  -#define SCRIPT_TIMEOUT 60
   static gboolean
   script_timeout_cb (gpointer user_data)
   {
  @@ -256,7 +255,7 @@
   	script->request->script_watch_id = 0;
   	script->request->script_timeout_id = 0;
   
  -	g_warning ("Script '%s' took too long (>%d); killing it.", script->script, SCRIPT_TIMEOUT);
  +	g_warning ("Script '%s' took too long; killing it.", script->script);
   
   	if (kill (script->pid, 0) == 0)
   		kill (script->pid, SIGKILL);
  @@ -351,7 +350,7 @@
   
   	if (g_spawn_async ("/", argv, request->envp, G_SPAWN_DO_NOT_REAP_CHILD, child_setup, request, &script->pid, &error)) {
   		request->script_watch_id = g_child_watch_add (script->pid, (GChildWatchFunc) script_watch_cb, script);
  -		request->script_timeout_id = g_timeout_add_seconds (SCRIPT_TIMEOUT, script_timeout_cb, script);
  +		request->script_timeout_id = g_timeout_add_seconds (3, script_timeout_cb, script);
   	} else {
   		g_warning ("Failed to execute script '%s': (%d) %s",
   		           script->script, error->code, error->message);

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1325462/+subscriptions