Giter VIP home page Giter VIP logo

diagnose-tools's Introduction

diagnose-tools

1、快速上手

建议在 Centos 7.5/7.6 版本中进行实验。

第一步、使用如下命令clone代码:

git clone https://github.com/alibaba/diagnose-tools.git

第二步、在diagnose-tools目录中运行如下命令初始化编译环境:

make devel        # 安装编译过程中需要的包

make deps         # 编译依赖库,目前主要是编译java agent,以支持用户态java符号表解析

第三步、编译工具:

make

这一步实际上会完成rpm的安装,你也可以用如下命令分别完成相应的工作:

make module       # 编译内核模块

make tools        # 编译用户态命令行工具

make java_agent   # 编译java agent

make pkg          # 制作rpm安装包

第四步、测试

make test

diagnose-tools's People

Contributors

0x0916 avatar alibaba-oss avatar bh1scw avatar cauherk avatar cici-cs avatar cuiyunhui-1 avatar cybertan avatar db-monitor avatar fanjiyun avatar git-baoyou avatar littletiny avatar lonuxli avatar sam6666666 avatar shi-bin-ops avatar w-simon avatar wdvill avatar wufan618223 avatar xinpengliu avatar xiongweijiang avatar zijiang-huang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

diagnose-tools's Issues

The mem-leak function error

[root@localhost diagnose-tools]# diagnose-tools mm-leak --activate
mm-leak activated
[root@localhost diagnose-tools]# diagnose-tools mm-leak --verbose=1
call cmd c0041500 fail, ret is -1
set verbose for mm-leak: 1, ret is -1
[root@localhost diagnose-tools]# diagnose-tools mm-leak --report
call cmd c0181505 fail, ret is -1
[root@localhost diagnose-tools]#

频繁install和uninstall 会告警

使用如下脚本,循环执行到100多次的时候,就会出现告警

for i in `seq 0 200`; do
	printf "%d\n" $i
	diagnose-tools install
	diagnose-tools uninstall
done

测试的版本:3.10.0-862.el7.x86_64 和 4.18.0-80.el8.x86_64
两个内核中都有如下类似的告警信息:

[  646.596846] kobject_add_internal failed for diagnose-tools (error: -2 parent: class)
[  646.596852] diagnose-tools: class_create err=-2

configure: error: flex needed in maintainer mode

$ make deps
cd /opt/deps//elfutils; autoreconf -ivf; ./configure CFLAGS="-g -O2" --disable-debuginfod --enable-maintainer-mode --prefix=/opt/deps//; make install
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:95: installing 'config/ar-lib'
configure.ac:66: installing 'config/config.guess'
configure.ac:66: installing 'config/config.sub'
configure.ac:48: installing 'config/install-sh'
configure.ac:48: installing 'config/missing'
Makefile.am: installing './INSTALL'
backends/Makefile.am: installing 'config/depcomp'
configure.ac: installing 'config/ylwrap'
parallel-tests: installing 'config/test-driver'
autoreconf: Leaving directory `.'
configure: No --program-prefix given, using "eu-"
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... (cached) yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
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 for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for ranlib... ranlib
checking for bison... no
checking for byacc... no
checking for flex... no
checking for lex... no
checking for ar... ar
checking the archiver (ar) interface... ar
checking for readelf... readelf
checking for nm... nm
checking for gcc with GNU99 support... yes
checking whether gcc supports __attribute__((visibility()))... yes
checking whether gcc supports __attribute__((gcc_struct))... yes
checking whether gcc supports -fPIC... yes
checking whether gcc supports -fPIE... yes
checking whether gcc supports -Wl,-z,defs... yes
checking whether the compiler generates build-ids... yes
checking whether gcc supports -Wl,-z,relro... yes
checking for __thread support... yes
checking whether gcc provides stdatomic.h... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking whether fts.h is bad when included (with LFS)... no
checking whether to add -D_FORTIFY_SOURCE=2 to CFLAGS... yes
checking for library containing gzdirect... -lz
checking for library containing BZ2_bzdopen... no
checking for library containing lzma_auto_decoder... -llzma
checking whether memrchr is declared... yes
checking whether rawmemchr is declared... yes
checking whether powerof2 is declared... yes
checking whether mempcpy is declared... yes
checking for process_vm_readv... yes
checking for __cxa_demangle in -lstdc++... yes
checking whether symbol versioning is supported... yes
checking whether gcc accepts -Wstack-usage... yes
checking whether gcc has a sane -Wlogical-op... yes
checking whether gcc accepts -Wduplicated-cond... no
checking whether gcc accepts -Wnull-dereference... no
checking whether gcc accepts -Wimplicit-fallthrough... no
checking whether NLS is requested... yes
checking for msgfmt... no
checking for gmsgfmt... :
checking for xgettext... no
checking for msgmerge... no
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/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 size of long... 8
checking for struct user_regs_struct... yes
checking gcc option for 32-bit word size... -m32
checking for 64-bit host... yes
checking whether gcc -m32 makes executables we can run... no
configure: WARNING: not running biarch tests, gcc -m32 does not work
checking for flex... no
configure: error: flex needed in maintainer mode
make[1]: Entering directory `/opt/deps/elfutils'
make[1]: *** No rule to make target `install'.  Stop.
make[1]: Leaving directory `/opt/deps/elfutils'
make: *** [deps] Error 2

CentOS7.6.1810/3.10.0-957.21.3.el7.x86_64 make 失败/root/diagnose/diagnose-tools-master/SOURCE/module/pmu/entry.c:49:5: 错误:与‘diag_pmu_exit’类型冲突 int diag_pmu_exit(void)

/root/diagnose/diagnose-tools-master/SOURCE/module/pmu/entry.c:49:5: 错误:与‘diag_pmu_exit’类型冲突
int diag_pmu_exit(void)
^
In file included from /root/diagnose/diagnose-tools-master/SOURCE/module/pmu/entry.c:17:0:
/root/diagnose/diagnose-tools-master/SOURCE/module/internal.h:902:6: 附注:‘diag_pmu_exit’的上一个声明在此
void diag_pmu_exit(void);
^
make[3]: *** [/root/diagnose/diagnose-tools-master/SOURCE/module/pmu/entry.o] 错误 1
make[3]: *** 正在等待未完成的任务....
make[2]: *** [module/root/diagnose/diagnose-tools-master/SOURCE/module] 错误 2
make[2]: 离开目录“/usr/src/kernels/3.10.0-957.21.3.el7.x86_64”
make[1]: *** [default] 错误 2
make[1]: 离开目录“/root/diagnose/diagnose-tools-master/SOURCE/module”
make: *** [module] 错误 2

Redhat7.8编译不通过

cd SOURCE/module; make --jobs=1
make[1]: Entering directory /software/diagnose-tools/SOURCE/module' make CFLAGS_MODULE="-DMODULE -DCENTOS_7U -DCENTOS_3_10_1127" -C /lib/modules/3.10.0-1127.el7.x86_64/build M=/software/diagnose-tools/SOURCE/module modules make: Entering an unknown directory make: *** /lib/modules/3.10.0-1127.el7.x86_64/build: No such file or directory. Stop. make: Leaving an unknown directory make[1]: *** [default] Error 2 make[1]: Leaving directory /software/diagnose-tools/SOURCE/module'
make: *** [module] Error 2

[root@redhat diagnose-tools]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.8 (Maipo)

mutex_lock detect

mutex_lock dectect mechanism uses new_mutex_lock function by replaced orignal mutex_lock。I wan to why it is accomplished with replace。if it uses kprobe mechsnism, it will cause very mucha overhead?

Failed to compile on 5.11.0

fcheck_files has been renamed to files_lookup_fd_rcu. https://lore.kernel.org/lkml/[email protected]/

/root/diagnose-tools/SOURCE/module/pub/uprobe.c: In function ‘hook_uprobe’:
/root/diagnose-tools/SOURCE/module/pub/uprobe.c:47:16: error: implicit declaration of function ‘fcheck_files’ [-Werror=implicit-function-declaration]
   47 |         file = fcheck_files(files, fd);
      |                ^~~~~~~~~~~~
/root/diagnose-tools/SOURCE/module/pub/uprobe.c:47:14: warning: assignment to ‘struct file *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   47 |         file = fcheck_files(files, fd);
      |              ^
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:281: /root/diagnose-tools/SOURCE/module/pub/uprobe.o] Error 1

autoreconf: command not found

$ make deps
cd /opt/deps//elfutils; autoreconf -ivf; ./configure CFLAGS="-g -O2" --disable-debuginfod --enable-maintainer-mode --prefix=/opt/deps//; make install
/bin/sh: autoreconf: command not found
/bin/sh: ./configure: No such file or directory
make[1]: Entering directory `/opt/deps/elfutils'
make[1]: *** No rule to make target `install'.  Stop.
make[1]: Leaving directory `/opt/deps/elfutils'
make: *** [deps] Error 2

求教

在hrtimer_handler函数中:
if (in_irq()) {
irq_delay_timer(context);
syscall_timer(context);
diag_load_timer(context);
sys_loop_timer(context);
perf_timer(context);
utilization_timer(context);
}
我不太理解为什么一定要放在in_irq中呢?

Hard LOCKUP问题

我在个别机器上发现如下问题,栈有diagnose_save_stack_trace相关信息,想请大神一起看看,讨论下。我暂时没有看出load_monitor的代码问题,还有crash文件,这里没法提供。
我个人怀疑时候当load非常高的时候,load_monitor关中断时间太长。

11745 [46223316.649832] Kernel panic - not syncing: Hard LOCKUP
11746 [46223316.652645] CPU: 0 PID: 282859 Comm: dockerd-current Kdump: loaded Tainted: G W OE K------------ 3.10.0-862.mt20190308.130.el7.x86_64 #1
11747 [46223316.658281] Hardware name: Sugon I620-G20/60G16-US, BIOS 006 09/15/2018
11748 [46223316.661106] Call Trace:
11749 [46223316.663898] [] dump_stack+0x19/0x1b
11750 [46223316.666675] [] panic+0xe8/0x20d
11751 [46223316.669507] [] nmi_panic+0x3f/0x40
11752 [46223316.672227] [] watchdog_overflow_callback+0x121/0x140
11753 [46223316.674965] [] __perf_event_overflow+0x51/0xf0
11754 [46223316.677697] [] perf_event_overflow+0x14/0x20
11755 [46223316.680307] [] intel_pmu_handle_irq+0x220/0x500
11756 [46223316.682979] [] perf_event_nmi_handler+0x2b/0x50
11757 [46223316.685534] [] nmi_handle.isra.0+0x87/0x140
11758 [46223316.688038] [] do_nmi+0x15d/0x450
11759 [46223316.690452] [] end_repeat_nmi+0x1e/0x81
11760 [46223316.692890] [] ? unwind_next_frame.part.6+0x39/0xd0
11761 [46223316.695291] [] ? unwind_next_frame.part.6+0x39/0xd0
11762 [46223316.697624] [] ? unwind_next_frame.part.6+0x39/0xd0
11763 [46223316.699902] [] __unwind_start+0xc8/0x180
11764 [46223316.702161] [] __save_stack_trace+0x5e/0x100
11765 [46223316.704366] [] save_stack_trace_tsk+0x2c/0x40
11766 [46223316.706487] [] diagnose_save_stack_trace+0x9a/0x100 [diagnose]
11767 [46223316.708576] [] diag_task_kern_stack+0xe/0x10 [diagnose]
11768 [46223316.710708] [] diag_load_timer+0x4be/0x580 [diagnose]
11769 [46223316.712782] [] ? diag_pupil_exit+0x30/0x30 [diagnose]
11770 [46223316.714790] [] hrtimer_handler+0xdc/0x110 [diagnose]
11771 [46223316.716780] [] __hrtimer_run_queues+0xf1/0x260
11772 [46223316.718688] [] hrtimer_interrupt+0xaf/0x1d0
11773 [46223316.720565] [] local_apic_timer_interrupt+0x35/0x60
11774 [46223316.722430] [] smp_apic_timer_interrupt+0x3d/0x50
11775 [46223316.724313] [] apic_timer_interrupt+0x162/0x170
11776 [46223316.726153] [] ? down_read_trylock+0x1a/0x50
11777 [46223316.727932] [] __do_page_fault+0x10f/0x4f0
11778 [46223316.729653] [] do_page_fault+0x35/0x90
11779 [46223316.731383] [] page_fault+0x28/0x30

在rhel 7.6 ARM 64 环境下编译不通过

image
dwarf/Gfind_proc_info-lsb.c:130:24: error: 'SHF_COMPRESSED' undeclared (first use in this function)
if (shdr->sh_flags & SHF_COMPRESSED)
^
dwarf/Gfind_proc_info-lsb.c:130:24: note: each undeclared identifier is reported only once for each function it appears in
In file included from ./elf64.h:7:0,
from ../include/tdep-aarch64/libunwind_i.h:36,
from ../include/tdep/libunwind_i.h:7,
from ../include/libunwind_i.h:357,
from ../include/dwarf_i.h:10,
from dwarf/Gfind_proc_info-lsb.c:33,
from dwarf/Lfind_proc_info-lsb.c:4:
./elfxx.h:41:25: error: unknown type name 'Elf64_Chdr'

define Elf_W(x) Elf64_##x

                     ^

dwarf/Gfind_proc_info-lsb.c:133:7: note: in expansion of macro 'Elf_W'
Elf_W (Chdr) *chdr = (shdr->sh_offset + ei.image);
^
In file included from dwarf/Lfind_proc_info-lsb.c:4:0:
dwarf/Gfind_proc_info-lsb.c:135:15: error: request for member 'ch_type' in something not a structure or union
if (chdr->ch_type == ELFCOMPRESS_ZLIB)
^
dwarf/Gfind_proc_info-lsb.c:135:28: error: 'ELFCOMPRESS_ZLIB' undeclared (first use in this function)
if (chdr->ch_type == ELFCOMPRESS_ZLIB)
^
dwarf/Gfind_proc_info-lsb.c:137:30: error: request for member 'ch_size' in something not a structure or union
*bufsize = destSize = chdr->ch_size;
^
make[3]: *** [dwarf/Lfind_proc_info-lsb.lo] Error 1
make[3]: Leaving directory /root/diagnose-tools/deps/libunwind/src' make[2]: *** [install] Error 2 make[2]: Leaving directory /root/diagnose-tools/deps/libunwind/src'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/root/diagnose-tools/deps/libunwind'
make: *** [deps] Error 2

[root@ecs-94ae diagnose-tools]# uname -r
4.18.0-80.7.2.el7.aarch64
[root@ecs-94ae diagnose-tools]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (AltArch)
[root@ecs-94ae diagnose-tools]# ldd --version
ldd (GNU libc) 2.17
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
[root@ecs-94ae diagnose-tools]#

diagnose-tools/rpmbuild/../SOURCE/diagnose-tools/diagnose-tools': No such file or directory

[root@centos7 diagnose-tools]# make pkg
cd rpmbuild; sh rpmbuild.sh
args1:  args2:  args3:  args4: 
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.mxCeUT
+ umask 022
+ cd /root/github/diagnose-tools/rpmbuild/BUILD
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.Ep4adt
+ umask 022
+ cd /root/github/diagnose-tools/rpmbuild/BUILD
+ '[' /root/github/diagnose-tools/rpmbuild/BUILDROOT/diagnose-tools-2.1-release.el7.x86_64 '!=' / ']'
+ rm -rf /root/github/diagnose-tools/rpmbuild/BUILDROOT/diagnose-tools-2.1-release.el7.x86_64
++ dirname /root/github/diagnose-tools/rpmbuild/BUILDROOT/diagnose-tools-2.1-release.el7.x86_64
+ mkdir -p /root/github/diagnose-tools/rpmbuild/BUILDROOT
+ mkdir /root/github/diagnose-tools/rpmbuild/BUILDROOT/diagnose-tools-2.1-release.el7.x86_64
+ mkdir -p /root/github/diagnose-tools/rpmbuild/BUILDROOT/diagnose-tools-2.1-release.el7.x86_64/usr/diagnose-tools/
+ mkdir -p /root/github/diagnose-tools/rpmbuild/BUILDROOT/diagnose-tools-2.1-release.el7.x86_64/usr/bin/
+ /bin/cp -rf /root/github/diagnose-tools/build/lib /root/github/diagnose-tools/rpmbuild/BUILDROOT/diagnose-tools-2.1-release.el7.x86_64/usr/diagnose-tools/
+ /bin/cp -rf /root/github/diagnose-tools/build/bin /root/github/diagnose-tools/rpmbuild/BUILDROOT/diagnose-tools-2.1-release.el7.x86_64/usr/diagnose-tools/
+ /bin/cp -rf /root/github/diagnose-tools/rpmbuild/../SOURCE/diagnose-tools/diagnose-tools /root/github/diagnose-tools/rpmbuild/BUILDROOT/diagnose-tools-2.1-release.el7.x86_64/usr/bin/
/bin/cp: cannot stat '/root/github/diagnose-tools/rpmbuild/../SOURCE/diagnose-tools/diagnose-tools': No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.Ep4adt (%install)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.Ep4adt (%install)
make: *** [pkg] Error 1

/bin/sh: line 1: @LIBTOOL@: command not found

$ make deps
...
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking ia64intrin.h usability... no
checking ia64intrin.h presence... no
checking for ia64intrin.h... no
checking sys/uc_access.h usability... no
checking sys/uc_access.h presence... no
checking for sys/uc_access.h... no
checking for unistd.h... (cached) yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking for sys/types.h... (cached) yes
checking sys/procfs.h usability... yes
checking sys/procfs.h presence... yes
checking for sys/procfs.h... yes
checking sys/ptrace.h usability... yes
checking sys/ptrace.h presence... yes
checking for sys/ptrace.h... yes
checking byteswap.h usability... yes
checking byteswap.h presence... yes
checking for byteswap.h... yes
checking elf.h usability... yes
checking elf.h presence... yes
checking for elf.h... yes
checking sys/elf.h usability... no
checking sys/elf.h presence... no
checking for sys/elf.h... no
checking link.h usability... yes
checking link.h presence... yes
checking for link.h... yes
checking sys/link.h usability... no
checking sys/link.h presence... no
checking for sys/link.h... no
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking size of off_t... 8
checking for struct dl_phdr_info.dlpi_subs... yes
checking for struct elf_prstatus... yes
checking for struct prstatus... no
checking whether PTRACE_POKEUSER is declared... yes
checking whether PTRACE_POKEDATA is declared... yes
checking whether PTRACE_SETREGSET is declared... yes
checking whether PTRACE_TRACEME is declared... yes
checking whether PTRACE_CONT is declared... yes
checking whether PTRACE_SINGLESTEP is declared... yes
checking whether PTRACE_SYSCALL is declared... yes
checking whether PT_IO is declared... no
checking whether PT_GETREGS is declared... yes
checking whether PT_GETFPREGS is declared... yes
checking whether PT_CONTINUE is declared... yes
checking whether PT_TRACE_ME is declared... yes
checking whether PT_STEP is declared... yes
checking whether PT_SYSCALL is declared... yes
checking for dl_iterate_phdr... yes
checking for dl_phdr_removals_counter... no
checking for dlmodinfo... no
checking for getunwind... no
checking for ttrace... no
checking for mincore... yes
checking for pipe2... yes
checking if building with AltiVec... no
checking for Android... no
checking if we should build libunwind-coredump... yes
checking for sys/ptrace.h... (cached) yes
checking if we should build libunwind-ptrace... yes
checking if we should build libunwind-setjmp... yes
checking for build architecture... x86_64
checking for host architecture... x86_64
checking for target architecture... x86_64
checking for target operating system... linux-gnu
checking for ELF helper width... 64
checking whether to include DWARF support... yes
checking whether to restrict build to remote support... no
checking whether to enable debug support... 
checking whether to enable C++ exception support... no
checking whether to load .debug_frame sections... no
checking whether to block signals during mutex ops... yes
checking whether to validate memory addresses before use... yes
checking whether to enable msabi support... 
checking whether to support LZMA-compressed symbol tables... auto
checking for lzma_mf_is_supported in -llzma... yes
checking whether to support ZLIB-compressed symbol tables... auto
checking for uncompress in -lz... yes
checking whether to support UNW_CACHE_PER_THREAD... 
checking for Intel compiler... no
checking if building on Solaris then define __EXTENSIONS__ macro... yes
checking for QCC compiler... no
checking for __builtin___clear_cache... yes
checking for __builtin_unreachable... yes
checking for __sync atomics... yes
checking for library containing backtrace... none required
checking for latex2man... no
configure: WARNING: latex2man not found. Install latex2man. Disabling docs.
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating tests/Makefile
config.status: creating tests/check-namespace.sh
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating include/libunwind-common.h
config.status: creating include/libunwind.h
config.status: creating include/tdep/libunwind_i.h
config.status: creating src/unwind/libunwind.pc
config.status: creating src/coredump/libunwind-coredump.pc
config.status: creating src/ptrace/libunwind-ptrace.pc
config.status: creating src/setjmp/libunwind-setjmp.pc
config.status: creating src/libunwind-generic.pc
config.status: creating include/config.h
config.status: executing depfiles commands
make[1]: Entering directory `/opt/deps/libunwind'
Making install in src
make[2]: Entering directory `/opt/deps/libunwind/src'
make  install-am
make[3]: Entering directory `/opt/deps/libunwind/src'
depbase=`echo os-linux.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
@LIBTOOL@  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../include  -I../include -I../include/tdep-x86_64 -I. -D_GNU_SOURCE -DNDEBUG  -g -O2 -fexceptions -Wall -Wsign-compare -D__EXTENSIONS__ -MT os-linux.lo -MD -MP -MF $depbase.Tpo -c -o os-linux.lo os-linux.c &&\
mv -f $depbase.Tpo $depbase.Plo
/bin/sh: line 1: @LIBTOOL@: command not found
make[3]: *** [os-linux.lo] Error 127
make[3]: Leaving directory `/opt/deps/libunwind/src'
make[2]: *** [install] Error 2
make[2]: Leaving directory `/opt/deps/libunwind/src'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/opt/deps/libunwind'
make: *** [deps] Error 2

diagnose-tools install failed

env:

# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
[root@****** ~]# uname -a
Linux ******* 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

error message:

# diagnose-tools install
insmod: ERROR: could not insert module /usr/diagnose-tools/lib/3.10.0-1160.el7.x86_64//diagnose.ko: Invalid parameters
failed to install

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.