Subject: port-vax/28981: Kernel panic on VAXstation 4000 VLC
To: None <port-vax-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <karsten@excalibur.cologne.de>
List: netbsd-bugs
Date: 01/16/2005 13:06:00
>Number: 28981
>Category: port-vax
>Synopsis: Kernel panic on VAXstation 4000 VLC
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-vax-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Jan 16 13:06:00 +0000 2005
>Originator: K. Merker
>Release: NetBSD/vax 2.0
>Organization:
>Environment:
NetBSD 2.0 (GENERIC) #0: Thu Dec 2 19:18:27 CST 2004
builds@build:/big/builds/ab/netbsd-2-0-RELEASE/vax/200411300000Z-obj/big/builds/ab/netbsd-2-0-RELEASE/src/sys/arch/vax/compile/GENERIC vax
>Description:
When trying to build glib-2.0 from pkgsrc (cvs checkout from
2005/01/09), the kernel reproducibly panics while autoconf
runs. The build log is as follows:
===> Configuring for glib2-2.6.0
=> Fixing locale directory references.
=> Adding rpaths to pkgconfig files.
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel
checking whether build environment is sane... yes
checking for gawk... /usr/bin/awk
checking whether gmake sets $(MAKE)... yes
checking for vax--netbsdelf-strip... no
checking for strip... strip
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... vax-unknown-netbsdelf2.0
checking host system type... vax--netbsdelf
checking for the BeOS... no
checking for Win32... no
checking whether to enable garbage collector friendliness... no
checking whether to disable memory pools... no
checking for vax--netbsdelf-gcc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ANSI C... none needed
checking for style of include used by gmake... GNU
checking dependency style of cc... gcc
checking for c++... c++
checking for vax--netbsdelf-g++... (cached) c++
checking whether we are using the GNU C++ compiler... yes
checking whether c++ accepts -g... yes
checking dependency style of c++... gcc
checking for cc option to accept ANSI C... none needed
checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for _LARGE_FILES value needed for large files... no
checking for pkg-config... /usr/pkg/bin/pkg-config
checking for gawk... (cached) /usr/bin/awk
checking for perl5... /usr/pkg/bin/perl
checking for indent... indent
checking for /usr/pkg/bin/perl... /usr/pkg/bin/perl
checking for iconv_open... yes
checking how to run the C preprocessor... cc -E
checking for egrep... 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 locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking for ngettext in libc... yes
checking for dgettext in libc... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... /usr/bin/msgfmt
checking for dcgettext... yes
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for catalogs to be installed... am ar az be bg bn bs ca cs cy da de el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr id is it ja ko lt lv mk mn ms nb ne nl nn no or pa pl pt pt_BR ro ru sk sl sq sr sr@ije sr@Latn sv ta tr ukvi wa yi zh_CN zh_TW
checking for a sed that does not truncate output... /usr/bin/sed
checking for ld used by cc... /usr/pkgsrc/devel/glib2/work/.wrapper/bin/ld
checking if the linker (/usr/pkgsrc/devel/glib2/work/.wrapper/bin/ld) is GNU ld... yes
checking for /usr/pkgsrc/devel/glib2/work/.wrapper/bin/ld option to reload object files... -r
checking for BSD-compatible nm... nm
checking whether ln -s works... yes
checking how to recognise dependent libraries... match_pattern /lib[^/]+(\.so|_pic\.a)$
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking how to run the C++ preprocessor... c++ -E
checking for vax--netbsdelf-g77... false
checking whether we are using the GNU Fortran 77 compiler... no
checking whether false accepts -g... no
checking the maximum length of command line arguments... (cached) 262144
checking command to parse nm output from cc object... ok
checking for objdir... .libs
checking for vax--netbsdelf-ar... no
checking for ar... ar
checking for vax--netbsdelf-ranlib... no
checking for ranlib... ranlib
checking for vax--netbsdelf-strip... strip
checking if cc static flag works... yes
checking if cc supports -fno-rtti -fno-exceptions... yes
checking for cc option to produce PIC... -fPIC
checking if cc PIC flag -fPIC works... yes
checking if cc supports -c -o file.o... yes
checking whether the cc linker (/usr/pkgsrc/devel/glib2/work/.wrapper/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... NetBSD ld.elf_so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by c++... /usr/pkgsrc/devel/glib2/work/.wrapper/bin/ld
checking if the linker (/usr/pkgsrc/devel/glib2/work/.wrapper/bin/ld) is GNU ld... yes
checking whether the c++ linker (/usr/pkgsrc/devel/glib2/work/.wrapper/bin/ld) supports shared libraries... yes
checking for c++ option to produce PIC... -fPIC
checking if c++ PIC flag -fPIC works... yes
checking if c++ supports -c -o file.o... yes
checking whether the c++ linker (/usr/pkgsrc/devel/glib2/work/.wrapper/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... NetBSD ld.elf_so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for false option to produce PIC... -fPIC
checking if false PIC flag -fPIC works... no
checking if false supports -c -o file.o... no
checking whether the false linker (/usr/pkgsrc/devel/glib2/work/.wrapper/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... NetBSD ld.elf_so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for extra flags to get ANSI library prototypes... none needed
checking for extra flags for POSIX compliance... none needed
checking for ANSI C header files... (cached) yes
checking for vprintf... yes
checking for _doprnt... no
checking for working alloca.h... no
checking for alloca... yes
checking for atexit... yes
checking for on_exit... no
checking for char... yes
checking size of char... 1
checking for short... yes
checking size of short... 2
checking for long... yes
checking size of long... 4
checking for int... yes
checking size of int... 4
checking for void *... yes
checking size of void *... 4
checking for long long... yes
checking size of long long... 8
checking for __int64... no
checking size of __int64... 0
checking for format to printf and scanf a guint64... %llu
checking for an ANSI C-conforming const... yes
checking if malloc() and friends prototypes are gmem.h compatible... yes
checking for growing stack pointer... no
checking for __inline... yes
checking for __inline__... yes
checking for inline... yes
checking for ISO C99 varargs macros in C... yes
checking for ISO C99 varargs macros in C++... no
checking for GNUC varargs macros... yes
checking for GNUC visibility attribute... no
checking whether byte ordering is bigendian... no
checking dirent.h usability... yes
checking dirent.h presence... yes
checking for dirent.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/poll.h usability... yes
checking sys/poll.h presence... yes
checking for sys/poll.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... 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 sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking for unistd.h... (cached) yes
checking values.h usability... no
checking values.h presence... no
checking for values.h... no
checking for stdint.h... (cached) yes
checking sched.h usability... yes
checking sched.h presence... yes
checking for sched.h... yes
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking for nl_langinfo... yes
checking for nl_langinfo and CODESET... yes
checking whether we are using the GNU C Library 2.1 or newer... no
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for setlocale... yes
checking for size_t... yes
checking size of size_t... 4
checking for the appropriate definition for size_t... unsigned long
checking for lstat... yes
checking for strerror... yes
checking for strsignal... yes
checking for memmove... yes
checking for mkstemp... yes
checking for vsnprintf... yes
checking for stpcpy... no
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for poll... yes
checking for getcwd... yes
checking for nanosleep... yes
checking for vasprintf... yes
checking for setenv... yes
checking for unsetenv... yes
checking for getc_unlocked... yes
checking for readlink... yes
checking for symlink... yes
checking for C99 vsnprintf... yes
checking whether printf supports positional parameters... no
checking for signed... yes
checking for long long... (cached) yes
checking for long double... yes
checking for wchar_t... yes
checking for wint_t... yes
checking for size_t... (cached) yes
checking for ptrdiff_t... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for snprintf... yes
checking for C99 snprintf... yes
checking for sys_errlist... yes
checking for sys_siglist... yes
checking for sys_siglist declaration... yes
checking for fd_set... yes, found in sys/types.h
checking whether realloc (NULL,) will work... yes
checking for nl_langinfo (CODESET)... yes
checking for OpenBSD strlcpy/strlcat... yes
checking for an implementation of va_copy()... yes
checking for an implementation of __va_copy()... yes
checking whether va_lists can be copied by value... yes
checking for dlopen... yes
checking for dlsym... yes
checking for RTLD_GLOBAL brokenness... no
checking for dlopen(NULL, 0) brokenness... yes
checking for preceeding underscore in symbols... no
checking for dlerror... yes
checking for the suffix of shared libraries... .so
checking for gspawn implementation... gspawn.lo
checking for GIOChannel implementation... giounix.lo
checking for platform-dependent source...
checking whether to compile timeloop... yes
checking if building for some Win32 platform... no
checking for thread implementation... posix
panic: Segv in kernel mode: pc 80161108 addr 841e4f98
Stopped in pid 20470.1 (conftest) at netbsd:trap+0x297: movl $2, -72(
fp)
db>
The last conftest.c file is as follows:
/* confdefs.h. */
#define PACKAGE_NAME "glib"
#define PACKAGE_TARNAME "glib"
#define PACKAGE_VERSION "2.6.0"
#define PACKAGE_STRING "glib 2.6.0"
#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=glib"
#define GLIB_MAJOR_VERSION 2
#define GLIB_MINOR_VERSION 6
#define GLIB_MICRO_VERSION 0
#define GLIB_INTERFACE_AGE 0
#define GLIB_BINARY_AGE 600
#define G_COMPILED_WITH_DEBUGGING "minimum"
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1
#define HAVE_LOCALE_H 1
#define HAVE_LC_MESSAGES 1
#define HAVE_BIND_TEXTDOMAIN_CODESET 1
#define HAVE_GETTEXT 1
#define HAVE_DCGETTEXT 1
#define ENABLE_NLS 1
#define GETTEXT_PACKAGE "glib20"
#define GLIB_LOCALE_DIR "/usr/pkg/share/locale"
#define HAVE_DLFCN_H 1
#define STDC_HEADERS 1
#define HAVE_VPRINTF 1
#define HAVE_ALLOCA 1
#define HAVE_ATEXIT 1
#define SIZEOF_CHAR 1
#define SIZEOF_SHORT 2
#define SIZEOF_LONG 4
#define SIZEOF_INT 4
#define SIZEOF_VOID_P 4
#define SIZEOF_LONG_LONG 8
#define SIZEOF___INT64 0
#define HAVE_LONG_LONG_FORMAT 1
#define SANE_MALLOC_PROTOS 1
#define G_HAVE___INLINE 1
#define G_HAVE___INLINE__ 1
#define G_HAVE_INLINE 1
#define HAVE_DIRENT_H 1
#define HAVE_FLOAT_H 1
#define HAVE_LIMITS_H 1
#define HAVE_PWD_H 1
#define HAVE_SYS_PARAM_H 1
#define HAVE_SYS_POLL_H 1
#define HAVE_SYS_SELECT_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_TIME_H 1
#define HAVE_SYS_TIMES_H 1
#define HAVE_UNISTD_H 1
#define HAVE_STDINT_H 1
#define HAVE_SCHED_H 1
#define HAVE_LANGINFO_H 1
#define HAVE_NL_LANGINFO 1
#define HAVE_LANGINFO_CODESET 1
#define HAVE_STDDEF_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_SETLOCALE 1
#define SIZEOF_SIZE_T 4
#define HAVE_LSTAT 1
#define HAVE_STRERROR 1
#define HAVE_STRSIGNAL 1
#define HAVE_MEMMOVE 1
#define HAVE_MKSTEMP 1
#define HAVE_VSNPRINTF 1
#define HAVE_STRCASECMP 1
#define HAVE_STRNCASECMP 1
#define HAVE_POLL 1
#define HAVE_GETCWD 1
#define HAVE_NANOSLEEP 1
#define HAVE_VASPRINTF 1
#define HAVE_SETENV 1
#define HAVE_UNSETENV 1
#define HAVE_GETC_UNLOCKED 1
#define HAVE_READLINK 1
#define HAVE_SYMLINK 1
#define HAVE_C99_VSNPRINTF 1
#define HAVE_VASPRINTF 1
#define HAVE_LONG_LONG 1
#define HAVE_LONG_DOUBLE 1
#define HAVE_WCHAR_T 1
#define HAVE_WINT_T 1
#define HAVE_PTRDIFF_T 1
#define HAVE_INTTYPES_H_WITH_UINTMAX 1
#define HAVE_STDINT_H_WITH_UINTMAX 1
#define HAVE_INTMAX_T 1
#define HAVE_SNPRINTF 1
#define HAVE_C99_SNPRINTF 1
#define REALLOC_0_WORKS 1
#define HAVE_CODESET 1
#define HAVE_STRLCPY 1
#define G_VA_COPY va_copy
/* end confdefs.h. */
#include <pthread.h>
int check_me = 0;
void* func(void* data) {check_me = 42; return &check_me;}
int main()
{ pthread_t t;
void *ret;
pthread_create (&t, 0, func, 0);
pthread_join (t, &ret);
exit (check_me != 42 || ret != &check_me);
}
The last lines of config.log are as follows:
configure:31591: checking for dlerror
configure:31648: cc -o conftest -O2 -I/usr/include -I/usr/pkg/include -Wall -I/usr/include -I/usr/pkg/include -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib conftest.c -lintl >&5
configure:31654: $? = 0
configure:31658: test -z
|| test ! -s conftest.err
configure:31661: $? = 0
configure:31664: test -s conftest
configure:31667: $? = 0
configure:31679: result: yes
configure:31696: checking for the suffix of shared libraries
configure:31712: result: .so
configure:31727: checking for gspawn implementation
configure:31737: result: gspawn.lo
configure:31742: checking for GIOChannel implementation
configure:31752: result: giounix.lo
configure:31757: checking for platform-dependent source
configure:31767: result:
configure:31771: checking whether to compile timeloop
configure:31781: result: yes
configure:31794: checking if building for some Win32 platform
configure:31804: result: no
configure:31978: cc -c -O2 -I/usr/include -I/usr/pkg/include -Wall -I/usr/include -I/usr/pkg/include -D_POSIX4_DRAFT_SOURCE -D_POSIX4A_DRAFT10_SOURCE -U_OSF_SOURCE conftest.c
conftest.c: In function `main':
conftest.c:108: warning: unused variable `m'
configure:31984: $? = 0
configure:31988: test -z
|| test ! -s conftest.err
configure:31991: $? = 0
configure:31994: test -s conftest.o
configure:31997: $? = 0
configure:32115: checking for thread implementation
configure:32124: result: posix
configure:32242: cc -o conftest -O2 -I/usr/include -I/usr/pkg/include -Wall -pthreads -I/usr/include -I/usr/pkg/include -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib conftest.c -lintl >&5
gcc: unrecognized option `-pthreads'
Regards,
Karsten
>How-To-Repeat:
>Fix: