This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Warning: Too many CFI instuctions


mark wrote ... in a necrothread long ago:

> [...]
>> I get the following warning when calculating backtraces with
>> SystemTap: "Too many CFI instuctions“. Therefore I change the output
>> of the warning to print out the number of needed instructions.
>> Would it be possible to either increase the size or make it configurable?
>
> #ifndef MAX_CFI
> #define MAX_CFI 512
> #endif

And this was done.

> would make it possible to just use stap -DMAX_CFI=8192
> (untested)
> But what has 5000+ CFI instructions? That seems excessive.

Just for giggles, I ran 

% eu-readelf -wframe BINARY |
awk 'BEGIN { state=0; max=0 }
     /initial_location/ { name=$0}
     /Program:/ { state=1; count=0; next }
     /^.....*/ && (state==1) { count ++ } 
     /^$/ && (state==1) { print(name, " CFI-length:", count); state=0;
                          if (max < count) { max = count }}
     END { print("max cfi count: ", max)}' | grep max.cfi.count

on some random binaries in fedora29 x86-64.

libavcodec.so.58: 3176
libQt5WebEngineCore.so.5.11.3: 4856
mame: 1805
libxul.so: 2175
vmlinux: 234

so these are real.  I'll bump up the number to 8192, which I haven't
seen anything get close.


- FChE


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]