Hi Philippe,

thanks for the reply. I tried increasing the SEGINFO_STRPOOLSIZE as you
requested, and for me the magic number is 268*1024 then the assert goes
away :) I also tried to add the print to the ML_(addStr) function in
storage.c but for some reason I never see the print?

I tried to play with objdump and nm to find some large symbols, but I think
I do not have enough objdump/nm skills to do that. But I also tried to play
with strings and I found one string (a symbol name) that is 274154 bytes
long (this fits perfectly with that I see the problem if the
SEGINFO_STRPOOLSIZE is 267*1024 but not with 268*1024). The code that I am
debugging is using a lot of templates, so go figure ;) So I think it sounds
very plausible that it is this string that is causing the problem?

Please let me know if there is any other information that you need? Or if
you have some other things to test.

Thanks

/David


On Fri, Feb 5, 2016 at 12:53 AM, Philippe Waroquiers <
philippe.waroqui...@skynet.be> wrote:

> On Thu, 2016-02-04 at 08:28 +0100, David Hallas wrote:
> > Hi Philippe,
> >
> >
> > thanks a lot for the quick reply!
> >
> >
> > I have rerun the test with -v -v -v -d -d -d options and attached the
> > log. I have also tested compiling the binary with gcc-5.2.1 and there
> > I also see the problem, so it doesn't look to be compiler specific.
>
> Strange thing is that there is no host stacktrace.
> (so maybe the error is encountered before the debug info needed for
> the stack trace is loaded).
>
> From the trace, if this is a (too) big string, then that string
> is in gtest.
> Maybe you could use objdump and/or other tools (strings?)
> to find what could be this string of > 64Kb (if that is really the
> problem).
>
> >
> >
> > If you have some specific patches you want tested, I can pull the
> > valgrind sources and do a local build?
> Yes, what you could try is to increase
> #define SEGINFO_STRPOOLSIZE (64*1024)
> in coregrind/m_debuginfo/priv_storage.h
> (e.g. to (640*1024))
> and see if it works.
>
> I would be nice also to add a
>    if (len > 64 * 1024)
>      VG_(printf("huge string <%s>\n", str);
> in the ML_(addStr) function in storage.c
> to understand what is this big string.
>
> If the patch above and/or the printf do not give a clue; then
> more debugging/tracing of valgrind will be needed.
>
> Philippe
>
>
>
>
>
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to