htop
htop copied to clipboard
segfault when compiling as static
observed on Ubuntu 20.04 AMD64, revision:
commit 3acf28c259f1a393badcc2e99c9646e19a911f98 (grafted, HEAD -> master, origin/master, origin/HEAD)
Author: Christian Göttsche <[email protected]>
Date: Thu Jan 28 18:19:38 2021 +0100
Unsupported: pass compilation
steps to reproduce:
git clone --depth 1 https://github.com/htop-dev/htop.git;
cd htop;
./autogen.sh;
./configure --enable-static --disable-unicode --disable-hwloc --disable-setuid --disable-sensors --disable-capabilities --disable-openvz --disable-vserver --disable-ancient-vserver --disable-delayacct --disable-linux-affinity;
make -j $(nproc);
./htop
result:
hans@xDevAd:~/reproduce$ git clone --depth 1 https://github.com/htop-dev/htop.git
Cloning into 'htop'...
remote: Enumerating objects: 218, done.
remote: Counting objects: 100% (218/218), done.
remote: Compressing objects: 100% (208/208), done.
remote: Total 218 (delta 51), reused 32 (delta 6), pack-reused 0
Receiving objects: 100% (218/218), 331.21 KiB | 1.31 MiB/s, done.
Resolving deltas: 100% (51/51), done.
hans@xDevAd:~/reproduce$ cd htop
Action.c AvailableColumnsPanel.h ClockMeter.h configure.ac DateMeter.h EnvScreen.c HostnameMeter.c InfoScreen.c MainPanel.c NetworkIOMeter.c OptionItem.h ProvideCurses.h Settings.h test_spec.lua Vector.h
Action.h AvailableMetersPanel.c ColorsPanel.c CONTRIBUTING.md DateTimeMeter.c EnvScreen.h HostnameMeter.h InfoScreen.h MainPanel.h NetworkIOMeter.h Panel.c README SignalsPanel.c TraceScreen.c XUtils.c
Affinity.c AvailableMetersPanel.h ColorsPanel.h COPYING DateTimeMeter.h freebsd htop.1.in iwyu Makefile.am NEWS Panel.h README.md SignalsPanel.h TraceScreen.h XUtils.h
Affinity.h BatteryMeter.c ColumnsPanel.c CPUMeter.c DiskIOMeter.c FunctionBar.c htop.c linux MemoryMeter.c Object.c Process.c RichString.c solaris unsupported zfs
AffinityPanel.c BatteryMeter.h ColumnsPanel.h CPUMeter.h DiskIOMeter.h FunctionBar.h htop.desktop ListItem.c MemoryMeter.h Object.h Process.h RichString.h SwapMeter.c UptimeMeter.c
AffinityPanel.h CategoriesPanel.c CommandScreen.c CRT.c DisplayOptionsPanel.c Hashtable.c htop.png ListItem.h Meter.c openbsd ProcessList.c ScreenManager.c SwapMeter.h UptimeMeter.h
AUTHORS CategoriesPanel.h CommandScreen.h CRT.h DisplayOptionsPanel.h Hashtable.h htop.svg LoadAverageMeter.c Meter.h OpenFilesScreen.c ProcessList.h ScreenManager.h TasksMeter.c UsersTable.c
autogen.sh ChangeLog Compat.c darwin docs Header.c IncSet.c LoadAverageMeter.h MetersPanel.c OpenFilesScreen.h ProcessLocksScreen.c scripts TasksMeter.h UsersTable.h
AvailableColumnsPanel.c ClockMeter.c Compat.h DateMeter.c dragonflybsd Header.h IncSet.h Macros.h MetersPanel.h OptionItem.c ProcessLocksScreen.h Settings.c TESTPLAN Vector.c
hans@xDevAd:~/reproduce/htop$ ./autogen.sh
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force --warnings=all
autoreconf: configure.ac: tracing
autoreconf: configure.ac: creating directory build-aux
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force --warnings=all
autoreconf: running: /usr/bin/autoheader --force --warnings=all
autoreconf: running: automake --add-missing --copy --force-missing --warnings=all
configure.ac:57: installing 'build-aux/compile'
configure.ac:15: installing 'build-aux/config.guess'
configure.ac:15: installing 'build-aux/config.sub'
configure.ac:16: installing 'build-aux/install-sh'
configure.ac:16: installing 'build-aux/missing'
Makefile.am: installing './INSTALL'
Makefile.am: installing 'build-aux/depcomp'
autoreconf: Leaving directory `.'
hans@xDevAd:~/reproduce/htop$ ./configure --enable-static --disable-unicode --disable-hwloc --disable-setuid --disable-sensors --disable-capabilities --disable-openvz --disable-vserver --disable-ancient-vserver --disable-delayacct --disable-linux-affinity
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for gcc option to accept ISO C99... none needed
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking whether sys/types.h defines makedev... no
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking sys/sysmacros.h usability... yes
checking sys/sysmacros.h presence... yes
checking for sys/sysmacros.h... yes
checking for sys/sysmacros.h... (cached) yes
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking for pid_t... yes
checking for uid_t in sys/types.h... yes
checking for uint8_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for ceil in -lm... yes
checking for library containing clock_gettime... none required
checking for clock_gettime... yes
checking for faccessat... yes
checking for fstatat... yes
checking for host_get_clock_service... no
checking for openat... yes
checking for readlinkat... yes
checking for library containing backtrace... none required
checking for sd_bus_open_system in -lsystemd... no
checking for wnoutrefresh in -lncurses6... no
checking for wnoutrefresh in -lncurses... yes
checking curses.h usability... yes
checking curses.h presence... yes
checking for curses.h... yes
checking for library containing keypad... none required
checking for library containing Gpm_GetEvent... no
checking whether C compiler accepts -Wnull-dereference... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating htop.1
config.status: creating config.h
config.status: executing depfiles commands
htop 3.0.6-dev
platform: linux
(Linux) proc directory: /proc
(Linux) openvz: no
(Linux) vserver: no
(Linux) ancient vserver: no
(Linux) affinity: no
(Linux) delay accounting: no
(Linux) sensors: no
(Linux) capabilities: no
unicode: no
hwloc: no
setuid: no
debug: no
static: yes
hans@xDevAd:~/reproduce/htop$ make -j $(nproc)
make all-am
make[1]: Entering directory '/home/hans/reproduce/htop'
depbase=`echo Action.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT Action.o -MD -MP -MF $depbase.Tpo -c -o Action.o Action.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo Affinity.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT Affinity.o -MD -MP -MF $depbase.Tpo -c -o Affinity.o Affinity.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo AffinityPanel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT AffinityPanel.o -MD -MP -MF $depbase.Tpo -c -o AffinityPanel.o AffinityPanel.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo AvailableColumnsPanel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT AvailableColumnsPanel.o -MD -MP -MF $depbase.Tpo -c -o AvailableColumnsPanel.o AvailableColumnsPanel.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo AvailableMetersPanel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT AvailableMetersPanel.o -MD -MP -MF $depbase.Tpo -c -o AvailableMetersPanel.o AvailableMetersPanel.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo BatteryMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT BatteryMeter.o -MD -MP -MF $depbase.Tpo -c -o BatteryMeter.o BatteryMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo CategoriesPanel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT CategoriesPanel.o -MD -MP -MF $depbase.Tpo -c -o CategoriesPanel.o CategoriesPanel.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo ClockMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT ClockMeter.o -MD -MP -MF $depbase.Tpo -c -o ClockMeter.o ClockMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo ColorsPanel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT ColorsPanel.o -MD -MP -MF $depbase.Tpo -c -o ColorsPanel.o ColorsPanel.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo ColumnsPanel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT ColumnsPanel.o -MD -MP -MF $depbase.Tpo -c -o ColumnsPanel.o ColumnsPanel.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo CommandScreen.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT CommandScreen.o -MD -MP -MF $depbase.Tpo -c -o CommandScreen.o CommandScreen.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo Compat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT Compat.o -MD -MP -MF $depbase.Tpo -c -o Compat.o Compat.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo CPUMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT CPUMeter.o -MD -MP -MF $depbase.Tpo -c -o CPUMeter.o CPUMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo CRT.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT CRT.o -MD -MP -MF $depbase.Tpo -c -o CRT.o CRT.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo DateMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT DateMeter.o -MD -MP -MF $depbase.Tpo -c -o DateMeter.o DateMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo DateTimeMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT DateTimeMeter.o -MD -MP -MF $depbase.Tpo -c -o DateTimeMeter.o DateTimeMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo DiskIOMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT DiskIOMeter.o -MD -MP -MF $depbase.Tpo -c -o DiskIOMeter.o DiskIOMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo DisplayOptionsPanel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT DisplayOptionsPanel.o -MD -MP -MF $depbase.Tpo -c -o DisplayOptionsPanel.o DisplayOptionsPanel.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo EnvScreen.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT EnvScreen.o -MD -MP -MF $depbase.Tpo -c -o EnvScreen.o EnvScreen.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo FunctionBar.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT FunctionBar.o -MD -MP -MF $depbase.Tpo -c -o FunctionBar.o FunctionBar.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo Hashtable.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT Hashtable.o -MD -MP -MF $depbase.Tpo -c -o Hashtable.o Hashtable.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo Header.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT Header.o -MD -MP -MF $depbase.Tpo -c -o Header.o Header.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo HostnameMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT HostnameMeter.o -MD -MP -MF $depbase.Tpo -c -o HostnameMeter.o HostnameMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo htop.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT htop.o -MD -MP -MF $depbase.Tpo -c -o htop.o htop.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo IncSet.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT IncSet.o -MD -MP -MF $depbase.Tpo -c -o IncSet.o IncSet.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo InfoScreen.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT InfoScreen.o -MD -MP -MF $depbase.Tpo -c -o InfoScreen.o InfoScreen.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo ListItem.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT ListItem.o -MD -MP -MF $depbase.Tpo -c -o ListItem.o ListItem.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo LoadAverageMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT LoadAverageMeter.o -MD -MP -MF $depbase.Tpo -c -o LoadAverageMeter.o LoadAverageMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo MainPanel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT MainPanel.o -MD -MP -MF $depbase.Tpo -c -o MainPanel.o MainPanel.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo MemoryMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT MemoryMeter.o -MD -MP -MF $depbase.Tpo -c -o MemoryMeter.o MemoryMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo Meter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT Meter.o -MD -MP -MF $depbase.Tpo -c -o Meter.o Meter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo MetersPanel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT MetersPanel.o -MD -MP -MF $depbase.Tpo -c -o MetersPanel.o MetersPanel.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo NetworkIOMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT NetworkIOMeter.o -MD -MP -MF $depbase.Tpo -c -o NetworkIOMeter.o NetworkIOMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo Object.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT Object.o -MD -MP -MF $depbase.Tpo -c -o Object.o Object.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo OpenFilesScreen.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT OpenFilesScreen.o -MD -MP -MF $depbase.Tpo -c -o OpenFilesScreen.o OpenFilesScreen.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo OptionItem.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT OptionItem.o -MD -MP -MF $depbase.Tpo -c -o OptionItem.o OptionItem.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo Panel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT Panel.o -MD -MP -MF $depbase.Tpo -c -o Panel.o Panel.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo Process.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT Process.o -MD -MP -MF $depbase.Tpo -c -o Process.o Process.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo ProcessList.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT ProcessList.o -MD -MP -MF $depbase.Tpo -c -o ProcessList.o ProcessList.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo ProcessLocksScreen.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT ProcessLocksScreen.o -MD -MP -MF $depbase.Tpo -c -o ProcessLocksScreen.o ProcessLocksScreen.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo RichString.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT RichString.o -MD -MP -MF $depbase.Tpo -c -o RichString.o RichString.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo ScreenManager.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT ScreenManager.o -MD -MP -MF $depbase.Tpo -c -o ScreenManager.o ScreenManager.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo Settings.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT Settings.o -MD -MP -MF $depbase.Tpo -c -o Settings.o Settings.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo SignalsPanel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT SignalsPanel.o -MD -MP -MF $depbase.Tpo -c -o SignalsPanel.o SignalsPanel.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo SwapMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT SwapMeter.o -MD -MP -MF $depbase.Tpo -c -o SwapMeter.o SwapMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo TasksMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT TasksMeter.o -MD -MP -MF $depbase.Tpo -c -o TasksMeter.o TasksMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo TraceScreen.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT TraceScreen.o -MD -MP -MF $depbase.Tpo -c -o TraceScreen.o TraceScreen.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo UptimeMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT UptimeMeter.o -MD -MP -MF $depbase.Tpo -c -o UptimeMeter.o UptimeMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo UsersTable.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT UsersTable.o -MD -MP -MF $depbase.Tpo -c -o UsersTable.o UsersTable.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo Vector.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT Vector.o -MD -MP -MF $depbase.Tpo -c -o Vector.o Vector.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo XUtils.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT XUtils.o -MD -MP -MF $depbase.Tpo -c -o XUtils.o XUtils.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo linux/HugePageMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT linux/HugePageMeter.o -MD -MP -MF $depbase.Tpo -c -o linux/HugePageMeter.o linux/HugePageMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo linux/IOPriorityPanel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT linux/IOPriorityPanel.o -MD -MP -MF $depbase.Tpo -c -o linux/IOPriorityPanel.o linux/IOPriorityPanel.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo linux/LibSensors.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT linux/LibSensors.o -MD -MP -MF $depbase.Tpo -c -o linux/LibSensors.o linux/LibSensors.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo linux/LinuxProcess.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT linux/LinuxProcess.o -MD -MP -MF $depbase.Tpo -c -o linux/LinuxProcess.o linux/LinuxProcess.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo linux/LinuxProcessList.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT linux/LinuxProcessList.o -MD -MP -MF $depbase.Tpo -c -o linux/LinuxProcessList.o linux/LinuxProcessList.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo linux/Platform.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT linux/Platform.o -MD -MP -MF $depbase.Tpo -c -o linux/Platform.o linux/Platform.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo linux/PressureStallMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT linux/PressureStallMeter.o -MD -MP -MF $depbase.Tpo -c -o linux/PressureStallMeter.o linux/PressureStallMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo linux/SELinuxMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT linux/SELinuxMeter.o -MD -MP -MF $depbase.Tpo -c -o linux/SELinuxMeter.o linux/SELinuxMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo linux/SystemdMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT linux/SystemdMeter.o -MD -MP -MF $depbase.Tpo -c -o linux/SystemdMeter.o linux/SystemdMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo linux/ZramMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT linux/ZramMeter.o -MD -MP -MF $depbase.Tpo -c -o linux/ZramMeter.o linux/ZramMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo zfs/ZfsArcMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT zfs/ZfsArcMeter.o -MD -MP -MF $depbase.Tpo -c -o zfs/ZfsArcMeter.o zfs/ZfsArcMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo zfs/ZfsArcStats.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT zfs/ZfsArcStats.o -MD -MP -MF $depbase.Tpo -c -o zfs/ZfsArcStats.o zfs/ZfsArcStats.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo zfs/ZfsCompressedArcMeter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -DNDEBUG -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -MT zfs/ZfsCompressedArcMeter.o -MD -MP -MF $depbase.Tpo -c -o zfs/ZfsCompressedArcMeter.o zfs/ZfsCompressedArcMeter.c &&\
mv -f $depbase.Tpo $depbase.Po
gcc -Wall -Wcast-align -Wcast-qual -Wextra -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wundef -Wunused -Wwrite-strings -Wnull-dereference -pedantic -std=c99 -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -I"./linux" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -static -rdynamic -static -o htop Action.o Affinity.o AffinityPanel.o AvailableColumnsPanel.o AvailableMetersPanel.o BatteryMeter.o CategoriesPanel.o ClockMeter.o ColorsPanel.o ColumnsPanel.o CommandScreen.o Compat.o CPUMeter.o CRT.o DateMeter.o DateTimeMeter.o DiskIOMeter.o DisplayOptionsPanel.o EnvScreen.o FunctionBar.o Hashtable.o Header.o HostnameMeter.o htop.o IncSet.o InfoScreen.o ListItem.o LoadAverageMeter.o MainPanel.o MemoryMeter.o Meter.o MetersPanel.o NetworkIOMeter.o Object.o OpenFilesScreen.o OptionItem.o Panel.o Process.o ProcessList.o ProcessLocksScreen.o RichString.o ScreenManager.o Settings.o SignalsPanel.o SwapMeter.o TasksMeter.o TraceScreen.o UptimeMeter.o UsersTable.o Vector.o XUtils.o linux/HugePageMeter.o linux/IOPriorityPanel.o linux/LibSensors.o linux/LinuxProcess.o linux/LinuxProcessList.o linux/Platform.o linux/PressureStallMeter.o linux/SELinuxMeter.o linux/SystemdMeter.o linux/ZramMeter.o zfs/ZfsArcMeter.o zfs/ZfsArcStats.o zfs/ZfsCompressedArcMeter.o -Wl,-Bsymbolic-functions -lncurses -ltinfo -lm
/usr/bin/ld: Action.o: in function `Action_setUserOnly':
/home/hans/reproduce/htop/Action.c:113: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/bin/ld: UsersTable.o: in function `UsersTable_getRef':
/home/hans/reproduce/htop/UsersTable.c:35: warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
make[1]: Leaving directory '/home/hans/reproduce/htop'
hans@xDevAd:~/reproduce/htop$ ./htop
FATAL PROGRAM ERROR DETECTED
============================
Please check at https://htop.dev/issues whether this issue has already been reported.
If no similar issue has been reported before, please create a new issue with the following information:
- Your htop version (htop --version)
- Your OS and kernel version (uname -a)
- Your distribution and release (lsb_release -a)
- Likely steps to reproduce (How did it happened?)
- Backtrace of the issue (see below)
Error information:
------------------
A signal 11 (Segmentation fault) was received.
Backtrace information:
----------------------
The following function calls were active when the issue was detected:
---
[0x406bab]
[0x451280]
/lib/x86_64-linux-gnu/libc.so.6(getauxval+0x1b)[0x7ffff76bf14b]
/lib/x86_64-linux-gnu/libnss_systemd.so.2(+0x1285e)[0x7ffff740585e]
/lib/x86_64-linux-gnu/libnss_systemd.so.2(+0x12bca)[0x7ffff7405bca]
/lib/x86_64-linux-gnu/libnss_systemd.so.2(_nss_systemd_getpwuid_r+0x12e)[0x7ffff741d8ae]
[0x4aee53]
[0x4ae7eb]
[0x41493f]
[0x419b35]
[0x418c8b]
[0x41b21d]
[0x410c27]
[0x401fc4]
[0x441e70]
[0x4026de]
---
To make the above information more practical to work with,
you should provide a disassembly of your binary.
This can usually be done by running the following command:
objdump -d -S -w `which htop` > ~/htop.objdump
Please include the generated file in your report.
Running this program with debug symbols or inside a debugger may provide further insights.
Thank you for helping to improve htop!
htop 3.0.6-dev aborting.
Segmentation fault (core dumped)
Can you try to compile with debug symbols enabled? Doing so gives a better trace in the error message).
Given from the function that's active in the trace this is likely somewhere in UsersTable_getRef
. Are you sure the compiled version matches the runtime glibc (cf. the linker warning)?
Can you try to compile with debug symbols enabled? Doing so gives a better trace in the error message).
if by debug symbols enabled
you mean ./configure --enable-debug
, seems that didn't change anything on the segfault output,
FATAL PROGRAM ERROR DETECTED
============================
Please check at https://htop.dev/issues whether this issue has already been reported.
If no similar issue has been reported before, please create a new issue with the following information:
- Your htop version (htop --version)
- Your OS and kernel version (uname -a)
- Your distribution and release (lsb_release -a)
- Likely steps to reproduce (How did it happened?)
- Backtrace of the issue (see below)
Error information:
------------------
A signal 11 (Segmentation fault) was received.
Backtrace information:
----------------------
The following function calls were active when the issue was detected:
---
[0x406d3b]
[0x453030]
/lib/x86_64-linux-gnu/libc.so.6(getauxval+0x1b)[0x7ffff76bf14b]
/lib/x86_64-linux-gnu/libnss_systemd.so.2(+0x1285e)[0x7ffff740585e]
/lib/x86_64-linux-gnu/libnss_systemd.so.2(+0x12bca)[0x7ffff7405bca]
/lib/x86_64-linux-gnu/libnss_systemd.so.2(_nss_systemd_getpwuid_r+0x12e)[0x7ffff741d8ae]
[0x4b0c03]
[0x4b059b]
[0x415a4f]
[0x41b7aa]
[0x41a996]
[0x41cf5b]
[0x411cbb]
[0x401fef]
[0x443c20]
[0x40275e]
---
To make the above information more practical to work with,
you should provide a disassembly of your binary.
This can usually be done by running the following command:
objdump -d -S -w `which htop` > ~/htop.objdump
Please include the generated file in your report.
Running this program with debug symbols or inside a debugger may provide further insights.
Thank you for helping to improve htop!
htop 3.0.6-dev aborting.
Segmentation fault (core dumped)
Are you sure the compiled version matches the runtime glibc
nope, i don't know, not sure how to check, but in a static build, should it matter what the runtime glibc is?
Can you try to compile with debug symbols enabled? Doing so gives a better trace in the error message).
if by
debug symbols enabled
you mean./configure --enable-debug
, seems that didn't change anything on the segfault output,
No. Was referring to providing -Og -g
as CFLAGS
/LDFLAGS
to make
, so that the resulting binary is debuggable. --enable-debug
activates some internal housekeeping checks in htop to check the various memory operations work as intended.
Are you sure the compiled version matches the runtime glibc
nope, i don't know, not sure how to check, but in a static build, should it matter what the runtime glibc is?
Some of the called functions in glibc are dependent on structures that are created by different processes and communicated to the local process. This is most noticeable with things like PAM, but getpwuid
which needs to talk to libnss
is another example of this dependency. When running a dynamically linked program, the proper version of the functions, which can handle the talking to the other processes is loaded automatically. But for statically linked processes the version of the function used in the statically linked binary and other processes in the system may differ; thus causing all sorts of spurious issues.
btw have you (or anyone) tried to reproduce it?
seems compiling it with
./configure --enable-debug --enable-static --disable-unicode --disable-hwloc --disable-setuid --disable-sensors --disable-capabilities --disable-openvz --disable-vserver --disable-ancient-vserver --disable-delayacct --disable-linux-affinity;
make clean
CFLAGS="-Og -g" LDFLAGS="-Og -g" make -j $(nproc);
didn't make a difference, still got the same output,
FATAL PROGRAM ERROR DETECTED
============================
Please check at https://htop.dev/issues whether this issue has already been reported.
If no similar issue has been reported before, please create a new issue with the following information:
- Your htop version (htop --version)
- Your OS and kernel version (uname -a)
- Your distribution and release (lsb_release -a)
- Likely steps to reproduce (How did it happened?)
- Backtrace of the issue (see below)
Error information:
------------------
A signal 11 (Segmentation fault) was received.
Backtrace information:
----------------------
The following function calls were active when the issue was detected:
---
[0x406d3b]
[0x453030]
/lib/x86_64-linux-gnu/libc.so.6(getauxval+0x1b)[0x7ffff76bf14b]
/lib/x86_64-linux-gnu/libnss_systemd.so.2(+0x1285e)[0x7ffff740585e]
/lib/x86_64-linux-gnu/libnss_systemd.so.2(+0x12bca)[0x7ffff7405bca]
/lib/x86_64-linux-gnu/libnss_systemd.so.2(_nss_systemd_getpwuid_r+0x12e)[0x7ffff741d8ae]
[0x4b0c03]
[0x4b059b]
[0x415a4f]
[0x41b7aa]
[0x41a996]
[0x41cf5b]
[0x411cbb]
[0x401fef]
[0x443c20]
[0x40275e]
---
To make the above information more practical to work with,
you should provide a disassembly of your binary.
This can usually be done by running the following command:
objdump -d -S -w `which htop` > ~/htop.objdump
Please include the generated file in your report.
Running this program with debug symbols or inside a debugger may provide further insights.
Thank you for helping to improve htop!
htop 3.0.6-dev aborting.
Segmentation fault (core dumped)
./configure --enable-static --disable-unicode --disable-hwloc --disable-setuid --disable-sensors --disable-capabilities --disable-openvz --disable-vserver --disable-ancient-vserver --disable-delayacct --disable-linux-affinity
make -j $(nproc)
./htop
works here on Ubuntu 20.04.1 LTS, also AMD64
aka cannot reproduce
@fasterit thanks, can you upload the htop you produced? it'd be interesting to see if that same binary is crashing on my system or not
Can reproduce on Debian sid with libnss-systemd
installed and a service with DynamicUser=yes
running:
Starting program: /home/christian/Coding/workspaces/htop/htop > run.txt
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7963350 in _nss_systemd_is_blocked () at ../src/nss-systemd/nss-systemd.c:639
639 ../src/nss-systemd/nss-systemd.c: No such file or directory.
(gdb) bt full
#0 0x00007ffff7963350 in _nss_systemd_is_blocked () at ../src/nss-systemd/nss-systemd.c:639
No locals.
#1 0x00007ffff7964507 in userdb_getpwuid (errnop=<synthetic pointer>, buflen=1024, buffer=0x5508b0 "", pwd=0x54c440 <resbuf>, uid=63378) at ../src/nss-systemd/userdb-glue.c:111
hr = 0x0
r = <optimized out>
hr = <optimized out>
r = <optimized out>
__PRETTY_FUNCTION__ = {<optimized out> <repeats 16 times>}
#2 _nss_systemd_getpwuid_r (uid=63378, pwd=0x54c440 <resbuf>, buffer=0x5508b0 "", buflen=1024, errnop=0x54e300) at ../src/nss-systemd/nss-systemd.c:169
status = <optimized out>
e = <optimized out>
_saved_errno_ = 0
_saved_sigset = {__val = {0, 4919111, 8320808640339734111, 8387223540451861876, 32193032215689072, 4919047, 140737347416736, 94489280512, 6729072, 5292379, 5555264, 15912848161058534912, 5563136, 140737488343600, 0, 63232}}
__PRETTY_FUNCTION__ = "_nss_systemd_getpwuid_r"
_found = <optimized out>
__assert_in_set = {<optimized out>, <optimized out>}
#3 0x00000000004aa713 in getpwuid_r ()
No symbol table info available.
#4 0x00000000004aa0c3 in getpwuid ()
No symbol table info available.
#5 0x0000000000415487 in UsersTable_getRef (this=0x550cc0, uid=63378) at UsersTable.c:35
userData = <optimized out>
name = <optimized out>
#6 0x000000000041ae6c in LinuxProcessList_recurseProcTree (this=0x550e50, parentFd=<optimized out>, dirname=<optimized out>, parent=0x0, period=279062.25, now=1612029284743) at linux/LinuxProcessList.c:1411
pid = <optimized out>
proc = <optimized out>
procFd = 4
command = "sleep\000lctl\000r\000events_unbound\000icient", '\000' <repeats 94 times>
lasttimes = 0
tty_nr = <optimized out>
lp = <optimized out>
percent_cpu = <optimized out>
name = <optimized out>
preExisting = false
pl = 0x550e50
entry = <optimized out>
settings = 0x555ea0
dirFd = 3
dir = <optimized out>
cpus = 4
hideKernelThreads = true
hideUserlandThreads = true
errorReadingProcess = <optimized out>
__PRETTY_FUNCTION__ = "LinuxProcessList_recurseProcTree"
#7 0x000000000041c563 in ProcessList_goThroughEntries (super=super@entry=0x550e50, pauseProcessUpdate=pauseProcessUpdate@entry=false) at linux/LinuxProcessList.c:1988
this = 0x550e50
settings = <optimized out>
period = 279062.25
tv = {tv_sec = 1612029284, tv_usec = 743522}
now = <optimized out>
rootFd = -100
#8 0x00000000004118af in ProcessList_scan (this=this@entry=0x550e50, pauseProcessUpdate=pauseProcessUpdate@entry=false) at ProcessList.c:572
now = {tv_sec = 5599984, tv_nsec = 5901632}
firstScanDone = true
#9 0x0000000000401edc in main (argc=<optimized out>, argv=<optimized out>) at htop.c:468
lc_ctype = <optimized out>
flags = {pidMatchList = 0x0, commFilter = 0x0, userId = <optimized out>, sortKey = 0, delay = -1, useColors = true, enableMouse = true, treeView = false, allowUnicode = <optimized out>, highlightChanges = <optimized out>, highlightDelaySecs = <optimized out>}
ut = 0x550cc0
pl = 0x550e50
settings = 0x555ea0
header = 0x5561c0
panel = 0x7fffffffda50
state = {settings = 0x555ea0, ut = 0x550cc0, pl = 0x550e50, panel = 0x5a0d40, header = 0x5561c0, pauseProcessUpdate = false, hideProcessSelection = false}
scr = 0x5572f0
(gdb) quit
did it segfault in _nss_systemd_is_blocked() ? the only reference i could find to that function is https://github.com/systemd/systemd/blob/main/src/nss-systemd/nss-systemd.c
with _nss_systemd_is_blocked() defined as
_public_ bool _nss_systemd_is_blocked(void) {
return _blocked > 0;
}
and _blocked defined as
static thread_local unsigned _blocked = 0;
uhm, may suggest that the pointer to the static thread_local
somehow got messed up? (the static binary believes it's elsewhere, trying to read unallocated memory?)
did it segfault in _nss_systemd_is_blocked() ? the only reference i could find to that function is https://github.com/systemd/systemd/blob/main/src/nss-systemd/nss-systemd.c
Hoping to provide some insight since I recently had to debug this issue for our containers running a statically linked binary that used nss-systemd. As I understand it, statically linked binaries do all of their thread local storage (TLS) allocations at the start of the program based on what was linked in. NSS modules are dlopen-ed so if they use TLS they do not get allocated in the statically linked binary scenario (hence the segfault when trying to access it).
One way to fix this is to rebuild systemd. You can add -mtls-dialect=gnu2
to gcc (on x86-64) when building systemd so that it uses the TLS descriptor method for TLS instead of the traditional TLS method. This changes the way the allocation works. Alternatively you can use the -ftls-model=initial-exec
gcc flag which will use the traditional TLS method with the initial-exec TLS model. This ends up using the (limited) surplus space set aside for things like dlopen-ed shared objects using static TLS. You can also patch systemd by adding __attribute__ ((tls_model("initial-exec")))
to __blocked
to achieve the same effect as -ftls-model=initial-exec
. I went with TLS descriptors since https://www.google.com/search?q=%22dlopen:+cannot+load+any+more+object+with+static+TLS%22 suggests running out of surplus space is a real problem.
Another way to get around this is to remove "systemd" from /etc/nsswitch.conf
on the system so that the statically linked binary doesn't try to use nss-systemd. This might not be an option if you actually need/want to use nss-systemd. It should also be possible to explicitly link against nss-systemd in the statically linked application so the thread-local from nss-systemd will have an allocation (but I haven't tried this).
Of course you can also try to fix this upstream. The commit introducing the thread local to nss-systemd is in https://github.com/systemd/systemd/commit/037b0a47b0d7df09d720dda6703135117e7e0472 which was relatively recent (systemd 246, so 2 versions ago). There could be a way to achieve the goals mentioned in that change without thread locals.
edit: -mtls-dialect=gnu2
doesn't seem to work for x32 until gcc 10 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93319) and possibly also binutils 2.35 (https://sourceware.org/bugzilla/show_bug.cgi?id=25416). If that applies to anyone then adding __attribute__ ((tls_model("initial-exec")))
might be more universal.
Also facing this trying to run htop static in a flatcar linux host
Also facing this trying to run htop static in a flatcar linux host
Which version of htop did you run? AFAIR there was a commit recently that changed some aspects of building htop
statically and might have had an influence on this issue.