これをgdbで起動したときのbacktraceの結果はこんな感じ。
ちなみに、cd /usr/ports/net/mpd; make CC="gcc -g"して作ったものを
gdb work/mpd-3.18/src/mpdとして動かしてる。
#0 0x0000000800d91b7e in __vfprintf () from /lib/libc.so.5
#1 0x0000000800d8fd9e in vfprintf () from /lib/libc.so.5
#2 0x0000000000421c38 in LogPrintf (fmt=0x438851 "[%s] %s node is \"%s\"")
at log.c:274
#3 0x0000000000424558 in NgFuncInit (b=0x55502c,
reqIface=0x7fffffffde30 "mpd33922-flets") at ngfunc.c:225
#4 0x0000000000412bfd in BundCreateCmd (ac=2, av=0x7fffffffe3b8,
arg=0x7fffffffdb80) at bund.c:704
#5 0x0000000000416a04 in DoCommandTab (cmdlist=0x434480, ac=5,
av=0x7fffffffe3a0) at command.c:251
#6 0x000000000041690d in DoCommand (ac=17, av=0x438851) at command.c:217
#7 0x000000000042ba59 in ReadFile (
filename=0x11 <Error reading address 0x11: Bad address>,
target=0x5 <Error reading address 0x5: Bad address>,
func=0x4168f0 <DoCommand>) at util.c:324
#8 0x0000000000416f6a in LoadCommand (ac=17, av=0x7fffffffe758,
arg=0x7fffffffdb80) at command.c:450
#9 0x0000000000416a04 in DoCommandTab (cmdlist=0x434480, ac=2,
av=0x7fffffffe750) at command.c:251
#10 0x000000000041690d in DoCommand (ac=17, av=0x438851) at command.c:217
#11 0x000000000042ba59 in ReadFile (
filename=0x11 <Error reading address 0x11: Bad address>,
target=0x2 <Error reading address 0x2: Bad address>,
#12 0x00000000004228e2 in main (ac=0, av=0x438851) at main.c:206

vfprintfの引数にSEGVを起こすような変なもんがはいっているのが原因なのは
わかったが、ここからさきどうやってデバッグを進めたらいいかわからん。
誰か教えてくんなまし。