[Crash-utility] mount cmd crashes crash
Dave Anderson
anderson at redhat.com
Thu Aug 19 12:45:14 UTC 2010
----- "Bob Montgomery" <bob.montgomery at hp.com> wrote:
> Sorry, forgot to reply all:
> ---------------------------
>
> On Wed, 2010-08-18 at 20:57 +0000, Dave Anderson wrote:
> > ----- "Bob Montgomery" <bob.montgomery at hp.com> wrote:
> >
> > > I'm working on a dump of a system that did not have a PID 1. I don't
> > > think it's relevant to the crash itself, but it does cause crash get
> > > a seg fault.
>
> > >
> > > I don't know if it was important to have the context of pid 1 for
> > > reporting mounts, or just any context, but this hack makes the problem
> > > go away, although not a very efficient way to find the lowest existing
> > > PID above 0.
> >
> > Yeah, it's not important to use the context of pid 1, but it just needs
> > some context, and I had presumed that init would always exist. I thought
> > that the panic("Attempted to kill the idle task!") in do_exit() would
> > prevent pid 1 from ever going away -- but apparently your kernel figured
> > out how to do it elsewhere... ;-)
>
> That test is for PID 0, not PID 1 (at least on the kernel I'm
> debugging.) However, there is this also:
>
> if (unlikely(tsk == child_reaper))
> panic("Attempted to kill init!");
That's the one I *meant*... ;-)
>
> And child_reaper in the dump points to a task struct for init that isn't
> in the ps listing. Hmmm. Maybe that part *is* interesting in this dump...
>
> >
> > Your patch would pick a kernel thread pid, and apparently everything still
> > works OK? That being the case, it's fine with me.
>
> With the patch, these commands all produce the same output:
> crash-5.0.6-fix> mount >mount.out
> crash-5.0.6-fix> mount -n 2 >mount2.out
> crash-5.0.6-fix> mount -n 1459 >mount1459.out
>
> I discovered the -n option as my first workaround.
Actually, it looks like pid 0 could be used as well.
Anyway, queued for the next release.
Thanks,
Dave
More information about the Crash-utility
mailing list