Re: `linux debug' causing hang when Lilo is to be run.
karlheg@bittersweet.inetarena.com (Karl M. Hegbloom) writes:
> I got all the way through the install, stopping right after install
> modules to edit "/target/etc/pcmcia/network" to change "mount -t nfs"
> into "mount | grep nfs", and to "sed -e 's/mount -v/mount/g' < network
> > network.new && mv network.new network && chmod +x network".
Ok -- um... shouldn't we change busybox mount to ignore the -v switch,
then?
> PCMCIA configures fine, I can access the net and install base from
> the net.
I was getting coring or hang when installing base from NFS, or
sometimes when extracting base from the tarball.
> But this time, when I selected "make bootable from hard
> drive", it hangs. `ps' shows that the Lilo command is NOT what's
> hanging; it's not in the `ps' listing at all.
This is in line with the sorts of hangs and bugs I was seeing,
although at a different point in the process. They seem related to
me.
> You can see from this that it's hung in `puts()'... I typed "up" a
> few times, and was rewarded with a source buffer displaying this
> section of util.c:
>
> if (bootargs.isdebug) {
> openlog(SYSLOG_IDENT, LOG_PID, LOG_USER);
> syslog(LOG_DEBUG, "running cmd '%s'", cmd);
> }
> else {
> openlog(SYSLOG_IDENT, LOG_PID, LOG_USER);
> }
>
> The `syslog()' call is where the highlight bar is shown; that's where
> it calls into libc, in the above trace. I don't know why it hangs
> there; it calls `execlog()' quite a number of times through the
> install, and it works up until now...
Again, it would totally make sense this is the same bug I was seeing,
even though I wasn't able to produce a core.
> I rebooted again, without the debug switch, and verified that
> everything seems to work fine without it. It runs `lilo' fine, and
> reboots normally, &c.
Interesting.
> I wonder if `dbootstrap' is just blocking??? Erik? Could there be
> an error in the `syslogd' of busybox that would cause this to occur?
> Or is it `syslog()'? What might it be? You tell me and we'll both
> know.
>
> I don't know yet if, when "debug" is not given on the boot command
> line, whether the logging is deferred like this... I need to look
> deeper into what `syslog()' does, etc.
>
> Any ideas?
>
> I also ran into the "it won't reboot" problem, and the `dbootstrap'
> isn't respawned bug. I have a feeling that in both cases, if
> `cardmgr' is killed, `init' might continue and execute those
> actions... ? It might be blocking trying to write to the logs.
I never tried to kill cardmgr but it looks like this is the bug. I
agree it seems to be syslog somehow. What cardmgr has to do with
syslog I have no idea -- maybe understanding that would shed light.
Good detective work!
--
.....Adam Di Carlo....adam@onShore.com.....<URL:http://www.onShore.com/>
Reply to: