[tor-bugs] #27432 [Core Tor/Tor]: Appveyor: all compiled x86_64 executables crash

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Sep 4 08:16:13 UTC 2018


#27432: Appveyor: all compiled x86_64 executables crash
------------------------------+--------------------------------
     Reporter:  teor          |      Owner:  teor
         Type:  defect        |     Status:  assigned
     Priority:  Medium        |  Milestone:  Tor: 0.3.4.x-final
    Component:  Core Tor/Tor  |    Version:
     Severity:  Normal        |   Keywords:  034-must?
Actual Points:                |  Parent ID:  #27389
       Points:                |   Reviewer:
      Sponsor:                |
------------------------------+--------------------------------
 Since Friday, all x86_64 appveyor builds fail in the build stage. Old
 branches also fail if they are re-built. (So it's not new code in tor
 causing the issue.)

 i686 builds succeed.

 Here is the relevant part of the config.log:
 {{{
 [00:03:05] configure:12609: checking size of char
 [00:03:05] configure:12614: x86_64-w64-mingw32-gcc -o conftest.exe -g -O2
 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-all -Wstack-
 protector --param ssp-buffer-size=1 -fasynchronous-unwind-tables
 conftest.c  >&5
 [00:03:05] configure:12614: $? = 0
 [00:03:05] configure:12614: ./conftest.exe
 [00:03:05] ../configure: line 1924:  2628 Segmentation fault
 ./conftest$ac_exeext
 [00:03:05] configure:12614: $? = 139
 [00:03:05] configure: program exited with status 139
 [00:03:05] configure: failed program was:
 [00:03:05] | /* confdefs.h */
 [00:03:05] | #define PACKAGE_NAME "tor"
 [00:03:05] | #define PACKAGE_TARNAME "tor"
 [00:03:05] | #define PACKAGE_VERSION "0.3.5.0-alpha-dev"
 [00:03:05] | #define PACKAGE_STRING "tor 0.3.5.0-alpha-dev"
 [00:03:05] | #define PACKAGE_BUGREPORT ""
 [00:03:05] | #define PACKAGE_URL ""
 [00:03:05] | #define PACKAGE "tor"
 [00:03:05] | #define VERSION "0.3.5.0-alpha-dev"
 [00:03:05] | #define STDC_HEADERS 1
 [00:03:05] | #define HAVE_SYS_TYPES_H 1
 [00:03:05] | #define HAVE_SYS_STAT_H 1
 [00:03:05] | #define HAVE_STDLIB_H 1
 [00:03:05] | #define HAVE_STRING_H 1
 [00:03:05] | #define HAVE_MEMORY_H 1
 [00:03:05] | #define HAVE_STRINGS_H 1
 [00:03:05] | #define HAVE_INTTYPES_H 1
 [00:03:05] | #define HAVE_STDINT_H 1
 [00:03:05] | #define HAVE_UNISTD_H 1
 [00:03:05] | #define __EXTENSIONS__ 1
 [00:03:05] | #define _ALL_SOURCE 1
 [00:03:05] | #define _GNU_SOURCE 1
 [00:03:05] | #define _POSIX_PTHREAD_SEMANTICS 1
 [00:03:05] | #define _TANDEM_SOURCE 1
 [00:03:05] | #define ENABLE_ZSTD_ADVANCED_APIS 1
 [00:03:05] | #define HAVE_MODULE_DIRAUTH 1
 [00:03:05] | #define FLEXIBLE_ARRAY_MEMBER /**/
 [00:03:05] | #define HAVE_RTLSECUREZEROMEMORY 1
 [00:03:05] | #define HAVE_FTIME 1
 [00:03:05] | #define HAVE_GETTIMEOFDAY 1
 [00:03:05] | #define HAVE_LLROUND 1
 [00:03:05] | #define HAVE_LROUND 1
 [00:03:05] | #define HAVE_RINT 1
 [00:03:05] | #define HAVE_STRNCASECMP 1
 [00:03:05] | #define HAVE_STRCASECMP 1
 [00:03:05] | #define HAVE_STRNLEN 1
 [00:03:05] | #define HAVE_STRTOK_R 1
 [00:03:05] | #define HAVE_STRTOULL 1
 [00:03:05] | #define HAVE_TRUNCATE 1
 [00:03:05] | #define HAVE_USLEEP 1
 [00:03:05] | #define HAVE_VASPRINTF 1
 [00:03:05] | #define HAVE__VSCPRINTF 1
 [00:03:05] | #define HAVE_CLOCK_GETTIME 1
 [00:03:05] | #define HAVE_DECL_SECUREZEROMEMORY 1
 [00:03:05] | #define HAVE_DECL__GETWCH 1
 [00:03:05] | #define HAVE_EVENT2_EVENT_H 1
 [00:03:05] | #define HAVE_EVENT2_DNS_H 1
 [00:03:05] | #define HAVE_EVENT2_BUFFEREVENT_SSL_H 1
 [00:03:05] | #define HAVE_EVUTIL_SECURE_RNG_SET_URANDOM_DEVICE_FILE 1
 [00:03:05] | #define HAVE_EVUTIL_SECURE_RNG_ADD_BYTES 1
 [00:03:05] | #define HAVE_STRUCT_SSL_METHOD_ST_GET_CIPHER_BY_CHAR 1
 [00:03:05] | #define HAVE_SSL_CIPHER_FIND 1
 [00:03:05] | #define HAVE_SSL_STATE 1
 [00:03:05] | #define SIZEOF_SHA_CTX 96
 [00:03:05] | #define HAVE_LZMA 1
 [00:03:05] | #define USE_CURVE25519_DONNA 1
 [00:03:05] | #define _FILE_OFFSET_BITS 64
 [00:03:05] | #define HAVE_ERRNO_H 1
 [00:03:05] | #define HAVE_FCNTL_H 1
 [00:03:05] | #define HAVE_SIGNAL_H 1
 [00:03:05] | #define HAVE_STRING_H 1
 [00:03:05] | #define HAVE_SYS_FCNTL_H 1
 [00:03:05] | #define HAVE_SYS_STAT_H 1
 [00:03:05] | #define HAVE_SYS_TIME_H 1
 [00:03:05] | #define HAVE_SYS_TYPES_H 1
 [00:03:05] | #define HAVE_TIME_H 1
 [00:03:05] | #define HAVE_UNISTD_H 1
 [00:03:05] | #define HAVE_INTTYPES_H 1
 [00:03:05] | #define HAVE_LIMITS_H 1
 [00:03:05] | #define HAVE_MALLOC_H 1
 [00:03:05] | #define HAVE_STDATOMIC_H 1
 [00:03:05] | #define HAVE_SYS_FILE_H 1
 [00:03:05] | #define HAVE_SYS_PARAM_H 1
 [00:03:05] | #define HAVE_SYS_TIME_H 1
 [00:03:05] | #define HAVE_SYS_TYPES_H 1
 [00:03:05] | #define HAVE_SYS_UTIME_H 1
 [00:03:05] | #define HAVE_UTIME_H 1
 [00:03:05] | #define HAVE_SYS_PARAM_H 1
 [00:03:05] | #define HAVE_STRUCT_TIMEVAL_TV_SEC 1
 [00:03:05] | /* end confdefs.h.  */
 [00:03:05] | #include <stdio.h>
 [00:03:05] | #ifdef HAVE_SYS_TYPES_H
 [00:03:05] | # include <sys/types.h>
 [00:03:05] | #endif
 [00:03:05] | #ifdef HAVE_SYS_STAT_H
 [00:03:05] | # include <sys/stat.h>
 [00:03:05] | #endif
 [00:03:05] | #ifdef STDC_HEADERS
 [00:03:05] | # include <stdlib.h>
 [00:03:05] | # include <stddef.h>
 [00:03:05] | #else
 [00:03:05] | # ifdef HAVE_STDLIB_H
 [00:03:05] | #  include <stdlib.h>
 [00:03:05] | # endif
 [00:03:05] | #endif
 [00:03:05] | #ifdef HAVE_STRING_H
 [00:03:05] | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
 [00:03:05] | #  include <memory.h>
 [00:03:05] | # endif
 [00:03:05] | # include <string.h>
 [00:03:05] | #endif
 [00:03:05] | #ifdef HAVE_STRINGS_H
 [00:03:05] | # include <strings.h>
 [00:03:05] | #endif
 [00:03:05] | #ifdef HAVE_INTTYPES_H
 [00:03:05] | # include <inttypes.h>
 [00:03:05] | #endif
 [00:03:05] | #ifdef HAVE_STDINT_H
 [00:03:05] | # include <stdint.h>
 [00:03:05] | #endif
 [00:03:05] | #ifdef HAVE_UNISTD_H
 [00:03:05] | # include <unistd.h>
 [00:03:05] | #endif
 [00:03:05] | static long int longval () { return (long int) (sizeof
 (char)); }
 [00:03:05] | static unsigned long int ulongval () { return (long int)
 (sizeof (char)); }
 [00:03:05] | #include <stdio.h>
 [00:03:05] | #include <stdlib.h>
 [00:03:05] | int
 [00:03:05] | main ()
 [00:03:05] | {
 [00:03:05] |
 [00:03:05] |   FILE *f = fopen ("conftest.val", "w");
 [00:03:05] |   if (! f)
 [00:03:05] |     return 1;
 [00:03:05] |   if (((long int) (sizeof (char))) < 0)
 [00:03:05] |     {
 [00:03:05] |       long int i = longval ();
 [00:03:05] |       if (i != ((long int) (sizeof (char))))
 [00:03:05] |    return 1;
 [00:03:05] |       fprintf (f, "%ld", i);
 [00:03:05] |     }
 [00:03:05] |   else
 [00:03:05] |     {
 [00:03:05] |       unsigned long int i = ulongval ();
 [00:03:05] |       if (i != ((long int) (sizeof (char))))
 [00:03:05] |    return 1;
 [00:03:05] |       fprintf (f, "%lu", i);
 [00:03:05] |     }
 [00:03:05] |   /* Do not output a trailing newline, as this causes \r\n
 confusion
 [00:03:05] |      on some platforms.  */
 [00:03:05] |   return ferror (f) || fclose (f) != 0;
 [00:03:05] |
 [00:03:05] |   ;
 [00:03:05] |   return 0;
 [00:03:05] | }
 [00:03:05] configure:12628: result: 0
 }}}

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/27432>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list