Hi there,
running Solaris 2.6 (SunOS5.6), I'm getting a reproducible error in
GNU make:
--snip--
eedmoba@sun23:/tmp/uk/mp/mad-0.13.0b/winamp-test > make
read.c:892: failed assertion `*p2 != '\0''
Abort
eedmoba@sun23:/tmp/uk/mp/mad-0.13.0b/winamp-test > make --version
GNU Make version 3.78.1, by Richard Stallman and Roland McGrath.
Built for sparc-sun-solaris2.6
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Report bugs to <[EMAIL PROTECTED]>.
--snip--
I guess line 892 is well known to you, I don't have to quote it. ;-)
The Makefile doing this is produced by autoconf. It's in the project
"mad" (mad-0.13.0b) in the subdir "winamp". I've attached my Makefile
to this email. I'm not about to fetch a newer version of make right now
:) (I've worked around it using SunOS's make), but just wanted to let
you know, in case nobody's noticed yet.
A "truss" (similar to strace) output of the "make" call is also
attached.
Another thing: How about a string indicating that this error is from
"make"? I was looking for problems with gcc or the mad source, not
knowing that "make" was failing. E.g.
make: read.c:892: failed assertion *p2 != '\0''
instead of
read.c:892: failed assertion *p2 != '\0''
.
Thanks for listening and a great (vital!) tool,
Moritz
# Generated automatically from Makefile.in by configure.
#
# mad - MPEG audio decoder
# Copyright (C) 2000-2001 Robert Leslie
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# $Id: Makefile.in,v 1.12 2001/04/05 05:37:38 rob Exp $
#
SHELL = /bin/sh
srcdir = .
top_srcdir = ..
PACKAGE = mad
VERSION = 0.13.0b
CC = gcc
DEBUG = -Wall -O2 #-g
CFLAGS = $(DEBUG) -m486
CPPFLAGS = -DHAVE_CONFIG_H \
-I$(srcdir) -I.. -I$(top_srcdir) -I../libmad -I../intl
DLL_EXP_DEF = $(srcdir)/in_mad.def
DLL_CFLAGS =
DLL_LDFLAGS =
DLL_LDLIBS = -lcomctl32 -lgdi32 -lwininet #-lcomdlg32
DLL_OBJS = in_mad.o compat.o resource.o libmad.a
all:
pimp: MAD\ plug-in\ $(VERSION).exe
MAD\ plug-in\ $(VERSION).exe: in_mad.dll in_mad.txt in_mad.psc
strip in_mad.dll
test $(srcdir) = . || cp $(srcdir)/in_mad.txt .
makepimp in_mad.psc
in_mad.dll: $(DLL_OBJS)
dllwrap --target=i386-mingw32 --driver-name=$(CC) -mno-cygwin \
--def $(DLL_EXP_DEF) -o $@ \
$(DLL_OBJS) $(DLL_LDFLAGS) $(DLL_LDLIBS)
in_mad.o: in_mad.c ../config.h ../global.h \
resource.h messages.h in2.h out.h
resource.o: resource.rc messages.rc
windres --include-dir $(srcdir) -o $@ $(srcdir)/resource.rc
compat.o: compat.c ../config.h ../global.h
$(srcdir)/messages.rc $(srcdir)/messages.h: $(srcdir)/messages.mc
cd $(srcdir) && mc -v -c messages.mc
libmad.a: ../libmad/.libs/libmad.a
cp ../libmad/.libs/libmad.a .
ar d libmad.a decoder.o
.c.o:
$(CC) -c $(DLL_CFLAGS) $(CPPFLAGS) $(CFLAGS) -o $@ $<
.c.s:
$(CC) -S $(DLL_CFLAGS) $(CPPFLAGS) $(CFLAGS) $<
clean:
rm -f *.dll *.o *.exe *.a
distclean: clean
rm -f Makefile in_mad.psc
maintainer-clean:
again: clean all
distdir = $(PACKAGE)-$(VERSION)
DISTFILES = \
Makefile.in \
in2.h out.h \
in_mad.c in_mad.def in_mad.psc.in in_mad.txt \
resource.h resource.rc \
messages.mc messages.h messages.rc MSG00001.bin \
compat.c
distdir: $(DISTFILES)
-rm -rf $(distdir)
mkdir $(distdir)
-chmod 777 $(distdir)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
dvi:
check:
install:
installcheck:
tags:
.PHONY: all pimp
.PHONY: clean distclean maintainer-clean again distdir
.PHONY: dvi check install installcheck tags
execve("/usr/local/bin/make", 0xEFFFF180, 0xEFFFF188) argc = 1
stat("/usr/local/bin/make", 0xEFFFEE90) = 0
open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT
open("/home/eedmoba/sun5/lib/libkvm.so.1", O_RDONLY) Err#2 ENOENT
open("/opt/proj/WDM/tools/lib/libkvm.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/openwin/lib/libkvm.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/local/lib/libkvm.so.1", O_RDONLY) Err#2 ENOENT
open("/opt/tools/apstools.13.1/sun5/lib/apslib/libkvm.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/dt/lib/libkvm.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/lib/libkvm.so.1", O_RDONLY) = 3
fstat(3, 0xEFFFEC2C) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF7B0000
mmap(0x00000000, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF790000
mmap(0xEF7A2000, 9900, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 8192)
= 0xEF7A2000
munmap(0xEF794000, 57344) = 0
memcntl(0xEF790000, 4364, MC_ADVISE, 0x0003, 0, 0) = 0
close(3) = 0
open("/home/eedmoba/sun5/lib/libelf.so.1", O_RDONLY) Err#2 ENOENT
open("/opt/proj/WDM/tools/lib/libelf.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/openwin/lib/libelf.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/local/lib/libelf.so.1", O_RDONLY) Err#2 ENOENT
open("/opt/tools/apstools.13.1/sun5/lib/apslib/libelf.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/dt/lib/libelf.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/lib/libelf.so.1", O_RDONLY) = 3
fstat(3, 0xEFFFEC2C) = 0
mmap(0xEF7B0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xEF7B0000
mmap(0x00000000, 180224, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF760000
mmap(0xEF78A000, 4248, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
106496) = 0xEF78A000
munmap(0xEF77C000, 57344) = 0
memcntl(0xEF760000, 11512, MC_ADVISE, 0x0003, 0, 0) = 0
close(3) = 0
open("/home/eedmoba/sun5/lib/libkstat.so.1", O_RDONLY) Err#2 ENOENT
open("/opt/proj/WDM/tools/lib/libkstat.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/openwin/lib/libkstat.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/local/lib/libkstat.so.1", O_RDONLY) Err#2 ENOENT
open("/opt/tools/apstools.13.1/sun5/lib/apslib/libkstat.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/dt/lib/libkstat.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/lib/libkstat.so.1", O_RDONLY) = 3
fstat(3, 0xEFFFEC2C) = 0
mmap(0xEF7B0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xEF7B0000
mmap(0x00000000, 73728, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF740000
mmap(0xEF750000, 4304, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xEF750000
munmap(0xEF742000, 57344) = 0
memcntl(0xEF740000, 2180, MC_ADVISE, 0x0003, 0, 0) = 0
close(3) = 0
open("/home/eedmoba/sun5/lib/libposix4.so.1", O_RDONLY) Err#2 ENOENT
open("/opt/proj/WDM/tools/lib/libposix4.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/openwin/lib/libposix4.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/local/lib/libposix4.so.1", O_RDONLY) Err#2 ENOENT
open("/opt/tools/apstools.13.1/sun5/lib/apslib/libposix4.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/dt/lib/libposix4.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/lib/libposix4.so.1", O_RDONLY) = 3
fstat(3, 0xEFFFEC2C) = 0
mmap(0xEF7B0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xEF7B0000
mmap(0x00000000, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF720000
mmap(0xEF734000, 3888, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
16384) = 0xEF734000
munmap(0xEF726000, 57344) = 0
open("/dev/zero", O_RDONLY) = 4
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xEF710000
memcntl(0xEF720000, 8960, MC_ADVISE, 0x0003, 0, 0) = 0
close(3) = 0
open("/home/eedmoba/sun5/lib/libc.so.1", O_RDONLY) Err#2 ENOENT
open("/opt/proj/WDM/tools/lib/libc.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/openwin/lib/libc.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/local/lib/libc.so.1", O_RDONLY) Err#2 ENOENT
open("/opt/tools/apstools.13.1/sun5/lib/apslib/libc.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/dt/lib/libc.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/lib/libc.so.1", O_RDONLY) = 3
fstat(3, 0xEFFFEC2C) = 0
mmap(0xEF7B0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xEF7B0000
mmap(0x00000000, 704512, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF600000
mmap(0xEF6A2000, 29984, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
598016) = 0xEF6A2000
mmap(0xEF6AA000, 4144, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) =
0xEF6AA000
munmap(0xEF694000, 57344) = 0
memcntl(0xEF600000, 101660, MC_ADVISE, 0x0003, 0, 0) = 0
close(3) = 0
open("/home/eedmoba/sun5/lib/libdl.so.1", O_RDONLY) Err#2 ENOENT
open("/opt/proj/WDM/tools/lib/libdl.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/openwin/lib/libdl.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/local/lib/libdl.so.1", O_RDONLY) Err#2 ENOENT
open("/opt/tools/apstools.13.1/sun5/lib/apslib/libdl.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/dt/lib/libdl.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/lib/libdl.so.1", O_RDONLY) = 3
fstat(3, 0xEFFFEC2C) = 0
mmap(0xEF7B0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xEF7B0000
close(3) = 0
open("/home/eedmoba/sun5/lib/libaio.so.1", O_RDONLY) Err#2 ENOENT
open("/opt/proj/WDM/tools/lib/libaio.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/openwin/lib/libaio.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/local/lib/libaio.so.1", O_RDONLY) Err#2 ENOENT
open("/opt/tools/apstools.13.1/sun5/lib/apslib/libaio.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/dt/lib/libaio.so.1", O_RDONLY) Err#2 ENOENT
open("/usr/lib/libaio.so.1", O_RDONLY) = 3
fstat(3, 0xEFFFEC2C) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF700000
mmap(0x00000000, 98304, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF6E0000
mmap(0xEF6F4000, 8243, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
16384) = 0xEF6F4000
munmap(0xEF6E6000, 57344) = 0
memcntl(0xEF6E0000, 6480, MC_ADVISE, 0x0003, 0, 0) = 0
close(3) = 0
open("/usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1", O_RDONLY) = 3
fstat(3, 0xEFFFEA94) = 0
mmap(0xEF700000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xEF700000
mmap(0x00000000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF6D0000
close(3) = 0
close(4) = 0
munmap(0xEF700000, 8192) = 0
sigaction(SIGHUP, 0xEFFFE3B0, 0xEFFFE430) = 0
sigfillset(0xEF6A9DD0) = 0
sigaction(SIGQUIT, 0xEFFFE3B0, 0xEFFFE430) = 0
sigaction(SIGINT, 0xEFFFE3B0, 0xEFFFE430) = 0
sigaction(SIGTERM, 0xEFFFE3B0, 0xEFFFE430) = 0
sigaction(SIGXCPU, 0xEFFFE3B0, 0xEFFFE430) = 0
sigaction(SIGXFSZ, 0xEFFFE3B0, 0xEFFFE430) = 0
sigaction(SIGCLD, 0xEFFFE3B0, 0xEFFFE430) = 0
brk(0x00042B10) = 0
brk(0x00044B10) = 0
pathconf(".", _PC_PATH_MAX) = 1024
stat64("./", 0xEFFFE3D8) = 0
stat64("/", 0xEFFFE340) = 0
open64("./../", O_RDONLY|O_NDELAY) = 3
fcntl(3, F_SETFD, 0x00000001) = 0
fstat64(3, 0xEFFFD9E8) = 0
fstat64(3, 0xEFFFE3D8) = 0
getdents64(3, 0x000433C0, 1048) = 1048
getdents64(3, 0x000433C0, 1048) = 1040
getdents64(3, 0x000433C0, 1048) = 1048
close(3) = 0
open64("./../../", O_RDONLY|O_NDELAY) = 3
fcntl(3, F_SETFD, 0x00000001) = 0
fstat64(3, 0xEFFFD9E8) = 0
fstat64(3, 0xEFFFE3D8) = 0
getdents64(3, 0x000433C0, 1048) = 112
close(3) = 0
open64("./../../../", O_RDONLY|O_NDELAY) = 3
fcntl(3, F_SETFD, 0x00000001) = 0
fstat64(3, 0xEFFFD9E8) = 0
fstat64(3, 0xEFFFE3D8) = 0
getdents64(3, 0x000433C0, 1048) = 224
close(3) = 0
open64("./../../../../", O_RDONLY|O_NDELAY) = 3
fcntl(3, F_SETFD, 0x00000001) = 0
fstat64(3, 0xEFFFD9E8) = 0
fstat64(3, 0xEFFFE3D8) = 0
getdents64(3, 0x000433C0, 1048) = 1008
close(3) = 0
open64("./../../../../../", O_RDONLY|O_NDELAY) = 3
fcntl(3, F_SETFD, 0x00000001) = 0
fstat64(3, 0xEFFFD9E8) = 0
fstat64(3, 0xEFFFE3D8) = 0
open("/etc/mnttab", O_RDONLY) = 4
fstat64(4, 0xEFFFD3A8) = 0
brk(0x00044B10) = 0
brk(0x00046B10) = 0
ioctl(4, TCGETA, 0xEFFFD334) Err#25 ENOTTY
read(4, " / d e v / d s k / c 0 t".., 8192) = 8192
lstat64("/tmp", 0xEFFFD5D0) = 0
lstat64("/tmp/..", 0xEFFFD5D0) = 0
llseek(4, 0xFFFFFFFFFFFFE101, SEEK_CUR) = 257
close(4) = 0
close(3) = 0
stat64("/usr/local/include", 0xEFFFE3A0) = 0
stat64("/usr/gnu/include", 0xEFFFE3A0) Err#2 ENOENT
stat64("/usr/local/include", 0xEFFFE3A0) = 0
stat64("/usr/include", 0xEFFFE3A0) = 0
sigaction(SIGCLD, 0xEFFFE450, 0x00000000) = 0
sigaction(SIGUSR1, 0xEFFFE3B0, 0xEFFFE430) = 0
brk(0x00046B10) = 0
brk(0x00048B10) = 0
brk(0x00048B10) = 0
brk(0x0004AB10) = 0
stat64(".", 0xEFFFE248) = 0
open64(".", O_RDONLY|O_NDELAY) = 3
fcntl(3, F_SETFD, 0x00000001) = 0
fstat64(3, 0xEFFFE150) = 0
getdents64(3, 0x00048B20, 1048) = 112
getdents64(3, 0x00048B20, 1048) = 0
close(3) = 0
open64("Makefile", O_RDONLY) = 3
fstat64(3, 0xEFFFE100) = 0
brk(0x0004AB10) = 0
brk(0x0004CB10) = 0
ioctl(3, TCGETA, 0xEFFFE08C) Err#25 ENOTTY
read(3, " S H E L L =\t\t / b i".., 8192) = 2162
write(2, " r e a d . c", 6) = 6
write(2, " : 8 9 2", 4) = 4
write(2, " : f a i l e d a s s".., 20) = 20
write(2, " * p 2 ! = ' \ 0 '", 11) = 11
write(2, " '\n", 2) = 2
sigaction(SIGABRT, 0x00000000, 0xEFFFE1D8) = 0
llseek(0, 0, SEEK_CUR) = 11670
llseek(3, 0xFFFFFFFFFFFFF982, SEEK_CUR) = 500
sigaction(SIGABRT, 0xEFFFE0A8, 0xEFFFE128) = 0
sigprocmask(SIG_UNBLOCK, 0xEFFFE158, 0x00000000) = 0
getpid() = 9630 [9629]
kill(9630, SIGABRT) = 0
Received signal #6, SIGABRT [default]
siginfo: SIGABRT pid=9630 uid=12156
*** process killed ***