Disabling password features causes top and ps to fail on some target systems
James Bowlin
bowlin at mindspring.com
Tue May 31 00:54:05 UTC 2011
I'm building a static busybox on a Debian based i486 system. When I
tested the busybox binary on an amd64 Gentoo system the top and ps
commands fail:
$ ./busybox-3.4 top
Mem: 3056560K used, 1004520K free, 0K shrd, 162340K buff, 2292844K cached
CPU: 13.6% usr 4.5% sys 0.0% nic 81.8% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 0.02 0.11 0.40 1/235 3692
busybox-3.4: ../sysdeps/unix/sysv/linux/getpagesize.c:32: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0' failed.
A very similar build of busybox works fine:
$ ./busybox-3.3 top -n1
PID PPID USER STAT VSZ %MEM CPU %CPU COMMAND
31439 5513 root S 154m 3.8 0 8.6 /usr/bin/X :0 -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7
31645 1 user S 318m 8.0 1 4.3 terminal --disable-server --geometry=135x44 --working-directory=/data/user/Projects/LiveUSB/v3 --ta
31543 1 user S 428m 10.7 0 0.0 claws-mail
31690 1 user S 315m 7.9 1 0.0 terminal --disable-server --geometry=100x45 --working-directory=/data/local/src/busybox-1.18.3 --tab -
31626 1 user S 310m 7.8 1 0.0 terminal --disable-server --geometry=114x43 --working-directory=/data/user/Projects/LiveUSB/Other/b
31673 1 user S 309m 7.8 0 0.0 terminal --disable-server --geometry=131x40 --working-directory=/data/user/Projects/LiveUSB/Other/D
31517 1 user S 301m 7.5 1 0.0 lxpanel
31513 31476 user S 256m 6.4 1 0.0 gkrellm
[etc]
The ps error is similar and comes with a bonus core dump:
$ ./busybox-3.4 ps
PID USER VSZ STAT COMMAND
busybox-3.4: ../sysdeps/unix/sysv/linux/getpagesize.c:32: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0' failed.
zsh: abort (core dumped) ./busybox-3.4 ps
$ ./busybox-3.3 ps
PID USER VSZ STAT COMMAND
1 root 3928 S init [3]
2 root 0 SW [kthreadd]
3 root 0 SW [ksoftirqd/0]
5 root 0 SW [kworker/u:0]
6 root 0 SW [migration/0]
7 root 0 SW [migration/1]
9 root 0 SW [ksoftirqd/1]
10 root 0 SW [kworker/0:1]
[etc]
The strange thing is that the problem only occurs when
some password/login utilities are disabled:
$ ./busybox-3.3 bbconfig > bbconfig-3.3
$ ./busybox-3.4 bbconfig > bbconfig-3.4
$ diff -U 0 bbconfig-3.3 bbconfig-3.4 | grep ^+
+++ bbconfig-3.4 2011-05-30 18:02:50.000000000 -0600
+# CONFIG_FEATURE_SHADOWPASSWDS is not set
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_USE_BB_SHADOW is not set
+# CONFIG_USE_BB_CRYPT is not set
+# CONFIG_USE_BB_CRYPT_SHA is not set
+# CONFIG_LOGIN_SCRIPTS is not set
+# CONFIG_FEATURE_NOLOGIN is not set
+# CONFIG_FEATURE_SECURETTY is not set
+# CONFIG_PASSWD is not set
+# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
+# CONFIG_CRYPTPW is not set
+# CONFIG_CHPASSWD is not set
I've attached the two bbconfig files. The problem does not occur on
most systems. Both top and ps on busybox-3.4 work fine on most systems.
They also working fine on the amd64 system if I compile busybox-3.4 on
it, (even in a 32bit chroot).
Busybox is a great tool. This was a strange problem that most people
probably don't run into so I spent a couple of hours tracking it down
to the 12 options listed above as my way of saying thanks.
The kernel on the build system is 2.6.36.1-mepis. The kernel on the
target system is 2.6.36-gentoo-r8.
Peace, James
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bbconfig-3.3
Type: application/octet-stream
Size: 24103 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/busybox/attachments/20110530/0f900888/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bbconfig-3.4
Type: application/octet-stream
Size: 24235 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/busybox/attachments/20110530/0f900888/attachment-0003.obj>
More information about the busybox
mailing list