Package: libc6-i386
Version: 2.24-11+deb9u1
Using gethostbyname in a fpc 2.4 application causes a crash with the following error:
An unhandled exception occurred at $F763F591 :
EAccessViolation : Access violation
$F763F591
checking the gdb backtrace:
Program received signal SIGSEGV, Segmentation fault.
0xf7f15591 in inet_pton () from /lib32/libc.so.6
(gdb) backtrace
#0 0xf7f15591 in inet_pton () from /lib32/libc.so.6
#1 0xf7d5bec1 in ?? () from /lib32/libnss_files.so.2
#2 0xf7d5c310 in _nss_files_gethostbyname3_r () from /lib32/libnss_files.so.2
#3 0xf7d5c8ad in _nss_files_gethostbyname_r () from /lib32/libnss_files.so.2
#4 0xf7f0a4fc in gethostbyname_r () from /lib32/libc.so.6
#5 0xf7f09bac in gethostbyname () from /lib32/libc.so.6
#6 0x0808198c in ?? ()
#7 0x08081825 in ?? ()
#8 0x08095e47 in ?? ()
#9 0x08057a2b in ?? ()
#10 0x08054b2f in ?? ()
#11 0x08052cdd in ?? ()
#12 0x08052ab3 in ?? ()
#13 0x08052a1c in ?? ()
#14 0x08068a21 in ?? ()
#15 0x080679e4 in ?? ()
#16 0x0805c185 in ?? ()
#17 0x08053acf in ?? ()
#18 0x08052cdd in ?? ()
#19 0x08052ab3 in ?? ()
#20 0x08052a1c in ?? ()
#21 0x080494d2 in ?? ()
#22 0x08048da8 in ?? ()
#23 0xf7e29276 in __libc_start_main () from /lib32/libc.so.6
#24 0x08048302 in ?? ()
$ dpkg -s libc6-i386
Package: libc6-i386
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 11250
Architecture: amd64
Source: glibc
Version: 2.24-11+deb9u1
Replaces: libc6-dev-i386
Depends: libc6 (= 2.24-11+deb9u1)
Conffiles:
/etc/ld.so.conf.d/zz_i386-biarch-compat.conf 82fedc1c0e9655edf8debad064dca6f1
Description: GNU C Library: 32-bit shared libraries for AMD64
This package includes shared versions of the standard C
library and the standard math library, as well as many others.
This is the 32bit version of the library, meant for AMD64 systems.
$ uname -a
Linux stretch-vm 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u2 (2017-06-26) x86_64 GNU/Linux
Removing the default ipv6 entires from the /etc/hosts file fixes the crash.
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6 has no effect.
This seems to be a bug in libc6-i386? Older versions on Wheezy in a similar setup are running the same binary fine, even with the /etc/hosts entries present.