The net/munin port triggers a bug in gmake.  sthen@ has marked munin
as BROKEN on i386 because during the build gmake regularly segfaults,
but that's just dumb luck.

Here is a much simpler GNUmakefile that reproduces the problem:

-------------------->
DUMMY := $(shell echo "===> I'm being parsed!" >&2)

MAKEFILES := GNUmakefile

all:
        $(MAKE) sub-all

sub-all:
<--------------------

The output is something like this:

  ===> I'm being parsed!
  gmake sub-all
  gmake[1]: Entering directory '/home/naddy'
  ===> I'm being parsed!
  ===> I'm being parsed!
  GNUmakefile:6: warning: overriding recipe for target 'all'
  <DF><DF><DF>...:6: warning: ignoring old recipe for target 'all'
  gmake[1]: Nothing to be done for 'sub-all'.
  gmake[1]: Leaving directory '/home/naddy'

The first warning is prefixed by the file name.  The second warning
is prefixed by garbage.  Sometimes you get a segfault there.

MAKEFILES is a special variable.  The files listed there are
included by each gmake invocation.  The bug is triggered by a
recursive call to gmake with MAKEFILES set to the default makefile,
causing it to be read twice.

The fact that the garbage starts with a sequence of 0xdf bytes
suggests a use-after-free bug, but I haven't managed to track it
down yet.

-- 
Christian "naddy" Weisgerber                          na...@mips.inka.de

Reply via email to