|
From: Philippe W. <phi...@sk...> - 2016-02-05 20:02:41
|
On Fri, 2016-02-05 at 11:20 +0100, David Hallas wrote: > 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? Strange. VG_(printf) prints unconditionally. > > 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? A symbol name of 268 Kb is quite impressive, I hope you never have to print this variable in gdb :). > > Please let me know if there is any other information that you need? Or > if you have some other things to test. The information is clear, I think the problem is identified now. The best is to file a bug entry in bugzilla, I hope to fix this problem in the coming weeks or so. Thanks Philippe |