cURL / Mailing Lists / curl-library / Single Mail

curl-library

A tale of two SPARC servers wherein one gets wedged on the testsuite

From: dev <dev_at_cor0.com>
Date: Fri, 16 Oct 2015 00:10:32 -0400 (EDT)

Very strange.

After the new release I instantly fetched the tarball and began a build
on two different SPARC servers. Both run the same version of Solaris 10
however one is quite old and a baseline UltraSPARC II type processor.
Very stable. Gets the job done. Run ISC Bind wonderfully well. The other
is a much larger 128 core Niagara SPARC T2 server and it runs many many
things. Both have fairly full stacks of open source software and Curl is
a pretty critical piece of the puzzle. Essential in fact.

So the Niagara class server did the build and the testsuite wonderfully
with flying colours and I simply did the install. Great.

The older SPARC server did the build in twice the time ( yep, clock
speed isn't everything in the SPARC world ) and the testsuite has been
running now for 26 hours 52 minutes and 37 seconds fully wedged on test
0575 where the last line I see looks like :

test 0574...OK (404 out of 984, remaining: 12:46)
test 0575...

Also a ps shows a really massive number of "defunct" processes.

So I hit CTRL-C over and over. The things ends like so :

test 0576...FAILED
test 0578...FAILED
test 0579...FAILED
test 0580...FAILED
test 0581...FAILED
test 0584...FAILED
test 0585...FAILED
test 0586...FAILED
test 0587...FAILED
test 0588...FAILED
test 0591...FAILED
test 0592...FAILED
test 0593...FAILED
test 0595...
.
.
.
test 0704... exit FAILED
test 0705...Somebody sent me a SIGINT at ./runtests.pl line 336.
runtests.pl received SIGINT, exiting
gmake[1]: *** [quiet-test] Error 2
gmake: *** [test] Interrupt
time: command terminated abnormally.

real 96757.03
user 0.00
sys 0.00

Also all the defunct processes vanish neatly in a puff of smoke.

So I guess the question is, on a slower older system do I need to grant
special considerations or perhaps indicate the the timeouts on a test
should be extended or any thoughts ?

Here is what configure looked like :

$ ./configure --enable-shared --enable-static --with-libidn=/usr/local \
> --enable-tls-srp --with-ssl --with-gnutls=/usr/local \
> --with-ca-path=/usr/local/ssl/certs

checking whether to enable maintainer-specific portions of Makefiles...
no
checking whether to enable debug build options... no
checking whether to enable compiler optimizer... (assumed) yes
checking whether to enable strict compiler warnings... no
checking whether to enable compiler warnings as errors... no
checking whether to enable curl debug memory tracking... no
checking whether to enable hiding of library internal symbols... yes
checking whether to enable c-ares for DNS lookups... no
checking whether to disable dependency on -lrt... (assumed no)
checking for path separator... :
checking for egrep... /usr/local/bin/grep -E
checking for a BSD-compatible install... ./install-sh -c
checking for gcc... /opt/solarisstudio12.4/bin/cc
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... no
checking whether /opt/solarisstudio12.4/bin/cc accepts -g... yes
checking for /opt/solarisstudio12.4/bin/cc option to accept ISO C89...
none needed
checking whether /opt/solarisstudio12.4/bin/cc understands -c and -o
together... yes
checking how to run the C preprocessor... /opt/solarisstudio12.4/bin/cc
-E
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... gawk
checking whether /usr/local/bin/gmake sets $(MAKE)... yes
checking for style of include used by /usr/local/bin/gmake... GNU
checking whether /usr/local/bin/gmake supports nested variables... yes
checking dependency style of /opt/solarisstudio12.4/bin/cc... none
checking curl version... 7.45.0
checking build system type... sparc-sun-solaris2.10
checking host system type... sparc-sun-solaris2.10
checking for sys/types.h... yes
checking for stdint.h... yes
checking for inttypes.h... yes
checking for grep that handles long lines and -e... /usr/local/bin/grep
checking for egrep... /usr/local/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... (cached) 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... (cached) yes
checking for stdint.h... (cached) yes
checking for unistd.h... yes
checking size of long... 8
checking size of void*... 8
checking for 64-bit curl_off_t data type... long
checking size of curl_off_t... 8
checking formatting string directive for curl_off_t... "ld"
checking formatting string directive for unsigned curl_off_t... "lu"
checking constant suffix string for curl_off_t... L
checking constant suffix string for unsigned curl_off_t... UL
checking if OS is AIX (to define _ALL_SOURCE)... no
checking if _THREAD_SAFE is already defined... no
checking if _THREAD_SAFE is actually needed... no
checking if _THREAD_SAFE is onwards defined... no
checking if _REENTRANT is already defined... no
checking if _REENTRANT is actually needed... yes
checking if _REENTRANT is onwards defined... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/local/bin/sed
checking for fgrep... /usr/local/bin/grep -F
checking for non-GNU ld... /usr/ccs/bin/sparcv9/ld
checking if the linker (/usr/ccs/bin/sparcv9/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)...
/usr/ccs/bin/sparcv9/nm -p
checking the name lister (/usr/ccs/bin/sparcv9/nm -p) interface... BSD
nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786240
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert sparc-sun-solaris2.10 file names to
sparc-sun-solaris2.10 format... func_convert_file_noop
checking how to convert sparc-sun-solaris2.10 file names to toolchain
format... func_convert_file_noop
checking for /usr/ccs/bin/sparcv9/ld option to reload object files... -r
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/ccs/bin/sparcv9/nm -p output from
/opt/solarisstudio12.4/bin/cc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking for /opt/solarisstudio12.4/bin/cc option to produce PIC...
-KPIC -DPIC
checking if /opt/solarisstudio12.4/bin/cc PIC flag -KPIC -DPIC works...
yes
checking if /opt/solarisstudio12.4/bin/cc static flag -Bstatic works...
yes
checking if /opt/solarisstudio12.4/bin/cc supports -c -o file.o... yes
checking if /opt/solarisstudio12.4/bin/cc supports -c -o file.o...
(cached) yes
checking whether the /opt/solarisstudio12.4/bin/cc linker
(/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.10 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking whether to build shared libraries with -version-info... yes
checking whether to build shared libraries with -no-undefined... no
checking whether to build shared libraries with -mimpure-text... no
checking whether to build shared libraries with PIC... yes
checking whether to build static libraries with PIC... no
checking whether to build shared libraries only... no
checking whether to build static libraries only... no
checking for inline... inline
checking if compiler is DEC/Compaq/HP C... no
checking if compiler is HP-UX C... no
checking if compiler is IBM C... no
checking if compiler is Intel C... no
checking if compiler is clang... no
checking if compiler is GNU C... no
checking if compiler is LCC... no
checking if compiler is SGI MIPSpro C... no
checking if compiler is SGI MIPS C... no
checking if compiler is SunPro C... yes
checking if compiler is Tiny C... no
checking if compiler is Watcom C... no
checking if compiler accepts debug disabling options... yes
configure: compiler options added: -s
checking if compiler optimizer assumed setting might be used... yes
checking if compiler accepts optimizer enabling options... yes
configure: compiler options added: -xO2
checking if compiler halts on compilation errors... yes
checking if compiler halts on negative sized arrays... yes
checking if compiler halts on function prototype mismatch... yes
checking if compiler supports hiding library internal symbols... yes
checking for windows.h... no
checking whether build target is a native Windows one... no
checking whether build target supports WIN32 file API... no
checking whether to support http... yes
checking whether to support ftp... yes
checking whether to support file... yes
checking whether to support ldap... yes
checking whether to support ldaps... yes
checking whether to support rtsp... yes
checking whether to support proxies... yes
checking whether to support dict... yes
checking whether to support telnet... yes
checking whether to support tftp... yes
checking whether to support pop3... yes
checking whether to support imap... yes
checking whether to support smb... yes
checking whether to support smtp... yes
checking whether to support gopher... yes
checking whether to provide built-in manual... yes
checking whether to enable generation of C code... yes
checking whether to use libgcc... no
checking if X/Open network library is required... no
checking for gethostbyname... no
checking for gethostbyname in -lnsl... yes
checking for strcasecmp... yes
checking for windows.h... (cached) no
checking for winsock.h... (cached) no
checking for winsock2.h... (cached) no
checking for connect in libraries... -lsocket
checking whether time.h and sys/time.h may both be included... yes
checking for sys/types.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for monotonic clock_gettime... yes
checking for clock_gettime in libraries... -lrt
checking if monotonic clock_gettime works... yes
checking for inflateEnd in -lz... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
configure: found both libz and libz.h header
checking for lber.h... yes
checking for ldap.h... yes
checking for ldapssl.h... no
.
.
.
. and then nothing interesting happens
.

checking for libressl... no
configure: Added /usr/local/ssl/lib to LD_LIBRARY_PATH
checking for OpenSSL headers version... 1.0.2 - 0x1000204fL
checking for OpenSSL library version... 1.0.2
checking for OpenSSL headers and library versions matching... yes
checking for "/dev/urandom"... yes
checking for SRP_Calc_client_key in -lcrypto... yes
checking default CA cert bundle/path... /usr/local/ssl/certs (capath)
checking for libssh2_channel_open_ex in -lssh2... yes
checking libssh2.h usability... yes
checking libssh2.h presence... yes
checking for libssh2.h... yes
.
.
.
. more uninteresting things happen
.

configure: Configured to build curl/libcurl:

  curl version: 7.45.0
  Host setup: sparc-sun-solaris2.10
  Install prefix: /usr/local
  Compiler: /opt/solarisstudio12.4/bin/cc
  SSL support: enabled (OpenSSL)
  SSH support: enabled (libSSH2)
  zlib support: enabled
  GSS-API support: no (--with-gssapi)
  TLS-SRP support: enabled
  resolver: default (--enable-ares / --enable-threaded-resolver)
  IPv6 support: enabled
  Unix sockets support: enabled
  IDN support: enabled
  Build libcurl: Shared=yes, Static=yes
  Built-in manual: enabled
  --libcurl option: enabled (--disable-libcurl-option)
  Verbose errors: enabled (--disable-verbose)
  SSPI support: no (--enable-sspi)
  ca cert bundle: no
  ca cert path: /usr/local/ssl/certs
  LDAP support: enabled (OpenLDAP)
  LDAPS support: enabled
  RTSP support: enabled
  RTMP support: no (--with-librtmp)
  metalink support: no (--with-libmetalink)
  HTTP2 support: disabled (--with-nghttp2)
  Protocols: DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS LDAP
LDAPS POP3 POP3S RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP

The compile goes smooth but the tests get wedged .. badly. However only
at test 575 and only on this old SPARC server.

Any thoughts ?

Dennis
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2015-10-16