-
Notifications
You must be signed in to change notification settings - Fork 312
Fix issue with call sites on constructors without DUP bytecode #9698
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
🎯 Code Coverage 🔗 Commit SHA: 8a8fdc8 | Docs | Was this helpful? Give us feedback! |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 60 metrics, 5 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.55.0-SNAPSHOT~8a8fdc8a7d, baseline=1.55.0-SNAPSHOT~a56894b54b
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.023 s) : 0, 1022670
Total [baseline] (8.695 s) : 0, 8694656
Agent [candidate] (1.019 s) : 0, 1018582
Total [candidate] (8.679 s) : 0, 8678868
section iast
Agent [baseline] (1.147 s) : 0, 1147450
Total [baseline] (9.294 s) : 0, 9293564
Agent [candidate] (1.156 s) : 0, 1156131
Total [candidate] (9.322 s) : 0, 9321998
gantt
title insecure-bank - break down per module: candidate=1.55.0-SNAPSHOT~8a8fdc8a7d, baseline=1.55.0-SNAPSHOT~a56894b54b
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.476 ms) : 0, 1476
crashtracking [candidate] (1.463 ms) : 0, 1463
BytebuddyAgent [baseline] (697.65 ms) : 0, 697650
BytebuddyAgent [candidate] (694.059 ms) : 0, 694059
GlobalTracer [baseline] (242.837 ms) : 0, 242837
GlobalTracer [candidate] (242.166 ms) : 0, 242166
AppSec [baseline] (32.615 ms) : 0, 32615
AppSec [candidate] (32.466 ms) : 0, 32466
Debugger [baseline] (6.39 ms) : 0, 6390
Debugger [candidate] (6.398 ms) : 0, 6398
Remote Config [baseline] (707.311 µs) : 0, 707
Remote Config [candidate] (701.055 µs) : 0, 701
Telemetry [baseline] (9.243 ms) : 0, 9243
Telemetry [candidate] (9.198 ms) : 0, 9198
Flare Poller [baseline] (10.498 ms) : 0, 10498
Flare Poller [candidate] (11.049 ms) : 0, 11049
section iast
crashtracking [baseline] (1.458 ms) : 0, 1458
crashtracking [candidate] (1.471 ms) : 0, 1471
BytebuddyAgent [baseline] (812.956 ms) : 0, 812956
BytebuddyAgent [candidate] (819.146 ms) : 0, 819146
GlobalTracer [baseline] (231.035 ms) : 0, 231035
GlobalTracer [candidate] (232.628 ms) : 0, 232628
AppSec [baseline] (35.156 ms) : 0, 35156
AppSec [candidate] (35.163 ms) : 0, 35163
Debugger [baseline] (6.051 ms) : 0, 6051
Debugger [candidate] (6.12 ms) : 0, 6120
Remote Config [baseline] (615.822 µs) : 0, 616
Remote Config [candidate] (624.301 µs) : 0, 624
Telemetry [baseline] (8.418 ms) : 0, 8418
Telemetry [candidate] (8.674 ms) : 0, 8674
Flare Poller [baseline] (4.184 ms) : 0, 4184
Flare Poller [candidate] (4.255 ms) : 0, 4255
IAST [baseline] (26.348 ms) : 0, 26348
IAST [candidate] (26.569 ms) : 0, 26569
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.55.0-SNAPSHOT~8a8fdc8a7d, baseline=1.55.0-SNAPSHOT~a56894b54b
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.021 s) : 0, 1020551
Total [baseline] (10.765 s) : 0, 10764684
Agent [candidate] (1.018 s) : 0, 1017546
Total [candidate] (10.658 s) : 0, 10657680
section appsec
Agent [baseline] (1.201 s) : 0, 1201343
Total [baseline] (10.975 s) : 0, 10975277
Agent [candidate] (1.208 s) : 0, 1207967
Total [candidate] (11.012 s) : 0, 11011940
section iast
Agent [baseline] (1.15 s) : 0, 1150199
Total [baseline] (10.985 s) : 0, 10984503
Agent [candidate] (1.149 s) : 0, 1148770
Total [candidate] (10.935 s) : 0, 10935189
section profiling
Agent [baseline] (1.162 s) : 0, 1162100
Total [baseline] (11.048 s) : 0, 11047824
Agent [candidate] (1.16 s) : 0, 1159785
Total [candidate] (11.073 s) : 0, 11072518
gantt
title petclinic - break down per module: candidate=1.55.0-SNAPSHOT~8a8fdc8a7d, baseline=1.55.0-SNAPSHOT~a56894b54b
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.461 ms) : 0, 1461
crashtracking [candidate] (1.452 ms) : 0, 1452
BytebuddyAgent [baseline] (695.907 ms) : 0, 695907
BytebuddyAgent [candidate] (693.141 ms) : 0, 693141
GlobalTracer [baseline] (242.298 ms) : 0, 242298
GlobalTracer [candidate] (242.186 ms) : 0, 242186
AppSec [baseline] (32.231 ms) : 0, 32231
AppSec [candidate] (32.425 ms) : 0, 32425
Debugger [baseline] (6.412 ms) : 0, 6412
Debugger [candidate] (6.402 ms) : 0, 6402
Remote Config [baseline] (706.555 µs) : 0, 707
Remote Config [candidate] (698.814 µs) : 0, 699
Telemetry [baseline] (9.129 ms) : 0, 9129
Telemetry [candidate] (9.192 ms) : 0, 9192
Flare Poller [baseline] (11.17 ms) : 0, 11170
Flare Poller [candidate] (10.865 ms) : 0, 10865
section appsec
crashtracking [baseline] (1.495 ms) : 0, 1495
crashtracking [candidate] (1.48 ms) : 0, 1480
BytebuddyAgent [baseline] (722.869 ms) : 0, 722869
BytebuddyAgent [candidate] (727.714 ms) : 0, 727714
GlobalTracer [baseline] (236.006 ms) : 0, 236006
GlobalTracer [candidate] (237.138 ms) : 0, 237138
AppSec [baseline] (175.0 ms) : 0, 175000
AppSec [candidate] (175.914 ms) : 0, 175914
Debugger [baseline] (6.131 ms) : 0, 6131
Debugger [candidate] (6.18 ms) : 0, 6180
Remote Config [baseline] (650.933 µs) : 0, 651
Remote Config [candidate] (651.846 µs) : 0, 652
Telemetry [baseline] (9.237 ms) : 0, 9237
Telemetry [candidate] (8.491 ms) : 0, 8491
Flare Poller [baseline] (3.942 ms) : 0, 3942
Flare Poller [candidate] (3.988 ms) : 0, 3988
IAST [baseline] (24.806 ms) : 0, 24806
IAST [candidate] (25.06 ms) : 0, 25060
section iast
crashtracking [baseline] (1.462 ms) : 0, 1462
crashtracking [candidate] (1.455 ms) : 0, 1455
BytebuddyAgent [baseline] (814.638 ms) : 0, 814638
BytebuddyAgent [candidate] (813.987 ms) : 0, 813987
GlobalTracer [baseline] (231.627 ms) : 0, 231627
GlobalTracer [candidate] (231.182 ms) : 0, 231182
AppSec [baseline] (35.121 ms) : 0, 35121
AppSec [candidate] (34.983 ms) : 0, 34983
Debugger [baseline] (6.091 ms) : 0, 6091
Debugger [candidate] (6.108 ms) : 0, 6108
Remote Config [baseline] (621.946 µs) : 0, 622
Remote Config [candidate] (618.34 µs) : 0, 618
Telemetry [baseline] (8.584 ms) : 0, 8584
Telemetry [candidate] (8.576 ms) : 0, 8576
Flare Poller [baseline] (4.21 ms) : 0, 4210
Flare Poller [candidate] (4.223 ms) : 0, 4223
IAST [baseline] (26.467 ms) : 0, 26467
IAST [candidate] (26.314 ms) : 0, 26314
section profiling
crashtracking [baseline] (1.432 ms) : 0, 1432
crashtracking [candidate] (1.431 ms) : 0, 1431
BytebuddyAgent [baseline] (721.426 ms) : 0, 721426
BytebuddyAgent [candidate] (719.901 ms) : 0, 719901
GlobalTracer [baseline] (217.976 ms) : 0, 217976
GlobalTracer [candidate] (217.477 ms) : 0, 217477
AppSec [baseline] (32.713 ms) : 0, 32713
AppSec [candidate] (32.596 ms) : 0, 32596
Debugger [baseline] (6.428 ms) : 0, 6428
Debugger [candidate] (6.423 ms) : 0, 6423
Remote Config [baseline] (702.114 µs) : 0, 702
Remote Config [candidate] (688.733 µs) : 0, 689
Telemetry [baseline] (16.513 ms) : 0, 16513
Telemetry [candidate] (15.76 ms) : 0, 15760
Flare Poller [baseline] (4.164 ms) : 0, 4164
Flare Poller [candidate] (4.98 ms) : 0, 4980
ProfilingAgent [baseline] (107.318 ms) : 0, 107318
ProfilingAgent [candidate] (106.868 ms) : 0, 106868
Profiling [baseline] (108.699 ms) : 0, 108699
Profiling [candidate] (108.675 ms) : 0, 108675
LoadParameters
See matching parameters
SummaryFound 1 performance improvements and 2 performance regressions! Performance is the same for 9 metrics, 12 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~8a8fdc8a7d, baseline=1.55.0-SNAPSHOT~a56894b54b
dateFormat X
axisFormat %s
section baseline
no_agent (4.277 ms) : 4225, 4329
. : milestone, 4277,
iast (9.712 ms) : 9548, 9877
. : milestone, 9712,
iast_FULL (15.553 ms) : 15235, 15871
. : milestone, 15553,
iast_GLOBAL (11.209 ms) : 11005, 11413
. : milestone, 11209,
profiling (8.98 ms) : 8841, 9118
. : milestone, 8980,
tracing (7.55 ms) : 7431, 7669
. : milestone, 7550,
section candidate
no_agent (4.419 ms) : 4368, 4470
. : milestone, 4419,
iast (9.474 ms) : 9315, 9633
. : milestone, 9474,
iast_FULL (14.232 ms) : 13955, 14508
. : milestone, 14232,
iast_GLOBAL (10.899 ms) : 10705, 11093
. : milestone, 10899,
profiling (8.894 ms) : 8742, 9047
. : milestone, 8894,
tracing (7.944 ms) : 7831, 8057
. : milestone, 7944,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~8a8fdc8a7d, baseline=1.55.0-SNAPSHOT~a56894b54b
dateFormat X
axisFormat %s
section baseline
no_agent (38.096 ms) : 37786, 38405
. : milestone, 38096,
appsec (48.704 ms) : 48279, 49130
. : milestone, 48704,
code_origins (44.024 ms) : 43656, 44392
. : milestone, 44024,
iast (45.019 ms) : 44649, 45390
. : milestone, 45019,
profiling (49.739 ms) : 49296, 50181
. : milestone, 49739,
tracing (44.854 ms) : 44463, 45245
. : milestone, 44854,
section candidate
no_agent (37.376 ms) : 37074, 37679
. : milestone, 37376,
appsec (48.777 ms) : 48341, 49214
. : milestone, 48777,
code_origins (45.178 ms) : 44791, 45565
. : milestone, 45178,
iast (46.236 ms) : 45844, 46628
. : milestone, 46236,
profiling (49.968 ms) : 49512, 50424
. : milestone, 49968,
tracing (46.049 ms) : 45648, 46450
. : milestone, 46049,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~8a8fdc8a7d, baseline=1.55.0-SNAPSHOT~a56894b54b
dateFormat X
axisFormat %s
section baseline
no_agent (1.483 ms) : 1471, 1494
. : milestone, 1483,
appsec (3.736 ms) : 3516, 3956
. : milestone, 3736,
iast (2.217 ms) : 2153, 2280
. : milestone, 2217,
iast_GLOBAL (2.258 ms) : 2194, 2322
. : milestone, 2258,
profiling (2.076 ms) : 2023, 2129
. : milestone, 2076,
tracing (2.034 ms) : 1984, 2083
. : milestone, 2034,
section candidate
no_agent (1.482 ms) : 1470, 1493
. : milestone, 1482,
appsec (3.722 ms) : 3501, 3943
. : milestone, 3722,
iast (2.217 ms) : 2153, 2281
. : milestone, 2217,
iast_GLOBAL (2.252 ms) : 2188, 2316
. : milestone, 2252,
profiling (2.068 ms) : 2009, 2126
. : milestone, 2068,
tracing (2.038 ms) : 1988, 2088
. : milestone, 2038,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~8a8fdc8a7d, baseline=1.55.0-SNAPSHOT~a56894b54b
dateFormat X
axisFormat %s
section baseline
no_agent (15.33 s) : 15330000, 15330000
. : milestone, 15330000,
appsec (15.087 s) : 15087000, 15087000
. : milestone, 15087000,
iast (18.444 s) : 18444000, 18444000
. : milestone, 18444000,
iast_GLOBAL (18.279 s) : 18279000, 18279000
. : milestone, 18279000,
profiling (15.39 s) : 15390000, 15390000
. : milestone, 15390000,
tracing (15.243 s) : 15243000, 15243000
. : milestone, 15243000,
section candidate
no_agent (14.904 s) : 14904000, 14904000
. : milestone, 14904000,
appsec (15.111 s) : 15111000, 15111000
. : milestone, 15111000,
iast (18.752 s) : 18752000, 18752000
. : milestone, 18752000,
iast_GLOBAL (18.248 s) : 18248000, 18248000
. : milestone, 18248000,
profiling (15.118 s) : 15118000, 15118000
. : milestone, 15118000,
tracing (15.308 s) : 15308000, 15308000
. : milestone, 15308000,
|
What Does This Do
Ignores constructor call sites when there is no corresponding
DUP
instruction following aNEW
. This can occur when the created instance is immediately discarded and never used in the code.Motivation
We've received an escalation related to a verification error:
The issue is caused by stack manipulation operations performed by IAST when applying call site advices. In the case of constructors, the instrumentation expects a
DUP
instruction to follow theNEW
operation. However, in this particular instance, the bytecode sequence was:Since the created instance is immediately discarded by the Java code, we can safely ignore these call sites.
Additional Notes
As a future improvement, we could revisit this logic and explore applying call site advices to this case as well.
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any useful labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: APMS-17315