Hi Aditya, On Wed, May 1, 2024 at 4:01 PM Aditya Gupta <adit...@linux.ibm.com> wrote: > > Hi Tao, > > On 30/04/24 08:11, Tao Liu wrote: > > Hi Aditya, > > Sorry for the late reply. > > On Sun, Apr 28, 2024 at 4:46 PM Aditya Gupta <adit...@linux.ibm.com> wrote: > > Hi Tao, > > Thanks for sending the series. > > Maybe you missed CCing people ? > > Yeah, I will get it fixed in v3. > > Sure. > > Also this patch's 'author' line is missing, maybe while editing the > commit it messed up ? > > I didn't get it clear, where is the 'author' line? Could you give me > an example, maybe show me the 'author' line which is valid in another > patch? > > I meant, the 'Author' of this commit changed, if you notice patch #1, #8. > > It has a line on top of the patch: > > "From: Aditya Gupta <adit...@linux.ibm.com>" > > This is not there in patch #6. Whenever the commit's author is different than > the mail sender, git format-patch will add this line, and when this patch > series is merged, git will take the 'From' here as the author. > > If you see in your git log of the branch, it will show you as author. This > would have happened due to editing, resetting the change, commiting it again, > somewhere the Author field got changed automatically. > Oh I see... Yeah, I didn't notice that. Will get it fixed in v3.
> I will proceed with testing the series, might do it later, currently my > mails got messed up, I got some mails in Inbox (those patches with me in > Cc), and others in my crash-utility folder (those with Cc: crash-utility). > > Could you please check the > https://github.com/liutgnu/crash-dev/commits/tao-rebase-v4?? This may > be better for testing. > > Sure, I will test that Tao. Thanks for your testing! Thanks, Tao Liu > > > Thanks, > > Aditya Gupta > > Thanks, > Tao Liu > > Thanks, > Aditya Gupta > > On 28/04/24 09:32, Tao Liu wrote: > > Currently for most gdb_interface call, in which a non-null file pointer > is passed, GDB's output stream is replaced with the passed file pointer > > Due to this, 'info threads', which is a gdb passthrough, doesn't print any > thread, after support was added to get registers from crash_target: > > crash> info threads > Id Target Id Frame > > This empty output of 'info threads' was due to a subtle bug in > gdb_interface. > > After this gdb passthrough is run, 'datatype_info' is called, with file > pointer set to null_fp (pointing to /dev/null). And after > 'datatype_info' returns, any output by gdb goes to /dev/null, and hence > the output is lost. > > Fix this by restoring the original output streams, after gdb_interface > has handled the output > > After this patch: > > crash> info threads > Id Target Id Frame > * 1 2131 bash 0xc000000000051e40 in crash_fadump (regs=0x0, > str=0xc000000002c60510 <buf> "sysrq triggered crash") at > arch/powerpc/kernel/fadump.c:735 > > Cc: Sourabh Jain <sourabhj...@linux.ibm.com> > Cc: Hari Bathini <hbath...@linux.ibm.com> > Cc: Mahesh J Salgaonkar <mah...@linux.ibm.com> > Cc: Naveen N. Rao <naveen.n....@linux.vnet.ibm.com> > Cc: Lianbo Jiang <liji...@redhat.com> > Cc: HAGIO KAZUHITO(萩尾 一仁) <k-hagio...@nec.com> > Cc: Tao Liu <l...@redhat.com> > Signed-off-by: Aditya Gupta <adit...@linux.ibm.com> > Signed-off-by: Tao Liu <l...@redhat.com> > --- > gdb-10.2.patch | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 53 insertions(+) > > diff --git a/gdb-10.2.patch b/gdb-10.2.patch > index 3694b13..0bed96a 100644 > --- a/gdb-10.2.patch > +++ b/gdb-10.2.patch > @@ -16118,3 +16118,56 @@ exit 0 > subclass (SYMBOL_NONE) > { > /* We can't use an initializer list for members of a base class, and > +--- gdb-10.2/gdb/ui-file.h.orig > ++++ gdb-10.2/gdb/ui-file.h > +@@ -195,6 +195,7 @@ public: > + > + bool can_emit_style_escape () override; > + > ++ FILE *get_stream(void); > + /* Sets the internal stream to FILE, and saves the FILE's file > + descriptor in M_FD. */ > + void set_stream (FILE *file); > +--- gdb-10.2/gdb/ui-file.c.orig > ++++ gdb-10.2/gdb/ui-file.c > +@@ -161,6 +161,12 @@ stdio_file::~stdio_file () > + fclose (m_file); > + } > + > ++FILE* > ++stdio_file::get_stream(void) > ++{ > ++ return m_file; > ++} > ++ > + void > + stdio_file::set_stream (FILE *file) > + { > +--- gdb-10.2/gdb/symtab.c.orig > ++++ gdb-10.2/gdb/symtab.c > +@@ -6964,8 +6964,12 @@ void > + gdb_command_funnel_1(struct gnu_request *req) > + { > + struct symbol *sym; > ++ FILE *original_stdout_stream = nullptr; > ++ FILE *original_stderr_stream = nullptr; > + > + if (req->command != GNU_VERSION && req->command != > GNU_USER_PRINT_OPTION) { > ++ original_stdout_stream = (dynamic_cast< stdio_file * > >gdb_stdout)->get_stream(); > ++ original_stderr_stream = (dynamic_cast< stdio_file * > >gdb_stderr)->get_stream(); > + (dynamic_cast<stdio_file *>gdb_stdout)->set_stream(req->fp); > + (dynamic_cast<stdio_file *>gdb_stderr)->set_stream(req->fp); > + } > +@@ -7068,6 +7072,12 @@ gdb_command_funnel_1(struct gnu_request *req) > + req->flags |= GNU_COMMAND_FAILED; > + break; > + } > ++ > ++ /* Restore the streams gdb output was using */ > ++ if (original_stdout_stream) > ++ (dynamic_cast<stdio_file > *>gdb_stdout)->set_stream(original_stdout_stream); > ++ if (original_stderr_stream) > ++ (dynamic_cast<stdio_file > *>gdb_stderr)->set_stream(original_stderr_stream); > + } > + > + /* -- Crash-utility mailing list -- devel@lists.crash-utility.osci.io To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/ Contribution Guidelines: https://github.com/crash-utility/crash/wiki