busybox The function shutdown_signal is only defined when !DEBUG_INIT. However, it is used in a mandatory feature. Thus, all product with DEBUG_INIT enabled has compile failure.

Bug fixed by commit cf1f2ace391
Type UndefinedSymbol
Config DEBUG_INIT (1st degree)
Fix-in mapping
Location init/
#include <stdio.h>
#include <unistd.h>

#define SIGTERM     15	/* software termination signal from kill */
#define SIGUSR1     30	/* user defined signal 1 */
#define SIGUSR2     31	/* user defined signal 2 */

#ifndef ENABLE_DEBUG_INIT
void shutdown_signal(int sig)
{
  char *m;

  if (sig == SIGTERM) {
    m = "reboot";
  } else if (sig == SIGUSR2) {
    m = "poweroff";
  } else {
    m = "halt";
  }
  printf("Requesting system %s.", m);
}
#endif

void open_new_terminal() 
{
  shutdown_signal(SIGUSR1); //ERROR
}

void run()
{
  open_new_terminal();
}

void run_actions()
{
  run();
}

int main(int argc, char** argv)
{
  run_actions();
  return 0;
}
diff --git a/simple/cf1f2ac.c b/simple/cf1f2ac.c
--- a/simple/cf1f2ac.c
+++ b/simple/cf1f2ac.c
@@ -24,7 +24,11 @@
 
 void open_new_terminal() 
 {
+#ifndef ENABLE_DEBUG_INIT
   shutdown_signal(SIGUSR1); //ERROR
+#else
+  _exit(2);
+#endif 
 }
 
 void run()
. call init/init.c:1069:run_actions(int action)
.. 635:a->pid = run(a);
.. call init/init.c:1069:run(const struct init_action *a)
... 444:open_new_terminal(a->terminal, 1);
... call init/init.c:386:open_new_terminal(const char *device, char fail)
.... ERROR 398:shutdown_signal(SIGUSR1);