Hi Daisuke and Dave,<br><br><div class="gmail_quote">On Mon, Sep 24, 2012 at 8:18 AM, HATAYAMA Daisuke <span dir="ltr"><<a href="mailto:d.hatayama@jp.fujitsu.com" target="_blank">d.hatayama@jp.fujitsu.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From: Lei Wen <<a href="mailto:adrian.wenl@gmail.com">adrian.wenl@gmail.com</a>><br>
<div class="im">Subject: Re: [Crash-utility] [PATCH]: gcore extension, anonymous union in inode struct<br>
</div>Date: Fri, 21 Sep 2012 16:47:41 +0800<br>
<br>
> Hi  Daisuke,<br>
><br>
<br>
Hello,<br>
<div><div class="h5"><br>
> On Tue, Sep 18, 2012 at 8:19 AM, HATAYAMA Daisuke <<a href="mailto:d.hatayama@jp.fujitsu.com">d.hatayama@jp.fujitsu.com</a><br>
>> wrote:<br>
><br>
>> From: Dave Anderson <<a href="mailto:anderson@redhat.com">anderson@redhat.com</a>><br>
>> Subject: Re: [Crash-utility] [PATCH]: gcore extension, anonymous union in<br>
>> inode struct<br>
>> Date: Tue, 11 Sep 2012 08:50:32 -0400<br>
>><br>
>> ><br>
>> ><br>
>> > ----- Original Message -----<br>
>> >> From: Per Fransson <<a href="mailto:per.fransson.ml@gmail.com">per.fransson.ml@gmail.com</a>><br>
>> >> Subject: [Crash-utility] [PATCH]: gcore extension, anonymous union in<br>
>> >> inode struct<br>
>> >> Date: Wed, 5 Sep 2012 12:29:43 +0200<br>
>> >><br>
>> >> > Hi Crash people,<br>
>> >> ><br>
>> >> > The gcore extension fails on the 3.4 kernel I'm using. It attempts to<br>
>> >> > find the offset of a member within the inode struct, but the member<br>
>>  is<br>
>> >> > part of an anonymous union. This patch fixes the problem for me.<br>
>> >> ><br>
>> >> > Regards,<br>
>> >> > Per<br>
>> >><br>
>> >> Hello Per,<br>
>> >><br>
>> >> Thanks for reporting that. According to git repository, this was<br>
>> >> changed by the following commit at the v3.1 period.<br>
>> >><br>
>> >> $ git describe a78ef704a8dd430225955f0709b22d4a6ba21deb<br>
>> >> v3.1-8569-ga78ef70<br>
>> >><br>
>> >> $ git log -1 a78ef704a8dd430225955f0709b22d4a6ba21deb<br>
>> >> commit a78ef704a8dd430225955f0709b22d4a6ba21deb<br>
>> >> Author: Miklos Szeredi <<a href="mailto:mszeredi@suse.cz">mszeredi@suse.cz</a>><br>
>> >> Date:   Fri Oct 28 14:13:30 2011 +0200<br>
>> >><br>
>> >>     vfs: protect i_nlink<br>
>> >><br>
>> >>     Prevent direct modification of i_nlink by making it const and<br>
>> adding a<br>
>> >>     non-const __i_nlink alias.<br>
>> >><br>
>> >>     Signed-off-by: Miklos Szeredi <<a href="mailto:mszeredi@suse.cz">mszeredi@suse.cz</a>><br>
>> >>     Tested-by: Toshiyuki Okajima <<a href="mailto:toshi.okajima@jp.fujitsu.com">toshi.okajima@jp.fujitsu.com</a>><br>
>> >>     Signed-off-by: Christoph Hellwig <<a href="mailto:hch@lst.de">hch@lst.de</a>><br>
>> >><br>
>> >> The patch appears fine to me so I'll apply it.<br>
>> >><br>
>> >> Thanks.<br>
>> >> HATAYAMA, Daisuke<br>
>> ><br>
>> > Hi Daisuke,<br>
>> ><br>
>> > Will you be updating the crash-gcore-command tar.gz package?<br>
>> ><br>
>><br>
>> Hello Dave,<br>
>><br>
>> I have another gcore test plan soon. I'm going to update this change<br>
>> together with it. Please wait for a few weeks.<br>
>><br>
>><br>
> I have a curious question for the gcore. Current what we could do with<br>
> gcore is to generate a core dump image, and then be parsed with external<br>
> gdb along with user space lib symbol.<br>
><br>
> Could it be possible that integrating the whole process into crash itself.<br>
> That is without referring to external gdb's help, crash itself could print<br>
> out<br>
> the call stack from user to kernel. I think it would be more convenient like<br>
> it current is.<br>
><br>
> Do you think implement it would be complex?<br>
><br>
<br>
</div></div>As Dave suggests, I think it a reasonable way to do is do it in an<br>
extension module independently of crash utility (so integrated gdb),<br>
because my understanding is that gdb can manage only one symbol space<br>
so symbol conflicts may happen. Also, basically kernel crash dump<br>
typically have physical memory shape, and crash utility does<br>
virtual-to-physical address translation. I think it possible to do it<br>
in an independent extnesion module that manages memory view, symbols<br>
and other debugging information locally.<br>
<br>
Thanks.<br>
<span class="HOEnZb"><font color="#888888">HATAYAMA, Daisuke<br>
<br>
</font></span></blockquote></div><br><div>I think display backtrace inside extension module could already fulfill</div><div>the need, and it is true that we shouldn't pollute crash's symbol context.</div><div><br>
</div><div>I would try to dig further to see what could we benefit from this inside bt. :)</div><div><br></div><div>Thanks,</div><div>Lei</div>