#22098: procd can not change state from STATE_INIT to STATE_RUNNING causing 
reboot
failed
---------------------------------+--------------------------------
 Reporter:  winsonoreo@…         |      Owner:  developers
     Type:  defect               |     Status:  new
 Priority:  high                 |  Milestone:
Component:  base system          |    Version:  Chaos Calmer 15.05
 Keywords:  procd, fork, reboot  |
---------------------------------+--------------------------------
 During system boot up, procd failed to change from STATE_INIT to
 STATE_RUNNING leading to reboot failed.
 By adding some debug output, when this happened, it turns out that in
 function q_initd_run(), fork() may failed, and the errno is 89.
 Digging in kernel function do_fork(), it failed in copy_process()

 ...
  /*
      * Process group and session signals need to be delivered to just the
      * parent before the fork or both the parent and the child after the
      * fork. Restart if a signal comes in before we add the new process to
      * it's process group.
      * A fatal signal pending means that current will exit, so the new
      * thread can't slip out of an OOM kill (or normal SIGKILL).
      */
     recalc_sigpending();
     if (signal_pending(current)) {
         spin_unlock(¤t->sighand->siglock);
         write_unlock_irq(&tasklist_lock);
         retval = -ERESTARTNOINTR;
         goto bad_fork_free_pid;
     }
 ...

 kernel version is 2.6.36 and arch is mips, I reproduce it by rebooting the
 system.

--
Ticket URL: <https://dev.openwrt.org/ticket/22098>
OpenWrt <http://openwrt.org>
Opensource Wireless Router Technology
_______________________________________________
openwrt-tickets mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-tickets

Reply via email to