Re: Patch to fix Seg Violation in parse_for_member

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




----- Original Message -----
> On Thu, 2012-08-09 at 16:23 -0600, Bob Montgomery wrote:
> > If you change the
> >      fprintf(pc->saved_fp, buf);
> > lines to
> >      print_verbatim(pc->saved_fp, buf);
> > 
> > Then I won't get:
> > 
> > crash> sk_buff.head ffff88012014dc80
> > Segmentation fault
> > 
> > When I need to get:
> > 
> > crash> sk_buff.head ffff88012014dc80
> >   head = 0xffff880121267000 "\"%s %s %s\", got type \"%s\""
> > 
> > 
> > Patch attached (6.0.8).
> > 
> > I suspect performance will suffer a bit when I try to print
> > 2 million of these...
> 
> Wonder if it would be quicker on average to string search for "%" and
> conditionally call print_verbatim???  I had lots of successful
> fprintf's and only a small number of seg viol cases.
> 
> Bob M.

Hi Bob,

Although in practice, 

 (1) parse_for_member() is rarely called "in quantity", and
 (2) when it is called, it would only encounter this with "char *" members, and
 (3) the string would also have to have a '%' in it.  

On the other hand, if you test the two print-types with a million calls,
there's a significant performance hit.  But if a strstr() is done first
on the string, there's virtually no hit at all if there's no '%' in it.

So yes, I agree with you that the string-search/conditional call should be done.
I'll add that to your patch, and queue it for crash-6.0.9.

Thanks,
  Dave

--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility


[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux