Hello,
On 07. 07. 20 17:11, Stephen Gelman wrote:
On Jul 7, 2020, at 9:42 AM, Jiri Palecek <jpale...@web.de> wrote:
Package: checkinstall
Version: 1.6.2+git20170426.d24a630-2
Severity: important
File: /usr/bin/installwatch
Dear Maintainer,
while trying to use checkinstall to create a debianized package from a
cmake based source, the build failed with a segfault. These are linked
to installwatch and don't happen without it:
$ installwatch make cmake_check_build_system
INFO : Using a default root directory : /tmp/tmp.JBpq66zd4H
make: *** [Makefile:10806: cmake_check_build_system] Neoprávněný přístup do
paměti (SIGSEGV) (obraz paměti uložen)
There is a backtrace of the crash, which indicates it happens early in
the initialization of cmake around a stat call:
(gdb) bt
#0 0x00000000 in ?? ()
#1 0xb6a3fbd3 in stat64 (__statbuf=<optimized out>, __path=0xb6b472bb
"/etc/gnutls/config") at /usr/include/i386-linux-gnu/sys/stat.h:455
#2 _gnutls_update_system_priorities () at ../../lib/priority.c:1309
#3 0xb6a534f5 in _gnutls_global_init (constructor=constructor@entry=1) at
../../lib/global.c:387
#4 0xb6a25950 in lib_init () at ../../lib/global.c:511
#5 0xb7f35f5c in call_init (l=<optimized out>, argc=argc@entry=6,
argv=argv@entry=0xbfe33e64, env=0xbfe33e80) at dl-init.c:72
#6 0xb7f36062 in call_init (env=0xbfe33e80, argv=0xbfe33e64, argc=6, l=<optimized
out>) at dl-init.c:30
#7 _dl_init (main_map=<optimized out>, argc=6, argv=0xbfe33e64,
env=0xbfe33e80) at dl-init.c:119
#8 0xb7f270fa in _dl_start_user () from /lib/ld-linux.so.2
(gdb) frame 1
#1 0xb6a3fbd3 in stat64 (__statbuf=<optimized out>, __path=0xb6b472bb
"/etc/gnutls/config") at /usr/include/i386-linux-gnu/sys/stat.h:455
455 return __xstat (_STAT_VER, __path, __statbuf);
Why did it end up with EIP=0 I don't know.
It seems there's some incompatibility between installwatch's LD_PRELOAD
and glibc.
Could you have a look at it?
Regards
Jiri Palecek
Jiri,
Thanks for the report. In order to help me narrow this down are you able to
provide a simple test case to reproduce the problem?
I don't know if it's simple, but here goes. In an empty directory:
$ touch CMakeLists.txt
$ cmake .
$ installwatch cmake .
The last line crashes on my system.
Regards
Jiri Palecek