I am wondering if I should file a PR on /sbin/rcorder dumping core?
This is a reproducible core dump. I am using FreeBSD 5-Stable dated
July 2, I think. SMP, i386, custom kernel.
First, try this. Make a file that looks like this:
#!/bin/sh
#
# PROVIDE: hello_world
# REQUIRE: hello_world
Now, save it, and let's call it "hello_world.sh"
Now, try and order this one file.
#rcorder hello_world.sh
rcorder: Circular dependency on file `hello_world.sh'.
rcorder: Circular dependency on provision `hello_world' in file
`hello_world.sh'.
rcorder in free(): error: chunk is already free
Abort (core dumped)
Exit 134
Whoops, that's not nice, is it?!?? Since rcorder normally only runs at
bootup, I smell a big problem if such a problem existed in a startup script.
I know that this file does indeed have a circular dependency, but let's
please not dump core because of it. The impending other problem is that
6-current will soon be released, and there will be eventually a stable,
and in that branch everything in /usr/local/etc/rc.d/*.sh is sent to
rcorder.
Putting "rcorder" into our world of ports maintainers, some of which
could write some insane rcng startup files.... ouch. Perhaps we need
to ensure that things of this sort can't happen -- and we need a
strenuous sanity check on the files in /usr/local/etc/rc.d between now
and 6-release. I know, admins should check these files, but in many
cases they may not, and then get a big *surprise* when their machine
dumps core during boot. I guess it's one thing for 6-Current, but
another thing for the stable tree. We may have a lot of time in the 5.x
tree, but as sure as I say that, the new /etc/rc.d/localpkg hack will
get backported to 5.x and something may start going wrong.
Back to the circular dependency, I have one example of this happening in
a port's rc.d script, but I don't want to mention any names... I found
this out when a port I had installed kept crashing rcorder when I tried
running rcorder on /usr/local/etc/rc.d/*.sh.
So now that I found this, I was going to write a PR, but hey, I figured
I'd say something here first.
Can someone verify this on 6-Current, anyway? If so, it is definitely a
major bug for that branch. For 5.x, rcorder is only run on a small set
of files in /etc, most of which don't get edited much, minimizing its
impact. But still a bug nevertheless.
One other thing: I know nothing about NetBSD, but should this be
reported to them, too?
Okay, one more shot at this bug. Try this shell script:
#!/bin/sh
#
# PROVIDE: hello_world
# BEFORE: hello_world
Save it as hello1.sh.
# rcorder hello1.sh
rcorder: Circular dependency on file `hello1.sh'.
rcorder: Circular dependency on provision `fake_prov_00000000' in file
`hello1.sh'.
rcorder in free(): error: chunk is already free
Abort (core dumped)
Exit 134
Whoops again.
Billy
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"