From c6b9d83eb593a309b410e92c60b63a0fbee71d23 Mon Sep 17 00:00:00 2001 From: Alexander Seleznyov Date: Wed, 4 Dec 2024 11:33:20 +0200 Subject: [PATCH] refactoring --- .github/workflows/run-end-to-end.yml | 12 +- ...on_replay_inner_dotnet_spans_expected.json | 49 + ...ion_replay_inner_dotnet_tags_expected.json | 9 - ...tion_replay_inner_java_spans_expected.json | 33 + ...ption_replay_inner_java_tags_expected.json | 22 - ...ay_recursion_20_dotnet_spans_expected.json | 297 + ...lay_recursion_20_dotnet_tags_expected.json | 97 - ...play_recursion_20_java_spans_expected.json | 1073 ++ ...eplay_recursion_20_java_tags_expected.json | 2102 --- ...recursion_5_dotnet_snapshots_expected.json | 1939 --- ...play_recursion_5_dotnet_tags_expected.json | 97 - ...y_recursion_5_java_snapshots_expected.json | 12248 ---------------- ...replay_recursion_5_java_tags_expected.json | 242 - ...ckpaperscissors_dotnet_spans_expected.json | 143 + ...ockpaperscissors_dotnet_tags_expected.json | 23 - ...rockpaperscissors_java_spans_expected.json | 95 + ..._rockpaperscissors_java_tags_expected.json | 107 - ...n_replay_simple_dotnet_spans_expected.json | 49 + ...on_replay_simple_dotnet_tags_expected.json | 9 - ...ion_replay_simple_java_spans_expected.json | 33 + ...tion_replay_simple_java_tags_expected.json | 22 - .../test_debugger_exception_replay.py | 385 +- .../test_debugger_expression_language.py | 125 +- tests/debugger/test_debugger_pii.py | 210 +- .../debugger/test_debugger_probe_snapshot.py | 221 +- tests/debugger/test_debugger_probe_status.py | 118 +- tests/debugger/utils.py | 490 +- utils/_context/_scenarios/__init__.py | 24 +- utils/_remote_config.py | 53 +- 29 files changed, 2598 insertions(+), 17729 deletions(-) create mode 100644 tests/debugger/approvals/exception_replay_inner_dotnet_spans_expected.json delete mode 100644 tests/debugger/approvals/exception_replay_inner_dotnet_tags_expected.json create mode 100644 tests/debugger/approvals/exception_replay_inner_java_spans_expected.json delete mode 100644 tests/debugger/approvals/exception_replay_inner_java_tags_expected.json create mode 100644 tests/debugger/approvals/exception_replay_recursion_20_dotnet_spans_expected.json delete mode 100644 tests/debugger/approvals/exception_replay_recursion_20_dotnet_tags_expected.json create mode 100644 tests/debugger/approvals/exception_replay_recursion_20_java_spans_expected.json delete mode 100644 tests/debugger/approvals/exception_replay_recursion_20_java_tags_expected.json delete mode 100644 tests/debugger/approvals/exception_replay_recursion_5_dotnet_snapshots_expected.json delete mode 100644 tests/debugger/approvals/exception_replay_recursion_5_dotnet_tags_expected.json delete mode 100644 tests/debugger/approvals/exception_replay_recursion_5_java_snapshots_expected.json delete mode 100644 tests/debugger/approvals/exception_replay_recursion_5_java_tags_expected.json create mode 100644 tests/debugger/approvals/exception_replay_rockpaperscissors_dotnet_spans_expected.json delete mode 100644 tests/debugger/approvals/exception_replay_rockpaperscissors_dotnet_tags_expected.json create mode 100644 tests/debugger/approvals/exception_replay_rockpaperscissors_java_spans_expected.json delete mode 100644 tests/debugger/approvals/exception_replay_rockpaperscissors_java_tags_expected.json create mode 100644 tests/debugger/approvals/exception_replay_simple_dotnet_spans_expected.json delete mode 100644 tests/debugger/approvals/exception_replay_simple_dotnet_tags_expected.json create mode 100644 tests/debugger/approvals/exception_replay_simple_java_spans_expected.json delete mode 100644 tests/debugger/approvals/exception_replay_simple_java_tags_expected.json diff --git a/.github/workflows/run-end-to-end.yml b/.github/workflows/run-end-to-end.yml index 0067bcdd29..10140abaf2 100644 --- a/.github/workflows/run-end-to-end.yml +++ b/.github/workflows/run-end-to-end.yml @@ -276,15 +276,9 @@ jobs: - name: Run DEBUGGER_PROBES_STATUS scenario if: always() && steps.build.outcome == 'success' && contains(inputs.scenarios, '"DEBUGGER_PROBES_STATUS"') run: ./run.sh DEBUGGER_PROBES_STATUS - - name: Run DEBUGGER_METHOD_PROBES_SNAPSHOT scenario - if: always() && steps.build.outcome == 'success' && contains(inputs.scenarios, '"DEBUGGER_METHOD_PROBES_SNAPSHOT"') - run: ./run.sh DEBUGGER_METHOD_PROBES_SNAPSHOT - - name: Run DEBUGGER_LINE_PROBES_SNAPSHOT scenario - if: always() && steps.build.outcome == 'success' && contains(inputs.scenarios, '"DEBUGGER_LINE_PROBES_SNAPSHOT"') - run: ./run.sh DEBUGGER_LINE_PROBES_SNAPSHOT - - name: Run DEBUGGER_MIX_LOG_PROBE scenario - if: always() && steps.build.outcome == 'success' && contains(inputs.scenarios, '"DEBUGGER_MIX_LOG_PROBE"') - run: ./run.sh DEBUGGER_MIX_LOG_PROBE + - name: Run DEBUGGER_PROBES_SNAPSHOT scenario + if: always() && steps.build.outcome == 'success' && contains(inputs.scenarios, '"DEBUGGER_PROBES_SNAPSHOT"') + run: ./run.sh DEBUGGER_PROBES_SNAPSHOT - name: Run DEBUGGER_PII_REDACTION scenario if: always() && steps.build.outcome == 'success' && contains(inputs.scenarios, '"DEBUGGER_PII_REDACTION"') run: ./run.sh DEBUGGER_PII_REDACTION diff --git a/tests/debugger/approvals/exception_replay_inner_dotnet_spans_expected.json b/tests/debugger/approvals/exception_replay_inner_dotnet_spans_expected.json new file mode 100644 index 0000000000..b56d3ba078 --- /dev/null +++ b/tests/debugger/approvals/exception_replay_inner_dotnet_spans_expected.json @@ -0,0 +1,49 @@ +{ + "snapshot_0": { + "duration": "", + "error": 1, + "meta": { + "_dd.appsec.event_rules.version": "", + "_dd.debug.error.0.frame_data.class_name": "DebuggerController", + "_dd.debug.error.0.frame_data.function": "ExceptionReplayInner", + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.di._eh": "-1498658543", + "_dd.di._er": "Eligible", + "_dd.iast.enabled": "1", + "_dd.runtime_family": "dotnet", + "aspnet_core.endpoint": "weblog.DebuggerController.ExceptionReplayInner (app)", + "aspnet_core.route": "debugger/exceptionreplay/inner", + "component": "aspnet_core", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.msg": "Outer exception", + "error.stack": "System.Exception: Outer exception\n ---> System.Exception: Inner exception\n at weblog.DebuggerController.ExceptionReplayInner()", + "error.type": "System.Exception", + "http.client_ip": "192.168.65.1", + "http.method": "GET", + "http.request.headers.host": "localhost:7777", + "http.request.headers.user-agent": "", + "http.route": "debugger/exceptionreplay/inner", + "http.status_code": "500", + "http.url": "http://localhost:7777/debugger/exceptionreplay/inner", + "http.useragent": "", + "key1": "val1", + "key2": "val2", + "language": "dotnet", + "network.client.ip": "192.168.65.1", + "runtime-id": "", + "span.kind": "server", + "version": "" + }, + "metrics": "", + "name": "aspnet_core.request", + "resource": "GET /debugger/exceptionreplay/inner", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + } +} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_inner_dotnet_tags_expected.json b/tests/debugger/approvals/exception_replay_inner_dotnet_tags_expected.json deleted file mode 100644 index c7c816c393..0000000000 --- a/tests/debugger/approvals/exception_replay_inner_dotnet_tags_expected.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "snapshot_0": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplayInner", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.exception_hash": "6bc35134-9dd1-3754-aa29-1772d025f0a6", - "_dd.debug.error.exception_id": "" - } -} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_inner_java_spans_expected.json b/tests/debugger/approvals/exception_replay_inner_java_spans_expected.json new file mode 100644 index 0000000000..adb617673a --- /dev/null +++ b/tests/debugger/approvals/exception_replay_inner_java_spans_expected.json @@ -0,0 +1,33 @@ +{ + "snapshot_0": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.94.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Outer exception\"; nested exception is org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Inner exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Outer exception\"; nested exception is org.spr", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayInner", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + } +} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_inner_java_tags_expected.json b/tests/debugger/approvals/exception_replay_inner_java_tags_expected.json deleted file mode 100644 index c6e50ca95c..0000000000 --- a/tests/debugger/approvals/exception_replay_inner_java_tags_expected.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "snapshot_0": { - "_dd.debug.error.94.snapshot_id": "", - "_dd.debug.error.exception_hash": "6d3b2fa26dcd32c378df8a62c62c1b28d6d7d5531411792fbb90a9650dcf", - "_dd.debug.error.exception_id": "" - }, - "snapshot_1": { - "_dd.debug.error.94.snapshot_id": "", - "_dd.debug.error.exception_hash": "6d3b2fa26dcd32c378df8a62c62c1b28d6d7d5531411792fbb90a9650dcf", - "_dd.debug.error.exception_id": "" - }, - "snapshot_2": { - "_dd.debug.error.94.snapshot_id": "", - "_dd.debug.error.exception_hash": "6d3b2fa26dcd32c378df8a62c62c1b28d6d7d5531411792fbb90a9650dcf", - "_dd.debug.error.exception_id": "" - }, - "snapshot_3": { - "_dd.debug.error.94.snapshot_id": "", - "_dd.debug.error.exception_hash": "6d3b2fa26dcd32c378df8a62c62c1b28d6d7d5531411792fbb90a9650dcf", - "_dd.debug.error.exception_id": "" - } -} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_recursion_20_dotnet_spans_expected.json b/tests/debugger/approvals/exception_replay_recursion_20_dotnet_spans_expected.json new file mode 100644 index 0000000000..110b2cda01 --- /dev/null +++ b/tests/debugger/approvals/exception_replay_recursion_20_dotnet_spans_expected.json @@ -0,0 +1,297 @@ +{ + "snapshot_0": { + "duration": "", + "error": 1, + "meta": { + "_dd.appsec.event_rules.version": "", + "_dd.debug.error.0.frame_data.class_name": "DebuggerController", + "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.frame_data.class_name": "DebuggerController", + "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.2.frame_data.class_name": "DebuggerController", + "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.frame_data.class_name": "DebuggerController", + "_dd.debug.error.20.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.frame_data.class_name": "DebuggerController", + "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.di._eh": "-1523956302", + "_dd.di._er": "Eligible", + "_dd.iast.enabled": "1", + "_dd.runtime_family": "dotnet", + "aspnet_core.endpoint": "weblog.DebuggerController.ExceptionReplayRecursion (app)", + "aspnet_core.route": "debugger/exceptionreplay/recursion", + "component": "aspnet_core", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.msg": "Recursion exception", + "error.stack": "System.Exception: Recursion exception\n at weblog.DebuggerController.ExceptionReplayRecursion(Int32 depth) in /app/DebuggerCont", + "error.type": "System.Exception", + "http.client_ip": "192.168.65.1", + "http.method": "GET", + "http.request.headers.host": "localhost:7777", + "http.request.headers.user-agent": "", + "http.route": "debugger/exceptionreplay/recursion", + "http.status_code": "500", + "http.url": "http://localhost:7777/debugger/exceptionreplay/recursion?depth=20", + "http.useragent": "", + "key1": "val1", + "key2": "val2", + "language": "dotnet", + "network.client.ip": "192.168.65.1", + "runtime-id": "", + "span.kind": "server", + "version": "" + }, + "metrics": "", + "name": "aspnet_core.request", + "resource": "GET /debugger/exceptionreplay/recursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_1": { + "duration": "", + "error": 1, + "meta": { + "_dd.appsec.event_rules.version": "", + "_dd.debug.error.0.frame_data.class_name": "DebuggerController", + "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.frame_data.class_name": "DebuggerController", + "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.2.frame_data.class_name": "DebuggerController", + "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.frame_data.class_name": "DebuggerController", + "_dd.debug.error.20.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.frame_data.class_name": "DebuggerController", + "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.di._eh": "-1523956302", + "_dd.di._er": "Eligible", + "_dd.iast.enabled": "1", + "_dd.runtime_family": "dotnet", + "aspnet_core.endpoint": "weblog.DebuggerController.ExceptionReplayRecursion (app)", + "aspnet_core.route": "debugger/exceptionreplay/recursion", + "component": "aspnet_core", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.msg": "Recursion exception", + "error.stack": "System.Exception: Recursion exception\n at weblog.DebuggerController.ExceptionReplayRecursion(Int32 depth) in /app/DebuggerCont", + "error.type": "System.Exception", + "http.client_ip": "192.168.65.1", + "http.method": "GET", + "http.request.headers.host": "localhost:7777", + "http.request.headers.user-agent": "", + "http.route": "debugger/exceptionreplay/recursion", + "http.status_code": "500", + "http.url": "http://localhost:7777/debugger/exceptionreplay/recursion?depth=20", + "http.useragent": "", + "key1": "val1", + "key2": "val2", + "language": "dotnet", + "network.client.ip": "192.168.65.1", + "runtime-id": "", + "span.kind": "server", + "version": "" + }, + "metrics": "", + "name": "aspnet_core.request", + "resource": "GET /debugger/exceptionreplay/recursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_2": { + "duration": "", + "error": 1, + "meta": { + "_dd.appsec.event_rules.version": "", + "_dd.debug.error.0.frame_data.class_name": "DebuggerController", + "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.frame_data.class_name": "DebuggerController", + "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.2.frame_data.class_name": "DebuggerController", + "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.frame_data.class_name": "DebuggerController", + "_dd.debug.error.20.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.frame_data.class_name": "DebuggerController", + "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.di._eh": "-1523956302", + "_dd.di._er": "Eligible", + "_dd.iast.enabled": "1", + "_dd.runtime_family": "dotnet", + "aspnet_core.endpoint": "weblog.DebuggerController.ExceptionReplayRecursion (app)", + "aspnet_core.route": "debugger/exceptionreplay/recursion", + "component": "aspnet_core", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.msg": "Recursion exception", + "error.stack": "System.Exception: Recursion exception\n at weblog.DebuggerController.ExceptionReplayRecursion(Int32 depth) in /app/DebuggerCont", + "error.type": "System.Exception", + "http.client_ip": "192.168.65.1", + "http.method": "GET", + "http.request.headers.host": "localhost:7777", + "http.request.headers.user-agent": "", + "http.route": "debugger/exceptionreplay/recursion", + "http.status_code": "500", + "http.url": "http://localhost:7777/debugger/exceptionreplay/recursion?depth=20", + "http.useragent": "", + "key1": "val1", + "key2": "val2", + "language": "dotnet", + "network.client.ip": "192.168.65.1", + "runtime-id": "", + "span.kind": "server", + "version": "" + }, + "metrics": "", + "name": "aspnet_core.request", + "resource": "GET /debugger/exceptionreplay/recursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_3": { + "duration": "", + "error": 1, + "meta": { + "_dd.appsec.event_rules.version": "", + "_dd.debug.error.0.frame_data.class_name": "DebuggerController", + "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.frame_data.class_name": "DebuggerController", + "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.2.frame_data.class_name": "DebuggerController", + "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.frame_data.class_name": "DebuggerController", + "_dd.debug.error.20.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.frame_data.class_name": "DebuggerController", + "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.di._eh": "-1523956302", + "_dd.di._er": "Eligible", + "_dd.iast.enabled": "1", + "_dd.runtime_family": "dotnet", + "aspnet_core.endpoint": "weblog.DebuggerController.ExceptionReplayRecursion (app)", + "aspnet_core.route": "debugger/exceptionreplay/recursion", + "component": "aspnet_core", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.msg": "Recursion exception", + "error.stack": "System.Exception: Recursion exception\n at weblog.DebuggerController.ExceptionReplayRecursion(Int32 depth) in /app/DebuggerCont", + "error.type": "System.Exception", + "http.client_ip": "192.168.65.1", + "http.method": "GET", + "http.request.headers.host": "localhost:7777", + "http.request.headers.user-agent": "", + "http.route": "debugger/exceptionreplay/recursion", + "http.status_code": "500", + "http.url": "http://localhost:7777/debugger/exceptionreplay/recursion?depth=20", + "http.useragent": "", + "key1": "val1", + "key2": "val2", + "language": "dotnet", + "network.client.ip": "192.168.65.1", + "runtime-id": "", + "span.kind": "server", + "version": "" + }, + "metrics": "", + "name": "aspnet_core.request", + "resource": "GET /debugger/exceptionreplay/recursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_4": { + "duration": "", + "error": 1, + "meta": { + "_dd.appsec.event_rules.version": "", + "_dd.debug.error.0.frame_data.class_name": "DebuggerController", + "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.frame_data.class_name": "DebuggerController", + "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.2.frame_data.class_name": "DebuggerController", + "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.frame_data.class_name": "DebuggerController", + "_dd.debug.error.20.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.frame_data.class_name": "DebuggerController", + "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.di._eh": "-1523956302", + "_dd.di._er": "Eligible", + "_dd.iast.enabled": "1", + "_dd.runtime_family": "dotnet", + "aspnet_core.endpoint": "weblog.DebuggerController.ExceptionReplayRecursion (app)", + "aspnet_core.route": "debugger/exceptionreplay/recursion", + "component": "aspnet_core", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.msg": "Recursion exception", + "error.stack": "System.Exception: Recursion exception\n at weblog.DebuggerController.ExceptionReplayRecursion(Int32 depth) in /app/DebuggerCont", + "error.type": "System.Exception", + "http.client_ip": "192.168.65.1", + "http.method": "GET", + "http.request.headers.host": "localhost:7777", + "http.request.headers.user-agent": "", + "http.route": "debugger/exceptionreplay/recursion", + "http.status_code": "500", + "http.url": "http://localhost:7777/debugger/exceptionreplay/recursion?depth=20", + "http.useragent": "", + "key1": "val1", + "key2": "val2", + "language": "dotnet", + "network.client.ip": "192.168.65.1", + "runtime-id": "", + "span.kind": "server", + "version": "" + }, + "metrics": "", + "name": "aspnet_core.request", + "resource": "GET /debugger/exceptionreplay/recursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + } +} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_recursion_20_dotnet_tags_expected.json b/tests/debugger/approvals/exception_replay_recursion_20_dotnet_tags_expected.json deleted file mode 100644 index aaf07082aa..0000000000 --- a/tests/debugger/approvals/exception_replay_recursion_20_dotnet_tags_expected.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "snapshot_0": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.frame_data.class_name": "DebuggerController", - "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.frame_data.class_name": "DebuggerController", - "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.frame_data.class_name": "DebuggerController", - "_dd.debug.error.20.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.frame_data.class_name": "DebuggerController", - "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.exception_hash": "35851efc-eb91-3753-bf3b-2cd375cb5b22", - "_dd.debug.error.exception_id": "" - }, - "snapshot_1": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.frame_data.class_name": "DebuggerController", - "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.frame_data.class_name": "DebuggerController", - "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.frame_data.class_name": "DebuggerController", - "_dd.debug.error.20.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.frame_data.class_name": "DebuggerController", - "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.exception_hash": "35851efc-eb91-3753-bf3b-2cd375cb5b22", - "_dd.debug.error.exception_id": "" - }, - "snapshot_2": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.frame_data.class_name": "DebuggerController", - "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.frame_data.class_name": "DebuggerController", - "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.frame_data.class_name": "DebuggerController", - "_dd.debug.error.20.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.frame_data.class_name": "DebuggerController", - "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.exception_hash": "35851efc-eb91-3753-bf3b-2cd375cb5b22", - "_dd.debug.error.exception_id": "" - }, - "snapshot_3": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.frame_data.class_name": "DebuggerController", - "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.frame_data.class_name": "DebuggerController", - "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.frame_data.class_name": "DebuggerController", - "_dd.debug.error.20.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.frame_data.class_name": "DebuggerController", - "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.exception_hash": "35851efc-eb91-3753-bf3b-2cd375cb5b22", - "_dd.debug.error.exception_id": "" - }, - "snapshot_4": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.frame_data.class_name": "DebuggerController", - "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.frame_data.class_name": "DebuggerController", - "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.frame_data.class_name": "DebuggerController", - "_dd.debug.error.20.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.frame_data.class_name": "DebuggerController", - "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion20", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.exception_hash": "35851efc-eb91-3753-bf3b-2cd375cb5b22", - "_dd.debug.error.exception_id": "" - } -} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_recursion_20_java_spans_expected.json b/tests/debugger/approvals/exception_replay_recursion_20_java_spans_expected.json new file mode 100644 index 0000000000..79820d2682 --- /dev/null +++ b/tests/debugger/approvals/exception_replay_recursion_20_java_spans_expected.json @@ -0,0 +1,1073 @@ +{ + "snapshot_0": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_1": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_2": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_3": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_4": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_5": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_6": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_7": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_8": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_9": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_10": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_11": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_12": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_13": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_14": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_15": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_16": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_17": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_18": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_19": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_20": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.1.snapshot_id": "", + "_dd.debug.error.10.snapshot_id": "", + "_dd.debug.error.11.snapshot_id": "", + "_dd.debug.error.12.snapshot_id": "", + "_dd.debug.error.13.snapshot_id": "", + "_dd.debug.error.14.snapshot_id": "", + "_dd.debug.error.15.snapshot_id": "", + "_dd.debug.error.16.snapshot_id": "", + "_dd.debug.error.17.snapshot_id": "", + "_dd.debug.error.18.snapshot_id": "", + "_dd.debug.error.19.snapshot_id": "", + "_dd.debug.error.2.snapshot_id": "", + "_dd.debug.error.20.snapshot_id": "", + "_dd.debug.error.3.snapshot_id": "", + "_dd.debug.error.4.snapshot_id": "", + "_dd.debug.error.5.snapshot_id": "", + "_dd.debug.error.6.snapshot_id": "", + "_dd.debug.error.7.snapshot_id": "", + "_dd.debug.error.8.snapshot_id": "", + "_dd.debug.error.9.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Recursion exception\"\n\tat com.datadoghq.system", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRecursion", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + } +} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_recursion_20_java_tags_expected.json b/tests/debugger/approvals/exception_replay_recursion_20_java_tags_expected.json deleted file mode 100644 index a9c7b5d580..0000000000 --- a/tests/debugger/approvals/exception_replay_recursion_20_java_tags_expected.json +++ /dev/null @@ -1,2102 +0,0 @@ -{ - "snapshot_0": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_1": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_2": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_3": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_4": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_5": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_6": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_7": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_8": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_9": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_10": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_11": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_12": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_13": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_14": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_15": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_16": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_17": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_18": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_19": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_20": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_21": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_22": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_23": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_24": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_25": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_26": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_27": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_28": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_29": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_30": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_31": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_32": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_33": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_34": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_35": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_36": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_37": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_38": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_39": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_40": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_41": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_42": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_43": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_44": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_45": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_46": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_47": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_48": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_49": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_50": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_51": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_52": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_53": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_54": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_55": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_56": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_57": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_58": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_59": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_60": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_61": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_62": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_63": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_64": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_65": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_66": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_67": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_68": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_69": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_70": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_71": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_72": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_73": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_74": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_75": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_76": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_77": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_78": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_79": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_80": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_81": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_82": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - }, - "snapshot_83": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.10.snapshot_id": "", - "_dd.debug.error.11.snapshot_id": "", - "_dd.debug.error.12.snapshot_id": "", - "_dd.debug.error.13.snapshot_id": "", - "_dd.debug.error.14.snapshot_id": "", - "_dd.debug.error.15.snapshot_id": "", - "_dd.debug.error.16.snapshot_id": "", - "_dd.debug.error.17.snapshot_id": "", - "_dd.debug.error.18.snapshot_id": "", - "_dd.debug.error.19.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.20.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.6.snapshot_id": "", - "_dd.debug.error.7.snapshot_id": "", - "_dd.debug.error.8.snapshot_id": "", - "_dd.debug.error.9.snapshot_id": "", - "_dd.debug.error.exception_hash": "a0cb5ae6d87377bf131b2cdf66a371ce57a3017ffb02626312c5aaef4a99139", - "_dd.debug.error.exception_id": "" - } -} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_recursion_5_dotnet_snapshots_expected.json b/tests/debugger/approvals/exception_replay_recursion_5_dotnet_snapshots_expected.json deleted file mode 100644 index 65083e97c3..0000000000 --- a/tests/debugger/approvals/exception_replay_recursion_5_dotnet_snapshots_expected.json +++ /dev/null @@ -1,1939 +0,0 @@ -[ - { - "captures": { - "return": { - "staticFields": { - "Empty": { - "type": "EmptyResult", - "value": "EmptyResult" - } - }, - "throwable": { - "message": "Recursion exception", - "type": "System.Exception", - "stacktrace": [ - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "Unknown.lambda_method", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+SyncActionResultExecutor.Execute", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker+<g__Logged|12_1>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker+<g__Awaited|10_0>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker+<g__Awaited|25_0>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker+<g__Logged|17_1>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker+<g__Logged|17_1>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Routing.EndpointMiddleware+<g__AwaitRequestTask|7_0>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authentication.AuthenticationMiddleware+d__6.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authorization.AuthorizationMiddleware+d__11.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Session.SessionMiddleware+d__8.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Session.SessionMiddleware+d__8.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.BlockingMiddleware+d__5.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+d__238`1.MoveNext", - "lineNumber": 0 - } - ] - }, - "locals": { - "@exception": { - "type": "Exception", - "value": "Exception", - "fields": { - "Message": { - "type": "String", - "value": "Recursion exception" - }, - "InnerException": { - "type": "Exception", - "isNull": "true" - }, - "HelpLink": { - "type": "String", - "isNull": "true" - }, - "Source": { - "type": "String", - "value": "app" - }, - "HResult": { - "type": "Int32", - "value": "-2146233088" - }, - "StackTrace": { - "type": "String", - "value": "" - } - } - } - }, - "arguments": { - "depth": { - "type": "Int32", - "value": "5" - }, - "this": { - "type": "DebuggerController", - "value": "DebuggerController" - } - } - } - }, - "probe": { - "id": "", - "version": 1, - "location": { - "method": "ExceptionReplayRecursion", - "type": "weblog.DebuggerController" - } - }, - "stack": [ - { - "function": "System.Diagnostics.DiagnosticListener.Write", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Hosting.HostingApplicationDiagnostics.RecordUnhandledExceptionDiagnostics", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Hosting.HostingApplicationDiagnostics.RequestEnd", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Hosting.HostingApplication.DisposeContext", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+d__238`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+d__237`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.HttpConnection+d__12`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.HttpConnection.ProcessRequestsAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1+d__8.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1.ExecuteAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1.System.Threading.IThreadPoolWorkItem.Execute", - "lineNumber": 0 - }, - { - "function": "System.Threading.ThreadPoolWorkQueue.Dispatch", - "lineNumber": 0 - }, - { - "function": "System.Threading.PortableThreadPool+WorkerThread.WorkerThreadStart", - "lineNumber": 0 - } - ], - "id": "", - "timestamp": "", - "duration": "", - "language": "dotnet" - }, - { - "captures": { - "return": { - "staticFields": { - "Empty": { - "type": "EmptyResult", - "value": "EmptyResult" - } - }, - "throwable": { - "message": "Recursion exception", - "type": "System.Exception", - "stacktrace": [ - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - } - ] - }, - "locals": { - "@exception": { - "type": "Exception", - "value": "Exception", - "fields": { - "Message": { - "type": "String", - "value": "Recursion exception" - }, - "InnerException": { - "type": "Exception", - "isNull": "true" - }, - "HelpLink": { - "type": "String", - "isNull": "true" - }, - "Source": { - "type": "String", - "value": "app" - }, - "HResult": { - "type": "Int32", - "value": "-2146233088" - }, - "StackTrace": { - "type": "String", - "value": "" - } - } - } - }, - "arguments": { - "depth": { - "type": "Int32", - "value": "0" - }, - "this": { - "type": "DebuggerController", - "value": "DebuggerController" - } - } - } - }, - "probe": { - "id": "", - "version": 1, - "location": { - "method": "ExceptionReplayRecursion", - "type": "weblog.DebuggerController" - } - }, - "stack": [ - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "Unknown.lambda_method", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+SyncActionResultExecutor.Execute", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker+<g__Logged|12_1>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Logged|12_1", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAwaitedAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Controller.OnActionExecutionAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextResourceFilter", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextResourceFilter", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker+<g__Logged|17_1>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Routing.ControllerRequestDelegateFactory+<>c__DisplayClass12_0.b__0", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Routing.EndpointMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authentication.AuthenticationMiddleware+d__6.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authorization.AuthorizationMiddleware+d__11.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Session.SessionMiddleware+d__8.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Session.SessionMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.BlockingMiddleware+d__5.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.BlockingMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+d__238`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+d__237`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.HttpConnection+d__12`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.HttpConnection.ProcessRequestsAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1+d__8.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1.ExecuteAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1.System.Threading.IThreadPoolWorkItem.Execute", - "lineNumber": 0 - }, - { - "function": "System.Threading.ThreadPoolWorkQueue.Dispatch", - "lineNumber": 0 - }, - { - "function": "System.Threading.PortableThreadPool+WorkerThread.WorkerThreadStart", - "lineNumber": 0 - } - ], - "id": "", - "timestamp": "", - "duration": "", - "language": "dotnet" - }, - { - "captures": { - "return": { - "staticFields": { - "Empty": { - "type": "EmptyResult", - "value": "EmptyResult" - } - }, - "throwable": { - "message": "Recursion exception", - "type": "System.Exception", - "stacktrace": [ - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - } - ] - }, - "locals": { - "@exception": { - "type": "Exception", - "value": "Exception", - "fields": { - "Message": { - "type": "String", - "value": "Recursion exception" - }, - "InnerException": { - "type": "Exception", - "isNull": "true" - }, - "HelpLink": { - "type": "String", - "isNull": "true" - }, - "Source": { - "type": "String", - "value": "app" - }, - "HResult": { - "type": "Int32", - "value": "-2146233088" - }, - "StackTrace": { - "type": "String", - "value": "" - } - } - } - }, - "arguments": { - "depth": { - "type": "Int32", - "value": "1" - }, - "this": { - "type": "DebuggerController", - "value": "DebuggerController" - } - } - } - }, - "probe": { - "id": "", - "version": 1, - "location": { - "method": "ExceptionReplayRecursion", - "type": "weblog.DebuggerController" - } - }, - "stack": [ - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "Unknown.lambda_method", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+SyncActionResultExecutor.Execute", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker+<g__Logged|12_1>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Logged|12_1", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAwaitedAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Controller.OnActionExecutionAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextResourceFilter", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextResourceFilter", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker+<g__Logged|17_1>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Routing.ControllerRequestDelegateFactory+<>c__DisplayClass12_0.b__0", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Routing.EndpointMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authentication.AuthenticationMiddleware+d__6.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authorization.AuthorizationMiddleware+d__11.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Session.SessionMiddleware+d__8.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Session.SessionMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.BlockingMiddleware+d__5.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.BlockingMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+d__238`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+d__237`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.HttpConnection+d__12`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.HttpConnection.ProcessRequestsAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1+d__8.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1.ExecuteAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1.System.Threading.IThreadPoolWorkItem.Execute", - "lineNumber": 0 - }, - { - "function": "System.Threading.ThreadPoolWorkQueue.Dispatch", - "lineNumber": 0 - }, - { - "function": "System.Threading.PortableThreadPool+WorkerThread.WorkerThreadStart", - "lineNumber": 0 - } - ], - "id": "", - "timestamp": "", - "duration": "", - "language": "dotnet" - }, - { - "captures": { - "return": { - "staticFields": { - "Empty": { - "type": "EmptyResult", - "value": "EmptyResult" - } - }, - "throwable": { - "message": "Recursion exception", - "type": "System.Exception", - "stacktrace": [ - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - } - ] - }, - "locals": { - "@exception": { - "type": "Exception", - "value": "Exception", - "fields": { - "Message": { - "type": "String", - "value": "Recursion exception" - }, - "InnerException": { - "type": "Exception", - "isNull": "true" - }, - "HelpLink": { - "type": "String", - "isNull": "true" - }, - "Source": { - "type": "String", - "value": "app" - }, - "HResult": { - "type": "Int32", - "value": "-2146233088" - }, - "StackTrace": { - "type": "String", - "value": "" - } - } - } - }, - "arguments": { - "depth": { - "type": "Int32", - "value": "2" - }, - "this": { - "type": "DebuggerController", - "value": "DebuggerController" - } - } - } - }, - "probe": { - "id": "", - "version": 1, - "location": { - "method": "ExceptionReplayRecursion", - "type": "weblog.DebuggerController" - } - }, - "stack": [ - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "fileName": "/app/DebuggerController.cs", - "lineNumber": 140 - }, - { - "function": "Unknown.lambda_method", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+SyncActionResultExecutor.Execute", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker+<g__Logged|12_1>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Logged|12_1", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAwaitedAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Controller.OnActionExecutionAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextResourceFilter", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextResourceFilter", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker+<g__Logged|17_1>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Routing.ControllerRequestDelegateFactory+<>c__DisplayClass12_0.b__0", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Routing.EndpointMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authentication.AuthenticationMiddleware+d__6.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authorization.AuthorizationMiddleware+d__11.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Session.SessionMiddleware+d__8.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Session.SessionMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.BlockingMiddleware+d__5.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.BlockingMiddleware.Invoke", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+d__238`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+d__237`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.HttpConnection+d__12`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.HttpConnection.ProcessRequestsAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1+d__8.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1.ExecuteAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1.System.Threading.IThreadPoolWorkItem.Execute", - "lineNumber": 0 - }, - { - "function": "System.Threading.ThreadPoolWorkQueue.Dispatch", - "lineNumber": 0 - }, - { - "function": "System.Threading.PortableThreadPool+WorkerThread.WorkerThreadStart", - "lineNumber": 0 - } - ], - "id": "", - "timestamp": "", - "duration": "", - "language": "dotnet" - }, - { - "captures": { - "return": { - "staticFields": { - "Empty": { - "type": "EmptyResult", - "value": "EmptyResult" - } - }, - "throwable": { - "message": "Recursion exception", - "type": "System.Exception", - "stacktrace": [ - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "weblog.DebuggerController.ExceptionReplayRecursion", - "lineNumber": 0 - }, - { - "function": "Unknown.lambda_method", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+SyncActionResultExecutor.Execute", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker+<g__Logged|12_1>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker+<g__Awaited|10_0>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker+<g__Awaited|25_0>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker+<g__Logged|17_1>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker+<g__Logged|17_1>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Routing.EndpointMiddleware+<g__AwaitRequestTask|7_0>d.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authentication.AuthenticationMiddleware+d__6.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Authorization.AuthorizationMiddleware+d__11.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Session.SessionMiddleware+d__8.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Session.SessionMiddleware+d__8.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.BlockingMiddleware+d__5.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+d__238`1.MoveNext", - "lineNumber": 0 - } - ] - }, - "locals": { - "@exception": { - "type": "Exception", - "value": "Exception", - "fields": { - "Message": { - "type": "String", - "value": "Recursion exception" - }, - "InnerException": { - "type": "Exception", - "isNull": "true" - }, - "HelpLink": { - "type": "String", - "isNull": "true" - }, - "Source": { - "type": "String", - "value": "app" - }, - "HResult": { - "type": "Int32", - "value": "-2146233088" - }, - "StackTrace": { - "type": "String", - "value": "" - } - } - } - }, - "arguments": { - "depth": { - "type": "Int32", - "value": "3" - }, - "this": { - "type": "DebuggerController", - "value": "DebuggerController" - } - } - } - }, - "probe": { - "id": "", - "version": 1, - "location": { - "method": "ExceptionReplayRecursion", - "type": "weblog.DebuggerController" - } - }, - "stack": [ - { - "function": "System.Diagnostics.DiagnosticListener.Write", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Hosting.HostingApplicationDiagnostics.RecordUnhandledExceptionDiagnostics", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Hosting.HostingApplicationDiagnostics.RequestEnd", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Hosting.HostingApplication.DisposeContext", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+d__238`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+d__237`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.HttpConnection+d__12`1.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.HttpConnection.ProcessRequestsAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1+d__8.MoveNext", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start", - "lineNumber": 0 - }, - { - "function": "System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1.ExecuteAsync", - "lineNumber": 0 - }, - { - "function": "Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1.System.Threading.IThreadPoolWorkItem.Execute", - "lineNumber": 0 - }, - { - "function": "System.Threading.ThreadPoolWorkQueue.Dispatch", - "lineNumber": 0 - }, - { - "function": "System.Threading.PortableThreadPool+WorkerThread.WorkerThreadStart", - "lineNumber": 0 - } - ], - "id": "", - "timestamp": "", - "duration": "", - "language": "dotnet" - } -] \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_recursion_5_dotnet_tags_expected.json b/tests/debugger/approvals/exception_replay_recursion_5_dotnet_tags_expected.json deleted file mode 100644 index 9b43a978a3..0000000000 --- a/tests/debugger/approvals/exception_replay_recursion_5_dotnet_tags_expected.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "snapshot_0": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.frame_data.class_name": "DebuggerController", - "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.frame_data.class_name": "DebuggerController", - "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.frame_data.class_name": "DebuggerController", - "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.5.frame_data.class_name": "DebuggerController", - "_dd.debug.error.5.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "51694dd6-9571-3d56-8efa-9dbc917a6357", - "_dd.debug.error.exception_id": "" - }, - "snapshot_1": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.frame_data.class_name": "DebuggerController", - "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.frame_data.class_name": "DebuggerController", - "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.frame_data.class_name": "DebuggerController", - "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.5.frame_data.class_name": "DebuggerController", - "_dd.debug.error.5.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "51694dd6-9571-3d56-8efa-9dbc917a6357", - "_dd.debug.error.exception_id": "" - }, - "snapshot_2": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.frame_data.class_name": "DebuggerController", - "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.frame_data.class_name": "DebuggerController", - "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.frame_data.class_name": "DebuggerController", - "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.5.frame_data.class_name": "DebuggerController", - "_dd.debug.error.5.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "51694dd6-9571-3d56-8efa-9dbc917a6357", - "_dd.debug.error.exception_id": "" - }, - "snapshot_3": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.frame_data.class_name": "DebuggerController", - "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.frame_data.class_name": "DebuggerController", - "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.frame_data.class_name": "DebuggerController", - "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.5.frame_data.class_name": "DebuggerController", - "_dd.debug.error.5.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "51694dd6-9571-3d56-8efa-9dbc917a6357", - "_dd.debug.error.exception_id": "" - }, - "snapshot_4": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.frame_data.class_name": "DebuggerController", - "_dd.debug.error.1.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.frame_data.class_name": "DebuggerController", - "_dd.debug.error.2.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.frame_data.class_name": "DebuggerController", - "_dd.debug.error.3.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.5.frame_data.class_name": "DebuggerController", - "_dd.debug.error.5.frame_data.function": "ExceptionReplayRecursion5", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "51694dd6-9571-3d56-8efa-9dbc917a6357", - "_dd.debug.error.exception_id": "" - } -} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_recursion_5_java_snapshots_expected.json b/tests/debugger/approvals/exception_replay_recursion_5_java_snapshots_expected.json deleted file mode 100644 index 9e02204cfb..0000000000 --- a/tests/debugger/approvals/exception_replay_recursion_5_java_snapshots_expected.json +++ /dev/null @@ -1,12248 +0,0 @@ -[ - { - "captures": { - "entry": { - "arguments": {}, - "locals": {}, - "staticFields": {} - }, - "return": { - "arguments": { - "depth": { - "type": "java.lang.Integer", - "value": "0" - }, - "this": { - "type": "com.datadoghq.system_tests.springboot.DebuggerController", - "fields": { - "intLocal": { - "type": "int", - "value": "0" - }, - "intMixLocal": { - "type": "int", - "value": "0" - } - } - } - }, - "locals": {}, - "staticFields": {}, - "throwable": { - "message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", - "stacktrace": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "type": "org.springframework.web.server.ResponseStatusException" - } - } - }, - "exceptionId": "", - "id": "", - "language": "java", - "probe": { - "id": "", - "version": 0, - "location": { - "lines": [], - "method": "exceptionReplayRecursion", - "type": "com.datadoghq.system_tests.springboot.DebuggerController" - } - }, - "stack": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "timestamp": "" - }, - { - "captures": { - "entry": { - "arguments": {}, - "locals": {}, - "staticFields": {} - }, - "return": { - "arguments": { - "depth": { - "type": "java.lang.Integer", - "value": "1" - }, - "this": { - "type": "com.datadoghq.system_tests.springboot.DebuggerController", - "fields": { - "intLocal": { - "type": "int", - "value": "0" - }, - "intMixLocal": { - "type": "int", - "value": "0" - } - } - } - }, - "locals": {}, - "staticFields": {}, - "throwable": { - "message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", - "stacktrace": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "type": "org.springframework.web.server.ResponseStatusException" - } - } - }, - "exceptionId": "", - "id": "", - "language": "java", - "probe": { - "id": "", - "version": 0, - "location": { - "lines": [], - "method": "exceptionReplayRecursion", - "type": "com.datadoghq.system_tests.springboot.DebuggerController" - } - }, - "stack": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "timestamp": "" - }, - { - "captures": { - "entry": { - "arguments": {}, - "locals": {}, - "staticFields": {} - }, - "return": { - "arguments": { - "depth": { - "type": "java.lang.Integer", - "value": "2" - }, - "this": { - "type": "com.datadoghq.system_tests.springboot.DebuggerController", - "fields": { - "intLocal": { - "type": "int", - "value": "0" - }, - "intMixLocal": { - "type": "int", - "value": "0" - } - } - } - }, - "locals": {}, - "staticFields": {}, - "throwable": { - "message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", - "stacktrace": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "type": "org.springframework.web.server.ResponseStatusException" - } - } - }, - "exceptionId": "", - "id": "", - "language": "java", - "probe": { - "id": "", - "version": 0, - "location": { - "lines": [], - "method": "exceptionReplayRecursion", - "type": "com.datadoghq.system_tests.springboot.DebuggerController" - } - }, - "stack": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "timestamp": "" - }, - { - "captures": { - "entry": { - "arguments": {}, - "locals": {}, - "staticFields": {} - }, - "return": { - "arguments": { - "depth": { - "type": "java.lang.Integer", - "value": "3" - }, - "this": { - "type": "com.datadoghq.system_tests.springboot.DebuggerController", - "fields": { - "intLocal": { - "type": "int", - "value": "0" - }, - "intMixLocal": { - "type": "int", - "value": "0" - } - } - } - }, - "locals": {}, - "staticFields": {}, - "throwable": { - "message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", - "stacktrace": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "type": "org.springframework.web.server.ResponseStatusException" - } - } - }, - "exceptionId": "", - "id": "", - "language": "java", - "probe": { - "id": "", - "version": 0, - "location": { - "lines": [], - "method": "exceptionReplayRecursion", - "type": "com.datadoghq.system_tests.springboot.DebuggerController" - } - }, - "stack": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "timestamp": "" - }, - { - "captures": { - "entry": { - "arguments": {}, - "locals": {}, - "staticFields": {} - }, - "return": { - "arguments": { - "depth": { - "type": "java.lang.Integer", - "value": "4" - }, - "this": { - "type": "com.datadoghq.system_tests.springboot.DebuggerController", - "fields": { - "intLocal": { - "type": "int", - "value": "0" - }, - "intMixLocal": { - "type": "int", - "value": "0" - } - } - } - }, - "locals": {}, - "staticFields": {}, - "throwable": { - "message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", - "stacktrace": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "type": "org.springframework.web.server.ResponseStatusException" - } - } - }, - "exceptionId": "", - "id": "", - "language": "java", - "probe": { - "id": "", - "version": 0, - "location": { - "lines": [], - "method": "exceptionReplayRecursion", - "type": "com.datadoghq.system_tests.springboot.DebuggerController" - } - }, - "stack": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "timestamp": "" - }, - { - "captures": { - "entry": { - "arguments": {}, - "locals": {}, - "staticFields": {} - }, - "return": { - "arguments": { - "depth": { - "type": "java.lang.Integer", - "value": "5" - }, - "this": { - "type": "com.datadoghq.system_tests.springboot.DebuggerController", - "fields": { - "intLocal": { - "type": "int", - "value": "0" - }, - "intMixLocal": { - "type": "int", - "value": "0" - } - } - } - }, - "locals": {}, - "staticFields": {}, - "throwable": { - "message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", - "stacktrace": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "type": "org.springframework.web.server.ResponseStatusException" - } - } - }, - "exceptionId": "", - "id": "", - "language": "java", - "probe": { - "id": "", - "version": 0, - "location": { - "lines": [], - "method": "exceptionReplayRecursion", - "type": "com.datadoghq.system_tests.springboot.DebuggerController" - } - }, - "stack": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "timestamp": "" - }, - { - "captures": { - "entry": { - "arguments": {}, - "locals": {}, - "staticFields": {} - }, - "return": { - "arguments": { - "depth": { - "type": "java.lang.Integer", - "value": "0" - }, - "this": { - "type": "com.datadoghq.system_tests.springboot.DebuggerController", - "fields": { - "intLocal": { - "type": "int", - "value": "0" - }, - "intMixLocal": { - "type": "int", - "value": "0" - } - } - } - }, - "locals": {}, - "staticFields": {}, - "throwable": { - "message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", - "stacktrace": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "type": "org.springframework.web.server.ResponseStatusException" - } - } - }, - "exceptionId": "", - "id": "", - "language": "java", - "probe": { - "id": "", - "version": 0, - "location": { - "lines": [], - "method": "exceptionReplayRecursion", - "type": "com.datadoghq.system_tests.springboot.DebuggerController" - } - }, - "stack": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "timestamp": "" - }, - { - "captures": { - "entry": { - "arguments": {}, - "locals": {}, - "staticFields": {} - }, - "return": { - "arguments": { - "depth": { - "type": "java.lang.Integer", - "value": "1" - }, - "this": { - "type": "com.datadoghq.system_tests.springboot.DebuggerController", - "fields": { - "intLocal": { - "type": "int", - "value": "0" - }, - "intMixLocal": { - "type": "int", - "value": "0" - } - } - } - }, - "locals": {}, - "staticFields": {}, - "throwable": { - "message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", - "stacktrace": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "type": "org.springframework.web.server.ResponseStatusException" - } - } - }, - "exceptionId": "", - "id": "", - "language": "java", - "probe": { - "id": "", - "version": 0, - "location": { - "lines": [], - "method": "exceptionReplayRecursion", - "type": "com.datadoghq.system_tests.springboot.DebuggerController" - } - }, - "stack": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "timestamp": "" - }, - { - "captures": { - "entry": { - "arguments": {}, - "locals": {}, - "staticFields": {} - }, - "return": { - "arguments": { - "depth": { - "type": "java.lang.Integer", - "value": "2" - }, - "this": { - "type": "com.datadoghq.system_tests.springboot.DebuggerController", - "fields": { - "intLocal": { - "type": "int", - "value": "0" - }, - "intMixLocal": { - "type": "int", - "value": "0" - } - } - } - }, - "locals": {}, - "staticFields": {}, - "throwable": { - "message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", - "stacktrace": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "type": "org.springframework.web.server.ResponseStatusException" - } - } - }, - "exceptionId": "", - "id": "", - "language": "java", - "probe": { - "id": "", - "version": 0, - "location": { - "lines": [], - "method": "exceptionReplayRecursion", - "type": "com.datadoghq.system_tests.springboot.DebuggerController" - } - }, - "stack": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "timestamp": "" - }, - { - "captures": { - "entry": { - "arguments": {}, - "locals": {}, - "staticFields": {} - }, - "return": { - "arguments": { - "depth": { - "type": "java.lang.Integer", - "value": "3" - }, - "this": { - "type": "com.datadoghq.system_tests.springboot.DebuggerController", - "fields": { - "intLocal": { - "type": "int", - "value": "0" - }, - "intMixLocal": { - "type": "int", - "value": "0" - } - } - } - }, - "locals": {}, - "staticFields": {}, - "throwable": { - "message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", - "stacktrace": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "type": "org.springframework.web.server.ResponseStatusException" - } - } - }, - "exceptionId": "", - "id": "", - "language": "java", - "probe": { - "id": "", - "version": 0, - "location": { - "lines": [], - "method": "exceptionReplayRecursion", - "type": "com.datadoghq.system_tests.springboot.DebuggerController" - } - }, - "stack": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "timestamp": "" - }, - { - "captures": { - "entry": { - "arguments": {}, - "locals": {}, - "staticFields": {} - }, - "return": { - "arguments": { - "depth": { - "type": "java.lang.Integer", - "value": "4" - }, - "this": { - "type": "com.datadoghq.system_tests.springboot.DebuggerController", - "fields": { - "intLocal": { - "type": "int", - "value": "0" - }, - "intMixLocal": { - "type": "int", - "value": "0" - } - } - } - }, - "locals": {}, - "staticFields": {}, - "throwable": { - "message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", - "stacktrace": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "type": "org.springframework.web.server.ResponseStatusException" - } - } - }, - "exceptionId": "", - "id": "", - "language": "java", - "probe": { - "id": "", - "version": 0, - "location": { - "lines": [], - "method": "exceptionReplayRecursion", - "type": "com.datadoghq.system_tests.springboot.DebuggerController" - } - }, - "stack": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "timestamp": "" - }, - { - "captures": { - "entry": { - "arguments": {}, - "locals": {}, - "staticFields": {} - }, - "return": { - "arguments": { - "depth": { - "type": "java.lang.Integer", - "value": "5" - }, - "this": { - "type": "com.datadoghq.system_tests.springboot.DebuggerController", - "fields": { - "intLocal": { - "type": "int", - "value": "0" - }, - "intMixLocal": { - "type": "int", - "value": "0" - } - } - } - }, - "locals": {}, - "staticFields": {}, - "throwable": { - "message": "500 INTERNAL_SERVER_ERROR \"Recursion exception\"", - "stacktrace": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 133 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "type": "org.springframework.web.server.ResponseStatusException" - } - } - }, - "exceptionId": "", - "id": "", - "language": "java", - "probe": { - "id": "", - "version": 0, - "location": { - "lines": [], - "method": "exceptionReplayRecursion", - "type": "com.datadoghq.system_tests.springboot.DebuggerController" - } - }, - "stack": [ - { - "fileName": "DebuggerController.java", - "function": "com.datadoghq.system_tests.springboot.DebuggerController.exceptionReplayRecursion", - "lineNumber": 135 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke0", - "lineNumber": -2 - }, - { - "function": "jdk.internal.reflect.NativeMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke", - "lineNumber": -1 - }, - { - "function": "java.lang.reflect.Method.invoke", - "lineNumber": -1 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.doInvoke", - "lineNumber": 205 - }, - { - "fileName": "InvocableHandlerMethod.java", - "function": "org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest", - "lineNumber": 150 - }, - { - "fileName": "ServletInvocableHandlerMethod.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle", - "lineNumber": 117 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod", - "lineNumber": 895 - }, - { - "fileName": "RequestMappingHandlerAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal", - "lineNumber": 808 - }, - { - "fileName": "AbstractHandlerMethodAdapter.java", - "function": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle", - "lineNumber": 87 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doDispatch", - "lineNumber": 1067 - }, - { - "fileName": "DispatcherServlet.java", - "function": "org.springframework.web.servlet.DispatcherServlet.doService", - "lineNumber": 963 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.processRequest", - "lineNumber": 1006 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.doGet", - "lineNumber": 898 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 655 - }, - { - "fileName": "FrameworkServlet.java", - "function": "org.springframework.web.servlet.FrameworkServlet.service", - "lineNumber": 883 - }, - { - "fileName": "HttpServlet.java", - "function": "javax.servlet.http.HttpServlet.service", - "lineNumber": 764 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 227 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "WsFilter.java", - "function": "org.apache.tomcat.websocket.server.WsFilter.doFilter", - "lineNumber": 53 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 327 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke", - "lineNumber": 115 - }, - { - "fileName": "FilterSecurityInterceptor.java", - "function": "org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 122 - }, - { - "fileName": "ExceptionTranslationFilter.java", - "function": "org.springframework.security.web.access.ExceptionTranslationFilter.doFilter", - "lineNumber": 116 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 126 - }, - { - "fileName": "SessionManagementFilter.java", - "function": "org.springframework.security.web.session.SessionManagementFilter.doFilter", - "lineNumber": 81 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AnonymousAuthenticationFilter.java", - "function": "org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter", - "lineNumber": 109 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextHolderAwareRequestFilter.java", - "function": "org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter", - "lineNumber": 149 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "RequestCacheAwareFilter.java", - "function": "org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter", - "lineNumber": 63 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 219 - }, - { - "fileName": "AbstractAuthenticationProcessingFilter.java", - "function": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter", - "lineNumber": 213 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 103 - }, - { - "fileName": "LogoutFilter.java", - "function": "org.springframework.security.web.authentication.logout.LogoutFilter.doFilter", - "lineNumber": 89 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 110 - }, - { - "fileName": "SecurityContextPersistenceFilter.java", - "function": "org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter", - "lineNumber": 80 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "WebAsyncManagerIntegrationFilter.java", - "function": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal", - "lineNumber": 55 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter", - "lineNumber": 336 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilterInternal", - "lineNumber": 211 - }, - { - "fileName": "FilterChainProxy.java", - "function": "org.springframework.security.web.FilterChainProxy.doFilter", - "lineNumber": 183 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "RequestContextFilter.java", - "function": "org.springframework.web.filter.RequestContextFilter.doFilterInternal", - "lineNumber": 100 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "FormContentFilter.java", - "function": "org.springframework.web.filter.FormContentFilter.doFilterInternal", - "lineNumber": 93 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "HandlerMappingResourceNameFilter.java", - "function": "datadog.trace.instrumentation.springweb.HandlerMappingResourceNameFilter.doFilterInternal", - "lineNumber": 50 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "CharacterEncodingFilter.java", - "function": "org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal", - "lineNumber": 201 - }, - { - "fileName": "OncePerRequestFilter.java", - "function": "org.springframework.web.filter.OncePerRequestFilter.doFilter", - "lineNumber": 119 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "ServletRequestPathFilter.java", - "function": "org.springframework.web.filter.ServletRequestPathFilter.doFilter", - "lineNumber": 56 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate", - "lineNumber": 358 - }, - { - "fileName": "DelegatingFilterProxy.java", - "function": "org.springframework.web.filter.DelegatingFilterProxy.doFilter", - "lineNumber": 271 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter", - "lineNumber": 189 - }, - { - "fileName": "ApplicationFilterChain.java", - "function": "org.apache.catalina.core.ApplicationFilterChain.doFilter", - "lineNumber": 162 - }, - { - "fileName": "StandardWrapperValve.java", - "function": "org.apache.catalina.core.StandardWrapperValve.invoke", - "lineNumber": 197 - }, - { - "fileName": "StandardContextValve.java", - "function": "org.apache.catalina.core.StandardContextValve.invoke", - "lineNumber": 97 - }, - { - "fileName": "AuthenticatorBase.java", - "function": "org.apache.catalina.authenticator.AuthenticatorBase.invoke", - "lineNumber": 540 - }, - { - "fileName": "StandardHostValve.java", - "function": "org.apache.catalina.core.StandardHostValve.invoke", - "lineNumber": 135 - }, - { - "fileName": "ErrorReportValve.java", - "function": "org.apache.catalina.valves.ErrorReportValve.invoke", - "lineNumber": 92 - }, - { - "fileName": "StandardEngineValve.java", - "function": "org.apache.catalina.core.StandardEngineValve.invoke", - "lineNumber": 78 - }, - { - "fileName": "CoyoteAdapter.java", - "function": "org.apache.catalina.connector.CoyoteAdapter.service", - "lineNumber": 357 - }, - { - "fileName": "Http11Processor.java", - "function": "org.apache.coyote.http11.Http11Processor.service", - "lineNumber": 382 - }, - { - "fileName": "AbstractProcessorLight.java", - "function": "org.apache.coyote.AbstractProcessorLight.process", - "lineNumber": 65 - }, - { - "fileName": "AbstractProtocol.java", - "function": "org.apache.coyote.AbstractProtocol$ConnectionHandler.process", - "lineNumber": 895 - }, - { - "fileName": "NioEndpoint.java", - "function": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun", - "lineNumber": 1722 - }, - { - "fileName": "SocketProcessorBase.java", - "function": "org.apache.tomcat.util.net.SocketProcessorBase.run", - "lineNumber": 49 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker", - "lineNumber": 1191 - }, - { - "fileName": "ThreadPoolExecutor.java", - "function": "org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run", - "lineNumber": 659 - }, - { - "fileName": "TaskThread.java", - "function": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run", - "lineNumber": 61 - }, - { - "function": "java.lang.Thread.run", - "lineNumber": -1 - } - ], - "timestamp": "" - } -] \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_recursion_5_java_tags_expected.json b/tests/debugger/approvals/exception_replay_recursion_5_java_tags_expected.json deleted file mode 100644 index b507b24631..0000000000 --- a/tests/debugger/approvals/exception_replay_recursion_5_java_tags_expected.json +++ /dev/null @@ -1,242 +0,0 @@ -{ - "snapshot_0": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_1": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_2": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_3": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_4": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_5": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_6": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_7": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_8": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_9": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_10": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_11": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_12": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_13": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_14": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_15": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_16": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_17": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_18": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_19": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_20": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_21": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_22": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_23": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.1.snapshot_id": "", - "_dd.debug.error.2.snapshot_id": "", - "_dd.debug.error.3.snapshot_id": "", - "_dd.debug.error.4.snapshot_id": "", - "_dd.debug.error.5.snapshot_id": "", - "_dd.debug.error.exception_hash": "c5b4265e9d92bda831dfe5403979b5711a42bc851e85df6de9af2134db43629d", - "_dd.debug.error.exception_id": "" - } -} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_rockpaperscissors_dotnet_spans_expected.json b/tests/debugger/approvals/exception_replay_rockpaperscissors_dotnet_spans_expected.json new file mode 100644 index 0000000000..4e7f6b2805 --- /dev/null +++ b/tests/debugger/approvals/exception_replay_rockpaperscissors_dotnet_spans_expected.json @@ -0,0 +1,143 @@ +{ + "snapshot_0": { + "duration": "", + "error": 1, + "meta": { + "_dd.appsec.event_rules.version": "", + "_dd.debug.error.0.frame_data.class_name": "DebuggerController", + "_dd.debug.error.0.frame_data.function": "ExceptionReplayRockPaperScissors", + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.di._eh": "-1686539545", + "_dd.di._er": "Eligible", + "_dd.iast.enabled": "1", + "_dd.runtime_family": "dotnet", + "aspnet_core.endpoint": "weblog.DebuggerController.ExceptionReplayRockPaperScissors (app)", + "aspnet_core.route": "debugger/exceptionreplay/rps", + "component": "aspnet_core", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.msg": "Rock exception", + "error.stack": "weblog.Models.Debugger.ExceptionReplayRock: Rock exception\n at weblog.DebuggerController.ExceptionReplayRockPaperScissors(Stri", + "error.type": "weblog.Models.Debugger.ExceptionReplayRock", + "http.client_ip": "192.168.65.1", + "http.method": "GET", + "http.request.headers.host": "localhost:7777", + "http.request.headers.user-agent": "", + "http.route": "debugger/exceptionreplay/rps", + "http.status_code": "500", + "http.url": "http://localhost:7777/debugger/exceptionreplay/rps?shape=rock", + "http.useragent": "", + "key1": "val1", + "key2": "val2", + "language": "dotnet", + "network.client.ip": "192.168.65.1", + "runtime-id": "", + "span.kind": "server", + "version": "" + }, + "metrics": "", + "name": "aspnet_core.request", + "resource": "GET /debugger/exceptionreplay/rps", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_1": { + "duration": "", + "error": 1, + "meta": { + "_dd.appsec.event_rules.version": "", + "_dd.debug.error.0.frame_data.class_name": "DebuggerController", + "_dd.debug.error.0.frame_data.function": "ExceptionReplayRockPaperScissors", + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.di._eh": "404191504", + "_dd.di._er": "Eligible", + "_dd.iast.enabled": "1", + "_dd.runtime_family": "dotnet", + "aspnet_core.endpoint": "weblog.DebuggerController.ExceptionReplayRockPaperScissors (app)", + "aspnet_core.route": "debugger/exceptionreplay/rps", + "component": "aspnet_core", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.msg": "Paper exception", + "error.stack": "weblog.Models.Debugger.ExceptionReplayPaper: Paper exception\n at weblog.DebuggerController.ExceptionReplayRockPaperScissors(St", + "error.type": "weblog.Models.Debugger.ExceptionReplayPaper", + "http.client_ip": "192.168.65.1", + "http.method": "GET", + "http.request.headers.host": "localhost:7777", + "http.request.headers.user-agent": "", + "http.route": "debugger/exceptionreplay/rps", + "http.status_code": "500", + "http.url": "http://localhost:7777/debugger/exceptionreplay/rps?shape=paper", + "http.useragent": "", + "key1": "val1", + "key2": "val2", + "language": "dotnet", + "network.client.ip": "192.168.65.1", + "runtime-id": "", + "span.kind": "server", + "version": "" + }, + "metrics": "", + "name": "aspnet_core.request", + "resource": "GET /debugger/exceptionreplay/rps", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_2": { + "duration": "", + "error": 1, + "meta": { + "_dd.appsec.event_rules.version": "", + "_dd.debug.error.0.frame_data.class_name": "DebuggerController", + "_dd.debug.error.0.frame_data.function": "ExceptionReplayRockPaperScissors", + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.di._eh": "784921409", + "_dd.di._er": "Eligible", + "_dd.iast.enabled": "1", + "_dd.runtime_family": "dotnet", + "aspnet_core.endpoint": "weblog.DebuggerController.ExceptionReplayRockPaperScissors (app)", + "aspnet_core.route": "debugger/exceptionreplay/rps", + "component": "aspnet_core", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.msg": "Scissors exception", + "error.stack": "weblog.Models.Debugger.ExceptionReplayScissors: Scissors exception\n at weblog.DebuggerController.ExceptionReplayRockPaperSciss", + "error.type": "weblog.Models.Debugger.ExceptionReplayScissors", + "http.client_ip": "192.168.65.1", + "http.method": "GET", + "http.request.headers.host": "localhost:7777", + "http.request.headers.user-agent": "", + "http.route": "debugger/exceptionreplay/rps", + "http.status_code": "500", + "http.url": "http://localhost:7777/debugger/exceptionreplay/rps?shape=scissors", + "http.useragent": "", + "key1": "val1", + "key2": "val2", + "language": "dotnet", + "network.client.ip": "192.168.65.1", + "runtime-id": "", + "span.kind": "server", + "version": "" + }, + "metrics": "", + "name": "aspnet_core.request", + "resource": "GET /debugger/exceptionreplay/rps", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + } +} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_rockpaperscissors_dotnet_tags_expected.json b/tests/debugger/approvals/exception_replay_rockpaperscissors_dotnet_tags_expected.json deleted file mode 100644 index dd6d4b999c..0000000000 --- a/tests/debugger/approvals/exception_replay_rockpaperscissors_dotnet_tags_expected.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "snapshot_0": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplayRockPaperScissors", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.exception_hash": "9406bc86-cc6a-3e9b-9079-8bb157a41239", - "_dd.debug.error.exception_id": "" - }, - "snapshot_1": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplayRockPaperScissors", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.exception_hash": "a95a57f1-8ce1-3dbc-8ac5-740027e28d52", - "_dd.debug.error.exception_id": "" - }, - "snapshot_2": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplayRockPaperScissors", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.exception_hash": "08d4a941-6c03-336e-a491-61b946bb6037", - "_dd.debug.error.exception_id": "" - } -} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_rockpaperscissors_java_spans_expected.json b/tests/debugger/approvals/exception_replay_rockpaperscissors_java_spans_expected.json new file mode 100644 index 0000000000..01343255f1 --- /dev/null +++ b/tests/debugger/approvals/exception_replay_rockpaperscissors_java_spans_expected.json @@ -0,0 +1,95 @@ +{ + "snapshot_0": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "Rock exception", + "error.stack": "com.datadoghq.system_tests.springboot.ExceptionReplayRock: Rock exception\n\tat com.datadoghq.system_tests.springboot.DebuggerCont", + "error.type": "com.datadoghq.system_tests.springboot.ExceptionReplayRock", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRockPaperScissors", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_1": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "Paper exception", + "error.stack": "com.datadoghq.system_tests.springboot.ExceptionReplayPaper: Paper exception\n\tat com.datadoghq.system_tests.springboot.DebuggerCo", + "error.type": "com.datadoghq.system_tests.springboot.ExceptionReplayPaper", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRockPaperScissors", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + }, + "snapshot_2": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "Scissors exception", + "error.stack": "com.datadoghq.system_tests.springboot.ExceptionReplayScissors: Scissors exception\n\tat com.datadoghq.system_tests.springboot.Debu", + "error.type": "com.datadoghq.system_tests.springboot.ExceptionReplayScissors", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplayRockPaperScissors", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + } +} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_rockpaperscissors_java_tags_expected.json b/tests/debugger/approvals/exception_replay_rockpaperscissors_java_tags_expected.json deleted file mode 100644 index 8b8b24f7cf..0000000000 --- a/tests/debugger/approvals/exception_replay_rockpaperscissors_java_tags_expected.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "snapshot_0": { - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "b6f16b2ef9f8f3ee7cf4dd35fdee06cee2ac5452b8e51e8b460d5489c8c4aa6", - "_dd.debug.error.exception_id": "" - }, - "snapshot_1": { - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "b6f16b2ef9f8f3ee7cf4dd35fdee06cee2ac5452b8e51e8b460d5489c8c4aa6", - "_dd.debug.error.exception_id": "" - }, - "snapshot_2": { - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "b6f16b2ef9f8f3ee7cf4dd35fdee06cee2ac5452b8e51e8b460d5489c8c4aa6", - "_dd.debug.error.exception_id": "" - }, - "snapshot_3": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "b6f16b2ef9f8f3ee7cf4dd35fdee06cee2ac5452b8e51e8b460d5489c8c4aa6", - "_dd.debug.error.exception_id": "" - }, - "snapshot_4": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "b6f16b2ef9f8f3ee7cf4dd35fdee06cee2ac5452b8e51e8b460d5489c8c4aa6", - "_dd.debug.error.exception_id": "" - }, - "snapshot_5": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "b6f16b2ef9f8f3ee7cf4dd35fdee06cee2ac5452b8e51e8b460d5489c8c4aa6", - "_dd.debug.error.exception_id": "" - }, - "snapshot_6": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "8ebf6416ac66496edcf45aeb8db7c7f4d2bbd2a108f495d3736fb5d8e206d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_7": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "8ebf6416ac66496edcf45aeb8db7c7f4d2bbd2a108f495d3736fb5d8e206d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_8": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "8ebf6416ac66496edcf45aeb8db7c7f4d2bbd2a108f495d3736fb5d8e206d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_9": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "8ebf6416ac66496edcf45aeb8db7c7f4d2bbd2a108f495d3736fb5d8e206d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_10": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "8ebf6416ac66496edcf45aeb8db7c7f4d2bbd2a108f495d3736fb5d8e206d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_11": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "8ebf6416ac66496edcf45aeb8db7c7f4d2bbd2a108f495d3736fb5d8e206d", - "_dd.debug.error.exception_id": "" - }, - "snapshot_12": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "30f8b122807214fee260cc7d33506cf3768d57d9dd47dd25ce74194673c1a71", - "_dd.debug.error.exception_id": "" - }, - "snapshot_13": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "30f8b122807214fee260cc7d33506cf3768d57d9dd47dd25ce74194673c1a71", - "_dd.debug.error.exception_id": "" - }, - "snapshot_14": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "30f8b122807214fee260cc7d33506cf3768d57d9dd47dd25ce74194673c1a71", - "_dd.debug.error.exception_id": "" - }, - "snapshot_15": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "30f8b122807214fee260cc7d33506cf3768d57d9dd47dd25ce74194673c1a71", - "_dd.debug.error.exception_id": "" - }, - "snapshot_16": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "30f8b122807214fee260cc7d33506cf3768d57d9dd47dd25ce74194673c1a71", - "_dd.debug.error.exception_id": "" - }, - "snapshot_17": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.81.snapshot_id": "", - "_dd.debug.error.exception_hash": "30f8b122807214fee260cc7d33506cf3768d57d9dd47dd25ce74194673c1a71", - "_dd.debug.error.exception_id": "" - } -} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_simple_dotnet_spans_expected.json b/tests/debugger/approvals/exception_replay_simple_dotnet_spans_expected.json new file mode 100644 index 0000000000..c9eec9f5c1 --- /dev/null +++ b/tests/debugger/approvals/exception_replay_simple_dotnet_spans_expected.json @@ -0,0 +1,49 @@ +{ + "snapshot_0": { + "duration": "", + "error": 1, + "meta": { + "_dd.appsec.event_rules.version": "", + "_dd.debug.error.0.frame_data.class_name": "DebuggerController", + "_dd.debug.error.0.frame_data.function": "ExceptionReplaySimple", + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.di._eh": "-1232577059", + "_dd.di._er": "Eligible", + "_dd.iast.enabled": "1", + "_dd.runtime_family": "dotnet", + "aspnet_core.endpoint": "weblog.DebuggerController.ExceptionReplaySimple (app)", + "aspnet_core.route": "debugger/exceptionreplay/simple", + "component": "aspnet_core", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.msg": "Simple exception", + "error.stack": "System.Exception: Simple exception\n at weblog.DebuggerController.ExceptionReplaySimple() in /app/DebuggerController.cs:line 12", + "error.type": "System.Exception", + "http.client_ip": "192.168.65.1", + "http.method": "GET", + "http.request.headers.host": "localhost:7777", + "http.request.headers.user-agent": "", + "http.route": "debugger/exceptionreplay/simple", + "http.status_code": "500", + "http.url": "http://localhost:7777/debugger/exceptionreplay/simple", + "http.useragent": "", + "key1": "val1", + "key2": "val2", + "language": "dotnet", + "network.client.ip": "192.168.65.1", + "runtime-id": "", + "span.kind": "server", + "version": "" + }, + "metrics": "", + "name": "aspnet_core.request", + "resource": "GET /debugger/exceptionreplay/simple", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + } +} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_simple_dotnet_tags_expected.json b/tests/debugger/approvals/exception_replay_simple_dotnet_tags_expected.json deleted file mode 100644 index 176b233d58..0000000000 --- a/tests/debugger/approvals/exception_replay_simple_dotnet_tags_expected.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "snapshot_0": { - "_dd.debug.error.0.frame_data.class_name": "DebuggerController", - "_dd.debug.error.0.frame_data.function": "ExceptionReplaySimple", - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.exception_hash": "46c496e3-5dc4-34a7-b05e-535314b24025", - "_dd.debug.error.exception_id": "" - } -} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_simple_java_spans_expected.json b/tests/debugger/approvals/exception_replay_simple_java_spans_expected.json new file mode 100644 index 0000000000..eac6cf72f7 --- /dev/null +++ b/tests/debugger/approvals/exception_replay_simple_java_spans_expected.json @@ -0,0 +1,33 @@ +{ + "snapshot_0": { + "duration": "", + "error": 1, + "meta": { + "_dd.debug.error.0.snapshot_id": "", + "_dd.debug.error.exception_hash": "", + "_dd.debug.error.exception_id": "", + "_dd.p.tid": "", + "component": "spring-web-controller", + "env": "system-tests", + "error.debug_info_captured": "true", + "error.message": "500 INTERNAL_SERVER_ERROR \"Simple exception\"", + "error.stack": "org.springframework.web.server.ResponseStatusException: 500 INTERNAL_SERVER_ERROR \"Simple exception\"\n\tat com.datadoghq.system_te", + "error.type": "org.springframework.web.server.ResponseStatusException", + "key1": "val1", + "key2": "val2", + "language": "jvm", + "span.kind": "server", + "thread.name": "", + "version": "" + }, + "metrics": "", + "name": "spring.handler", + "parentID": "", + "resource": "DebuggerController.exceptionReplaySimple", + "service": "weblog", + "spanID": "", + "start": "", + "traceID": "", + "type": "web" + } +} \ No newline at end of file diff --git a/tests/debugger/approvals/exception_replay_simple_java_tags_expected.json b/tests/debugger/approvals/exception_replay_simple_java_tags_expected.json deleted file mode 100644 index 097de5c38d..0000000000 --- a/tests/debugger/approvals/exception_replay_simple_java_tags_expected.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "snapshot_0": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.exception_hash": "b3b329e1ce15ecd4467256e051352a5e8835fabac7c218815e95dc047f8cfad", - "_dd.debug.error.exception_id": "" - }, - "snapshot_1": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.exception_hash": "b3b329e1ce15ecd4467256e051352a5e8835fabac7c218815e95dc047f8cfad", - "_dd.debug.error.exception_id": "" - }, - "snapshot_2": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.exception_hash": "b3b329e1ce15ecd4467256e051352a5e8835fabac7c218815e95dc047f8cfad", - "_dd.debug.error.exception_id": "" - }, - "snapshot_3": { - "_dd.debug.error.0.snapshot_id": "", - "_dd.debug.error.exception_hash": "b3b329e1ce15ecd4467256e051352a5e8835fabac7c218815e95dc047f8cfad", - "_dd.debug.error.exception_id": "" - } -} \ No newline at end of file diff --git a/tests/debugger/test_debugger_exception_replay.py b/tests/debugger/test_debugger_exception_replay.py index 0defff4f13..4acbebc162 100644 --- a/tests/debugger/test_debugger_exception_replay.py +++ b/tests/debugger/test_debugger_exception_replay.py @@ -2,275 +2,176 @@ # This product includes software developed at Datadog (https://www.datadoghq.com/). # Copyright 2021 Datadog, Inc. -import tests.debugger.utils as base -import json -import os +import tests.debugger.utils as debugger import re -from utils import scenarios, interfaces, weblog, features, bug +from utils import scenarios, features, bug from utils.tools import logger _OVERRIDE_APROVALS = False +_SCRUB_VALUES = True @features.debugger_exception_replay @scenarios.debugger_exception_replay -class Test_Debugger_Exception_Replay(base._Base_Debugger_Test): - tracer = None - snapshots = None - method = None - last_read = 0 - - def _setup(self, request_path, method): - self.snapshots = [] +class Test_Debugger_Exception_Replay(debugger._Base_Debugger_Test): + ############ setup ############ + def _setup(self, request_path, method_name): self.weblog_responses = [] - self.method = method retries = 0 max_retries = 60 + snapshot_found = False - while not self.snapshots and retries < max_retries: + while not snapshot_found and retries < max_retries: logger.debug(f"Waiting for snapshot, retry #{retries}") - self.weblog_responses.append(weblog.get(request_path)) - interfaces.agent.wait_for(self._wait_for_snapshot_received, timeout=1) + self.send_weblog_request(request_path, reset=False) + snapshot_found = self.wait_for_snapshot_received(method_name) retries += 1 - def _wait_for_snapshot_received(self, data): - snapshot_found = False - - if data["path"] == base._LOGS_PATH: + ############ assert ############ + def _assert(self, test_name, method_name): + def __filter_snapshots_by_method(): + filtered_snapshots = [] - log_number = int(re.search(r"/(\d+)__", data["log_filename"]).group(1)) - logger.debug("Reading " + data["log_filename"] + ", looking for " + self.method) - logger.debug(f"Last read is {Test_Debugger_Exception_Replay.last_read}") - - if log_number > Test_Debugger_Exception_Replay.last_read: - Test_Debugger_Exception_Replay.last_read = log_number - - logger.debug("Reading " + data["log_filename"] + ", looking for " + self.method) - contents = data["request"].get("content", []) or [] + for contents in self.probe_snapshots.values(): for content in contents: - snapshot = content.get("debugger", {}).get("snapshot") or content.get("debugger.snapshot") + if content["debugger"]["snapshot"]["probe"]["location"]["method"].lower() == method_name: + filtered_snapshots.append(content["debugger"]["snapshot"]) - if not snapshot: - continue + return filtered_snapshots - if ( - "probe" not in snapshot - or "location" not in snapshot["probe"] - or "method" not in snapshot["probe"]["location"] - ): - continue - - method = snapshot["probe"]["location"]["method"] + def __filter_spans_by_snapshot_id(snapshots): + filtered_spans = {} - if not isinstance(method, str): - continue + for span in self.probe_spans.values(): - method = method.lower().replace("_", "") + snapshot_ids_in_span = { + key: value for key, value in span["meta"].items() if key.endswith("snapshot_id") + }.values() + for snapshot in snapshots: + if snapshot["id"] in snapshot_ids_in_span: + filtered_spans[snapshot["id"]] = span - logger.debug(f"method is {method}; self method is {self.method}") - if method == self.method: - self.snapshots.append(snapshot) - snapshot_found = True + return filtered_spans - logger.debug(f"Snapshot found: {snapshot_found}") - return snapshot_found - - ############ Simple ############ - def setup_exception_replay_simple(self): - self._setup("/debugger/exceptionreplay/simple", "exceptionreplaysimple") - - @bug(library="java", reason="DEBUG-3053") - @bug(library="dotnet", reason="DEBUG-2799") - def test_exception_replay_simple(self): + self.collect() self.assert_all_weblog_responses_ok(expected_code=500) - self._validate_exception_replay_snapshots(test_name="exception_replay_simple") - self._validate_tags(test_name="exception_replay_simple") - - def setup_exception_replay_simple(self): - self._setup("/debugger/exceptionreplay/simple", "exceptionreplaysimple") - ############ Recursion ############ - def setup_exception_replay_recursion_5(self): - self._setup("/debugger/exceptionreplay/recursion?depth=5", "exceptionreplayrecursion") + snapshots = __filter_snapshots_by_method() + self._validate_exception_replay_snapshots(test_name, snapshots) + + spans = __filter_spans_by_snapshot_id(snapshots) + self._validate_spans(test_name, spans) + + def _validate_exception_replay_snapshots(self, test_name, snapshots): + def __scrub(data): + if isinstance(data, dict): + scrubbed_data = {} + for key, value in data.items(): + if key in ["timestamp", "id", "exceptionId", "duration"]: + scrubbed_data[key] = "" + # java + elif key == "elements" and data.get("type") in ["long[]", "short[]", "int[]"]: + scrubbed_data[key] = "" + elif key == "moduleVersion": + scrubbed_data[key] = "" + # dotnet + elif key == "function" and "lambda_" in value: + scrubbed_data[key] = re.sub(r"(method)\d+", r"\1", value) + # dotnet + elif key == "StackTrace" and isinstance(value, dict): + value["value"] = "" + scrubbed_data[key] = value + else: + scrubbed_data[key] = __scrub(value) + return scrubbed_data + elif isinstance(data, list): + return [__scrub(item) for item in data] + else: + return data - @bug(library="java", reason="DEBUG-3053") - @bug(library="dotnet", reason="DEBUG-2799") - def test_exception_replay_recursion_5(self): - self.assert_all_weblog_responses_ok(expected_code=500) - self._validate_exception_replay_snapshots(test_name="exception_replay_recursion_5") - self._validate_tags(test_name="exception_replay_recursion_5") + def __approve(snapshots): + debugger.write_approval(snapshots, test_name, "snapshots_received") - def setup_exception_replay_recursion_20(self): - self._setup("/debugger/exceptionreplay/recursion?depth=20", "exceptionreplayrecursion") + if _OVERRIDE_APROVALS: + debugger.write_approval(snapshots, test_name, "snapshots_expected") - @bug(library="java", reason="DEBUG-3053") - @bug(library="dotnet", reason="DEBUG-2799") - def test_exception_replay_recursion_20(self): - self.assert_all_weblog_responses_ok(expected_code=500) - self._validate_exception_replay_snapshots(test_name="exception_replay_recursion_20") - self._validate_tags(test_name="exception_replay_recursion_20") + expected_snapshots = debugger.read_approval(test_name, "snapshots_expected") + assert expected_snapshots == snapshots + # assert all( + # "exceptionId" in snapshot for snapshot in snapshots + # ), "One or more snapshots don't have 'exceptionId' field" - ############ Inner ############ - def setup_exception_replay_inner(self): - self._setup("/debugger/exceptionreplay/inner", "exceptionreplayinner") + assert snapshots, "Snapshots not found" - @bug(library="java", reason="DEBUG-3053") - @bug(library="dotnet", reason="DEBUG-2799") - def test_exception_replay_inner(self): - self.assert_all_weblog_responses_ok(expected_code=500) - self._validate_exception_replay_snapshots(test_name="exception_replay_inner") - self._validate_tags(test_name="exception_replay_inner") + if _SCRUB_VALUES: + snapshots = [__scrub(snapshot) for snapshot in snapshots] - ############ Rock Paper Scissors ############ - def setup_exception_replay_rockpaperscissors(self): - self.snapshots = [] - self.weblog_responses = [] - self.method = "exceptionreplayrockpaperscissors" + __approve(snapshots) - retries = 0 - max_retries = 60 - shapes = ["rock", "paper", "scissors"] + def _validate_spans(self, test_name: str, spans): + def __scrub(data): + scrubbed_spans = {} + span_number = 0 - while len(self.snapshots) < len(shapes) and retries < max_retries: - for shape in shapes: - logger.debug(f"Waiting for snapshot for shape: {shape}, retry #{retries}") + for span in data.values(): + for key, value in span.items(): + if key in ["traceID", "spanID", "parentID", "start", "duration", "metrics"]: + span[key] = "" + continue - self.weblog_responses.append(weblog.get(f"/debugger/exceptionreplay/rps?shape={shape}")) - interfaces.agent.wait_for(self._wait_for_snapshot_received, timeout=1) + if key == "meta": + for meta_key in value.keys(): + if meta_key.endswith("id"): + value[meta_key] = "" + continue - retries += 1 + if meta_key.endswith("hash"): + value[meta_key] = "" + continue - @bug(library="java", reason="DEBUG-3053") - @bug(library="dotnet", reason="DEBUG-2799") - def test_exception_replay_rockpaperscissors(self): - self.assert_all_weblog_responses_ok(expected_code=500) - self._validate_exception_replay_snapshots(test_name="exception_replay_rockpaperscissors") - self._validate_tags(test_name="exception_replay_rockpaperscissors") + if meta_key.endswith("version"): + value[meta_key] = "" + continue - def __get_path(self, test_name, suffix): - if self.tracer is None: - self.tracer = base.get_tracer() + if meta_key in ["http.request.headers.user-agent", "http.useragent", "thread.name"]: + value[meta_key] = "" + continue - filename = test_name + "_" + self.tracer["language"] + "_" + suffix + ".json" - path = os.path.join(base._CUR_DIR, "approvals", filename) - return path + if meta_key == "error.stack": + value[meta_key] = value[meta_key][:128] + "" + continue - def __write(self, data, test_name, suffix): - with open(self.__get_path(test_name, suffix), "w", encoding="utf-8") as f: - json.dump(data, f, indent=2) + span[key] = dict(sorted(value.items())) - def __read(self, test_name, suffix): - with open(self.__get_path(test_name, suffix), "r", encoding="utf-8") as f: - return json.load(f) + scrubbed_spans[f"snapshot_{span_number}"] = dict(sorted(span.items())) + span_number += 1 - def _validate_exception_replay_snapshots(self, test_name: str): - def __approve(snapshots): - def ___scrub(data): - if isinstance(data, dict): - scrubbed_data = {} - for key, value in data.items(): - if key in ["timestamp", "id", "exceptionId", "duration"]: - scrubbed_data[key] = "" - # java - elif key == "elements" and data.get("type") in ["long[]", "short[]", "int[]"]: - scrubbed_data[key] = "" - elif key == "moduleVersion": - scrubbed_data[key] = "" - # dotnet - elif key == "function" and "lambda_" in value: - scrubbed_data[key] = re.sub(r"(method)\d+", r"\1", value) - # dotnet - elif key == "StackTrace" and isinstance(value, dict): - value["value"] = "" - scrubbed_data[key] = value - else: - scrubbed_data[key] = ___scrub(value) - return scrubbed_data - elif isinstance(data, list): - return [___scrub(item) for item in data] - else: - return data - - assert self.snapshots, "Snapshots not found" - - snapshots = [___scrub(snapshot) for snapshot in snapshots] - self.__write(snapshots, test_name, "snapshots_received") + return scrubbed_spans - if _OVERRIDE_APROVALS: - self.__write(snapshots, test_name, "snapshots_expected") + def __approve(spans): + assert spans, "Spans not found" - expected_snapshots = self.__read(test_name, "snapshots_expected") - assert expected_snapshots == snapshots - assert all( - "exceptionId" in snapshot for snapshot in snapshots - ), "One or more snapshots don't have 'exceptionId' field" - - __approve(self.snapshots) - - def _validate_tags(self, test_name: str): - def __get_tags(): - snapshot_tags = {} - debugger_tags = {} - tag_number = 0 - snapshot_ids = [snapshot["id"] for snapshot in self.snapshots] - logger.debug("Snapshot ids are %s", snapshot_ids) - - traces = list(interfaces.agent.get_data(base._TRACES_PATH)) - for trace in traces: - logger.debug("Looking for tags in %s", trace["log_filename"]) - - content = trace["request"]["content"] - if content: - for payload in content["tracerPayloads"]: - for chunk in payload["chunks"]: - for span in chunk["spans"]: - meta = span.get("meta", {}) - - for snapshot_id in snapshot_ids: - if any( - meta.get(key) == snapshot_id - for key in meta.keys() - if re.search(r"_dd\.debug\.error\.\d+\.snapshot_id", key) - ): - logger.debug("Found tags in %s", trace["log_filename"]) - - for key, value in meta.items(): - if key.startswith("_dd.debug.error"): - if key.endswith("id"): - debugger_tags[key] = "" - else: - debugger_tags[key] = value - - snapshot_tags[f"snapshot_{tag_number}"] = dict(sorted(debugger_tags.items())) - tag_number += 1 - - return snapshot_tags - - def __approve(tags): - self.__write(tags, test_name, "tags_received") + debugger.write_approval(spans, test_name, "spans_received") if _OVERRIDE_APROVALS: - self.__write(tags, test_name, "tags_expected") + debugger.write_approval(spans, test_name, "spans_expected") - expected = self.__read(test_name, "tags_expected") - assert expected == tags + expected = debugger.read_approval(test_name, "spans_expected") + assert expected == spans missing_keys_dict = {} snapshot_id_pattern = re.compile(r"_dd\.debug\.error\.\d+\.snapshot_id") - for guid, element in tags.items(): + for guid, element in spans.items(): missing_keys = [] - if "_dd.debug.error.exception_id" not in element: - missing_keys.append("_dd.debug.error.exception_id") - - if "_dd.debug.error.exception_hash" not in element: + if "_dd.debug.error.exception_hash" not in element["meta"]: missing_keys.append("_dd.debug.error.exception_hash") - if not any(snapshot_id_pattern.match(key) for key in element): + if not any(snapshot_id_pattern.match(key) for key in element["meta"]): missing_keys.append("_dd.debug.error.{n}.snapshot_id") if missing_keys: @@ -278,5 +179,61 @@ def __approve(tags): assert not missing_keys_dict, f"Missing keys detected: {missing_keys_dict}" - tags = __get_tags() - __approve(tags) + assert spans, "Spans not found" + + if _SCRUB_VALUES: + spans = __scrub(spans) + + __approve(spans) + + ############ test ############ + ############ Simple ############ + def setup_exception_replay_simple(self): + self._setup("/debugger/exceptionreplay/simple", "exceptionreplaysimple") + + def test_exception_replay_simple(self): + self._assert("exception_replay_simple", "exceptionreplaysimple") + + ############ Recursion ############ + def setup_exception_replay_recursion_20(self): + self._setup("/debugger/exceptionreplay/recursion?depth=20", "exceptionreplayrecursion") + + def test_exception_replay_recursion_20(self): + self._assert("exception_replay_recursion_20", "exceptionreplayrecursion") + + ############ Inner ############ + def setup_exception_replay_inner(self): + self._setup("/debugger/exceptionreplay/inner", "exceptionreplayinner") + + def test_exception_replay_inner(self): + self._assert("exception_replay_inner", "exceptionreplayinner") + + ############ Rock Paper Scissors ############ + def setup_exception_replay_rockpaperscissors(self): + self.weblog_responses = [] + + retries = 0 + max_retries = 60 + + shapes = {"rock": False, "paper": False, "scissors": False} + + while not all(shapes.values()) and retries < max_retries: + for shape in shapes.keys(): + + shape_found = shapes[shape] + logger.debug(f"{shape} found: {shape_found}, retry #{retries}") + + if shape_found: + continue + + logger.debug(f"Waiting for snapshot for shape: {shape}, retry #{retries}") + self.send_weblog_request(f"/debugger/exceptionreplay/rps?shape={shape}", reset=False) + + shapes[shape] = self.wait_for_snapshot_received( + method_name="exceptionreplayrockpaperscissors", exception_message=shape + ) + + retries += 1 + + def test_exception_replay_rockpaperscissors(self): + self._assert("exception_replay_rockpaperscissors", "exceptionreplayrockpaperscissors") diff --git a/tests/debugger/test_debugger_expression_language.py b/tests/debugger/test_debugger_expression_language.py index cecdb0430e..1078254fd3 100644 --- a/tests/debugger/test_debugger_expression_language.py +++ b/tests/debugger/test_debugger_expression_language.py @@ -2,34 +2,57 @@ # This product includes software developed at Datadog (https://www.datadoghq.com/). # Copyright 2021 Datadog, Inc. -import tests.debugger.utils as base +import tests.debugger.utils as debugger import re, json -from utils import scenarios, interfaces, weblog, features, remote_config as rc, bug, context +from utils import scenarios, features, bug, context @features.debugger_expression_language @scenarios.debugger_expression_language -class Test_Debugger_Expression_Language(base._Base_Debugger_Test): - version = 0 +class Test_Debugger_Expression_Language(debugger._Base_Debugger_Test): message_map = {} - tracer = None + ############ setup ############ def _setup(self, probes, request_path): - self.installed_ids = set() - self.expected_probe_ids = base.extract_probe_ids(probes) + self.set_probes(probes) + self.send_rc_probes() + self.wait_for_all_probes_installed() + self.send_weblog_request(request_path) - Test_Debugger_Expression_Language.version += 1 - self.rc_state = rc.send_debugger_command(probes=probes, version=Test_Debugger_Expression_Language.version) + ############ assert ############ + def _assert(self, expected_response: int): + self.collect() - interfaces.agent.wait_for(self.wait_for_all_probes_installed, timeout=30) - self.weblog_responses = [weblog.get(request_path)] - - def _assert(self, expected_code: int = 200): - self.assert_all_states_not_error() + self.assert_rc_state_not_error() self.assert_all_probes_are_installed() - self.assert_all_weblog_responses_ok(expected_code) + self.assert_all_weblog_responses_ok(expected_response) self._validate_expression_language_messages(self.message_map) + def _validate_expression_language_messages(self, expected_message_map): + not_found_ids = set(self.probe_ids) + error_messages = [] + + for probe_id, snapshot in self.probe_snapshots.items(): + if probe_id in expected_message_map: + not_found_ids.remove(probe_id) + + if not re.search(expected_message_map[probe_id], snapshot[0]["message"]): + error_messages.append( + f"Message for probe id {probe_id} is wrong. \n Expected: {expected_message_map[probe_id]}. \n Found: {snapshot['message']}." + ) + + evaluation_errors = snapshot["debugger"]["snapshot"].get("evaluationErrors", []) + for error in evaluation_errors: + error_messages.append( + f" Evaluation error in probe id {probe_id}: {error['expr']} - {error['message']}\n" + ) + + not_found_list = "\n".join(not_found_ids) + assert not error_messages, "Errors occurred during validation:\n" + "\n".join(error_messages) + assert not not_found_ids, f"The following probes were not found:\n{not_found_list}" + + ############ test ############ + ############ access variables ############ def setup_expression_language_access_variables(self): message_map, probes = self._create_expression_probes( @@ -68,8 +91,9 @@ def setup_expression_language_access_variables(self): self._setup(probes, "/debugger/expression?inputValue=asd") def test_expression_language_access_variables(self): - self._assert() + self._assert(expected_response=200) + ############ access exception ############ def setup_expression_language_access_exception(self): message_map, probes = self._create_expression_probes( methodName="ExpressionException", @@ -80,8 +104,9 @@ def setup_expression_language_access_exception(self): self._setup(probes, "/debugger/expression/exception") def test_expression_language_access_exception(self): - self._assert(expected_code=500) + self._assert(expected_response=500) + ############ comparison operators ############ def setup_expression_language_comparison_operators(self): message_map, probes = self._create_expression_probes( methodName="ExpressionOperators", @@ -140,8 +165,9 @@ def setup_expression_language_comparison_operators(self): self._setup(probes, "/debugger/expression/operators?intValue=5&floatValue=3.14&strValue=haha") def test_expression_language_comparison_operators(self): - self._assert() + self._assert(expected_response=200) + ############ intance of ############ def setup_expression_language_instance_of(self): message_map, probes = self._create_expression_probes( methodName="ExpressionOperators", @@ -186,8 +212,9 @@ def setup_expression_language_instance_of(self): @bug(library="dotnet", reason="DEBUG-2530") def test_expression_language_instance_of(self): - self._assert() + self._assert(expected_response=200) + ############ logical operators ############ def setup_expression_language_logical_operators(self): message_map, probes = self._create_expression_probes( @@ -223,8 +250,9 @@ def setup_expression_language_logical_operators(self): @bug(context.library >= "dotnet@3.5.0", reason="DEBUG-3115") def test_expression_language_logical_operators(self): - self._assert() + self._assert(expected_response=200) + ############ string operations ############ def setup_expression_language_string_operations(self): message_map, probes = self._create_expression_probes( @@ -269,8 +297,9 @@ def setup_expression_language_string_operations(self): @bug(library="dotnet", reason="DEBUG-2560") def test_expression_language_string_operations(self): - self._assert() + self._assert(expected_response=200) + ############ collection operations ############ def setup_expression_language_collection_operations(self): message_map, probes = self._create_expression_probes( methodName="CollectionOperations", @@ -463,8 +492,9 @@ def setup_expression_language_collection_operations(self): @bug(library="dotnet", reason="DEBUG-2602") @bug(library="java", reason="DEBUG-3131") def test_expression_language_collection_operations(self): - self._assert() + self._assert(expected_response=200) + ############ nulls ############ def setup_expression_language_nulls_true(self): message_map, probes = self._create_expression_probes( methodName="Nulls", @@ -480,7 +510,7 @@ def setup_expression_language_nulls_true(self): @bug(library="dotnet", reason="DEBUG-2618") def test_expression_language_nulls_true(self): - self._assert() + self._assert(expected_response=200) def setup_expression_language_nulls_false(self): message_map, probes = self._create_expression_probes( @@ -498,15 +528,14 @@ def setup_expression_language_nulls_false(self): @bug(library="dotnet", reason="DEBUG-2618") def test_expression_language_nulls_false(self): - self._assert() + self._assert(expected_response=200) + ############ helpers ############ def _get_type(self, value_type): - if self.tracer is None: - tracer = base.get_tracer() intance_type = "" - if tracer["language"] == "dotnet": + if self.get_tracer()["language"] == "dotnet": if value_type == "int": intance_type = "System.Int32" elif value_type == "float": @@ -517,7 +546,7 @@ def _get_type(self, value_type): intance_type = "weblog.DebuggerController" else: intance_type = value_type - elif tracer["language"] == "java": + elif self.get_tracer()["language"] == "java": if value_type == "int": intance_type = "java.lang.Integer" elif value_type == "float": @@ -533,10 +562,7 @@ def _get_type(self, value_type): return intance_type def _get_hash_value_property_name(self): - if Test_Debugger_Expression_Language.tracer is None: - Test_Debugger_Expression_Language.tracer = base.get_tracer() - - if Test_Debugger_Expression_Language.tracer["language"] == "dotnet": + if self.get_tracer()["language"] == "dotnet": return "Value" else: return "value" @@ -554,8 +580,8 @@ def _create_expression_probes(self, methodName, expressions): else: expected_result = str(expected_result) - probe = base.read_probes("expression_probe_base")[0] - probe["id"] = base.generate_probe_id("log") + probe = debugger.read_probes("expression_probe_base")[0] + probe["id"] = debugger.generate_probe_id("log") probe["where"]["methodName"] = methodName probe["segments"] = Segment().add_str(message).add_dsl(dsl).to_dict() probes.append(probe) @@ -564,37 +590,6 @@ def _create_expression_probes(self, methodName, expressions): return expected_message_map, probes - def _validate_expression_language_messages(self, expected_message_map): - agent_logs_endpoint_requests = list(interfaces.agent.get_data(path_filters="/api/v2/logs")) - - not_found_ids = set(self.expected_probe_ids) - error_messages = [] - - for request in agent_logs_endpoint_requests: - content = request["request"]["content"] - - if content: - for content in content: - probe_id = content["debugger"]["snapshot"]["probe"]["id"] - - if probe_id in expected_message_map: - not_found_ids.remove(probe_id) - - if not re.search(expected_message_map[probe_id], content["message"]): - error_messages.append( - f"Message for probe id {probe_id} is wrong. \n Expected: {expected_message_map[probe_id]}. \n Found: {content['message']}." - ) - - evaluation_errors = content["debugger"]["snapshot"].get("evaluationErrors", []) - for error in evaluation_errors: - error_messages.append( - f" Evaluation error in probe id {probe_id}: {error['expr']} - {error['message']}\n" - ) - - not_found_list = "\n".join(not_found_ids) - assert not error_messages, "Errors occurred during validation:\n" + "\n".join(error_messages) - assert not not_found_ids, f"The following probes were not found:\n{not_found_list}" - class Segment: def __init__(self): diff --git a/tests/debugger/test_debugger_pii.py b/tests/debugger/test_debugger_pii.py index 599c3b4af1..5bc3aa5d5c 100644 --- a/tests/debugger/test_debugger_pii.py +++ b/tests/debugger/test_debugger_pii.py @@ -2,18 +2,16 @@ # This product includes software developed at Datadog (https://www.datadoghq.com/). # Copyright 2021 Datadog, Inc. -import tests.debugger.utils as base +import tests.debugger.utils as debugger from utils import ( scenarios, interfaces, - weblog, features, bug, missing_feature, irrelevant, context, - remote_config as rc, ) REDACTED_KEYS = [ @@ -114,49 +112,121 @@ REDACTED_TYPES = ["customPii"] -def filter(keys_to_filter): - return [item for item in REDACTED_KEYS if item not in keys_to_filter] - - @features.debugger_pii_redaction @scenarios.debugger_pii_redaction -class Test_Debugger_PII_Redaction(base._Base_Debugger_Test): - def _setup(self, probes_file): - probes = base.read_probes(probes_file) - self.expected_probe_ids = base.extract_probe_ids(probes) - self.rc_state = rc.send_debugger_command(probes, version=1) +class Test_Debugger_PII_Redaction(debugger._Base_Debugger_Test): + ############ setup ############ + def _setup(self, line_probe=False): + if line_probe: + probes = debugger.read_probes("pii_line") + else: + probes = debugger.read_probes("pii") + + self.set_probes(probes) + self.send_rc_probes() + self.wait_for_all_probes_installed() + self.send_weblog_request("/debugger/pii") + + ############ assert ############ + def _assert(self, redacted_keys, redacted_types, line_probe=False): + self.collect() + self.assert_rc_state_not_error() + self.assert_all_probes_are_installed() + self.assert_all_weblog_responses_ok() + + self._validate_pii_keyword_redaction(redacted_keys, line_probe) + self._validate_pii_type_redaction(redacted_types, line_probe) - interfaces.agent.wait_for(self.wait_for_all_probes_installed, timeout=30) + def _validate_pii_keyword_redaction(self, should_redact_field_names, line_probe): + not_redacted = [] + not_found = list(set(should_redact_field_names)) - self.weblog_responses = [weblog.get("/debugger/pii")] + for probe_id in self.probe_ids: + snapshot = self.probe_snapshots[probe_id][0]["debugger"]["snapshot"] - def _test(self, redacted_keys, redacted_types, line_probe=False): - self.assert_all_states_not_error() - self.assert_all_probes_are_installed() - self.assert_all_weblog_responses_ok() + for field_name in should_redact_field_names: + if line_probe: + fields = snapshot["captures"]["lines"]["33"]["locals"]["pii"]["fields"] + else: + fields = snapshot["captures"]["return"]["locals"]["pii"]["fields"] + + if context.library == "ruby": + check_field_name = "@" + field_name + else: + check_field_name = field_name + + if check_field_name in fields: + not_found.remove(field_name) + + if "value" in fields[check_field_name]: + not_redacted.append(field_name) + + error_message = "" + if not_redacted: + not_redacted.sort() + error_message = "Fields not properly redacted: " + "".join([f"{item}, " for item in not_redacted]) + + if not_found: + not_found.sort() + error_message += ". Fields not found: " + "".join([f"{item}, " for item in not_found]) + + if error_message != "": + raise ValueError(error_message) - self._validate_pii_keyword_redaction(redacted_keys, line_probe=line_probe) - self._validate_pii_type_redaction(redacted_types, line_probe=line_probe) + def _validate_pii_type_redaction(self, should_redact_types, line_probe): + not_redacted = [] + + for probe_id in self.probe_ids: + snapshot = self.probe_snapshots[probe_id][0]["debugger"]["snapshot"] + + for type_name in should_redact_types: + if line_probe: + type_info = snapshot["captures"]["lines"]["33"]["locals"][type_name] + else: + type_info = snapshot["captures"]["return"]["locals"][type_name] - def setup_pii_redaction_full(self): - self._setup("pii") + if "fields" in type_info: + not_redacted.append(type_name) + + error_message = "" + if not_redacted: + not_redacted.sort() + error_message = "Types not properly redacted: " + "".join([f"{item}, " for item in not_redacted]) + + if error_message != "": + raise ValueError(error_message) + + ############ test ############ + ### method ### + def setup_pii_redaction_method_full(self): + self._setup() @missing_feature(context.library < "java@1.34", reason="keywords are not fully redacted") @missing_feature(context.library < "dotnet@2.51", reason="keywords are not fully redacted") @bug(context.library == "python@2.16.0", reason="DEBUG-3127") @bug(context.library == "python@2.16.1", reason="DEBUG-3127") - # Ruby requires @irrelevant rather than @missing_feature to skip setup - # for this test (which will interfere with the line probe test). - @irrelevant(context.library == "ruby", reason="Local variable capture not implemented for method probes") - def test_pii_redaction_full(self): - self._test(REDACTED_KEYS, REDACTED_TYPES) + @missing_feature(context.library == "ruby", reason="Local variable capture not implemented for method probes") + def test_pii_redaction_method_full(self): + self._assert(REDACTED_KEYS, REDACTED_TYPES) + + ### line ### + def setup_pii_redaction_line_full(self): + self._setup(line_probe=True) + + @missing_feature(context.library != "ruby", reason="Tests not implemented yet.") + def pii_redaction_line_full(self): + self._assert(REDACTED_KEYS, REDACTED_TYPES) + + ############ old versions ############ + def filter(keys_to_filter): + return [item for item in REDACTED_KEYS if item not in keys_to_filter] def setup_pii_redaction_java_1_33(self): - self._setup("pii") + self._setup() @irrelevant(context.library != "java@1.33", reason="not relevant for other version") def test_pii_redaction_java_1_33(self): - self._test( + self._assert( filter( [ "address", @@ -173,89 +243,11 @@ def test_pii_redaction_java_1_33(self): ) def setup_pii_redaction_dotnet_2_50(self): - self._setup("pii") + self._setup() @irrelevant(context.library != "dotnet@2.50", reason="not relevant for other version") @bug( context.weblog_variant == "uds" and context.library == "dotnet@2.50.0", reason="APMRP-360", ) # bug with UDS protocol on this version def test_pii_redaction_dotnet_2_50(self): - self._test(filter(["applicationkey", "connectionstring"]), REDACTED_TYPES) - - def setup_pii_redaction_line(self): - self._setup("pii_line") - - @irrelevant(context.library != "ruby", reason="Ruby needs to use line probes to capture variables") - def test_pii_redaction_line(self): - self._test(REDACTED_KEYS, REDACTED_TYPES, True) - - def _validate_pii_keyword_redaction(self, should_redact_field_names, line_probe=False): - agent_logs_endpoint_requests = list(interfaces.agent.get_data(path_filters="/api/v2/logs")) - not_redacted = [] - not_found = list(set(should_redact_field_names)) - - for request in agent_logs_endpoint_requests: - content = request["request"]["content"] - - if content: - for item in content: - snapshot = item.get("debugger", {}).get("snapshot") or item.get("debugger.snapshot") - - if snapshot: - for field_name in should_redact_field_names: - if line_probe: - fields = snapshot["captures"]["lines"]["33"]["locals"]["pii"]["fields"] - else: - fields = snapshot["captures"]["return"]["locals"]["pii"]["fields"] - - # Ruby prefixes instance variable names with @ - if context.library == "ruby": - check_field_name = "@" + field_name - else: - check_field_name = field_name - - if check_field_name in fields: - not_found.remove(field_name) - - if "value" in fields[check_field_name]: - not_redacted.append(field_name) - error_message = "" - if not_redacted: - not_redacted.sort() - error_message = "Fields not properly redacted: " + "".join([f"{item}, " for item in not_redacted]) - - if not_found: - not_found.sort() - error_message += ". Fields not found: " + "".join([f"{item}, " for item in not_found]) - - if error_message != "": - raise ValueError(error_message) - - def _validate_pii_type_redaction(self, should_redact_types, line_probe=False): - agent_logs_endpoint_requests = list(interfaces.agent.get_data(path_filters="/api/v2/logs")) - not_redacted = [] - - for request in agent_logs_endpoint_requests: - content = request["request"]["content"] - - if content: - for item in content: - snapshot = item.get("debugger", {}).get("snapshot") or item.get("debugger.snapshot") - - if snapshot: - for type_name in should_redact_types: - if line_probe: - type_info = snapshot["captures"]["lines"]["33"]["locals"][type_name] - else: - type_info = snapshot["captures"]["return"]["locals"][type_name] - - if "fields" in type_info: - not_redacted.append(type_name) - - error_message = "" - if not_redacted: - not_redacted.sort() - error_message = "Types not properly redacted: " + "".join([f"{item}, " for item in not_redacted]) - - if error_message != "": - raise ValueError(error_message) + self._assert(filter(["applicationkey", "connectionstring"]), REDACTED_TYPES) diff --git a/tests/debugger/test_debugger_probe_snapshot.py b/tests/debugger/test_debugger_probe_snapshot.py index f22d5f65c7..fa475596ff 100644 --- a/tests/debugger/test_debugger_probe_snapshot.py +++ b/tests/debugger/test_debugger_probe_snapshot.py @@ -2,196 +2,97 @@ # This product includes software developed at Datadog (https://www.datadoghq.com/). # Copyright 2021 Datadog, Inc. -import tests.debugger.utils as base +import tests.debugger.utils as debugger -from utils import scenarios, interfaces, weblog, features, remote_config as rc, bug, missing_feature, context +from utils import scenarios, features, bug, missing_feature, context @features.debugger -@scenarios.debugger_method_probes_snapshot -class Test_Debugger_Method_Probe_Snaphots(base._Base_Debugger_Test): - def setup_log_method_probe_snaphots(self): - probes = base.read_probes("probe_snapshot_log_method") - self.expected_probe_ids = base.extract_probe_ids(probes) - self.rc_state = rc.send_debugger_command(probes, version=1) - - interfaces.agent.wait_for(self.wait_for_all_probes_installed, timeout=30) - self.weblog_responses = [ - weblog.get("/debugger/log"), - ] - - @bug(library="python", reason="DEBUG-2708, DEBUG-2709") - def test_log_method_probe_snaphots(self): - self.assert_all_states_not_error() +@scenarios.debugger_probes_snapshot +class Test_Debugger_Probe_Snaphots(debugger._Base_Debugger_Test): + ############ setup ############ + def _setup(self, probes_name: str, request_path: str): + ### prepare probes + probes = debugger.read_probes(probes_name) + self.set_probes(probes) + + ### send requests + self.send_rc_probes() + self.wait_for_all_probes_installed() + self.send_weblog_request(request_path) + + ########### assert ############ + def _assert(self): + self.collect() + + ### assert + self.assert_rc_state_not_error() self.assert_all_probes_are_installed() self.assert_all_weblog_responses_ok() - expected_snapshots = ["log170aa-acda-4453-9111-1478a6method"] + def _validate_snapshots(self): + for expected_snapshot in self.probe_ids: + if expected_snapshot not in self.probe_snapshots: + raise ValueError("Snapshot " + expected_snapshot + " was not received.") - _validate_snapshots(expected_snapshots) + def _validate_spans(self): + for expected_trace in self.probe_ids: + if expected_trace not in self.probe_spans: + raise ValueError("Trace " + expected_trace + " was not received.") - def setup_span_method_probe_snaphots(self): - probes = base.read_probes("probe_snapshot_span_method") - self.expected_probe_ids = base.extract_probe_ids(probes) - self.rc_state = rc.send_debugger_command(probes, version=1) - - interfaces.agent.wait_for(self.wait_for_all_probes_installed, timeout=30) - self.weblog_responses = [ - weblog.get("/debugger/span"), - ] + ########### method ############ + ### log probe ### + def setup_log_method_probe_snaphots(self): + self._setup("probe_snapshot_log_method", "/debugger/log") @bug(library="python", reason="DEBUG-2708, DEBUG-2709") - @missing_feature(context.library == "ruby", reason="Not yet implemented") - def test_span_method_probe_snaphots(self): - self.assert_all_states_not_error() - self.assert_all_probes_are_installed() - self.assert_all_weblog_responses_ok() + def test_log_method_probe_snaphots(self): + self._assert() + self._validate_snapshots() - expected_spans = ["span70aa-acda-4453-9111-1478a6method"] + ### span probe ### + def setup_span_method_probe_snaphots(self): + self._setup("probe_snapshot_span_method", "/debugger/span") - _validate_spans(expected_spans) + @bug(library="python", reason="DEBUG-2708, DEBUG-2709") + def test_span_method_probe_snaphots(self): + self._assert() + self._validate_spans() + ### span decoration probe ### def setup_span_decoration_method_probe_snaphots(self): - probes = base.read_probes("probe_snapshot_span_decoration_method") - self.expected_probe_ids = base.extract_probe_ids(probes) - self.rc_state = rc.send_debugger_command(probes, version=1) - - interfaces.agent.wait_for(self.wait_for_all_probes_installed, timeout=30) - self.weblog_responses = [ - weblog.get("/debugger/span-decoration/asd/1"), - ] + self._setup("probe_snapshot_span_decoration_method", "/debugger/span-decoration/asd/1") @bug(library="python", reason="DEBUG-2708, DEBUG-2709") @missing_feature(context.library == "ruby", reason="Not yet implemented") def test_span_decoration_method_probe_snaphots(self): - self.assert_all_states_not_error() - self.assert_all_probes_are_installed() - self.assert_all_weblog_responses_ok() - - expected_spans = ["decor0aa-acda-4453-9111-1478a6method"] - - _validate_spans(expected_spans) + self._assert() + self._validate_spans() - -@features.debugger -@scenarios.debugger_line_probes_snapshot -class Test_Debugger_Line_Probe_Snaphots(base._Base_Debugger_Test): + ########### line ############ + ### log probe ### def setup_log_line_probe_snaphots(self): - probes = base.read_probes("probe_snapshot_log_line") - self.expected_probe_ids = base.extract_probe_ids(probes) - self.rc_state = rc.send_debugger_command(probes, version=1) - - interfaces.agent.wait_for(self.wait_for_all_probes_installed, timeout=30) - - self.weblog_responses = [ - weblog.get("/debugger/log"), - ] + self._setup("probe_snapshot_log_line", "/debugger/log") def test_log_line_probe_snaphots(self): - self.assert_all_states_not_error() - self.assert_all_probes_are_installed() - self.assert_all_weblog_responses_ok() - - expected_snapshots = ["log170aa-acda-4453-9111-1478a697line"] - - _validate_snapshots(expected_snapshots) + self._assert() + self._validate_snapshots() + ### span decoration probe ### def setup_span_decoration_line_probe_snaphots(self): - probes = base.read_probes("probe_snapshot_span_decoration_line") - self.expected_probe_ids = base.extract_probe_ids(probes) - self.rc_state = rc.send_debugger_command(probes, version=1) - - interfaces.agent.wait_for(self.wait_for_all_probes_installed, timeout=30) - - self.weblog_responses = [ - weblog.get("/debugger/span-decoration/asd/1"), - ] + self._setup("probe_snapshot_span_decoration_line", "/debugger/span-decoration/asd/1") @missing_feature(context.library == "ruby", reason="Not yet implemented") def test_span_decoration_line_probe_snaphots(self): - self.assert_all_states_not_error() - self.assert_all_probes_are_installed() - self.assert_all_weblog_responses_ok() - - expected_spans = ["decor0aa-acda-4453-9111-1478a697line"] - - _validate_spans(expected_spans) - + self._assert() + self._validate_spans() -@features.debugger -@scenarios.debugger_mix_log_probe -class Test_Debugger_Mix_Log_Probe(base._Base_Debugger_Test): + ########### mix ############ + ### mix log probe ### def setup_mix_probe(self): - probes = base.read_probes("probe_snapshot_log_mixed") - self.expected_probe_ids = base.extract_probe_ids(probes) - self.rc_state = rc.send_debugger_command(probes, version=1) - - interfaces.agent.wait_for(self.wait_for_all_probes_installed, timeout=30) - self.weblog_responses = [weblog.get("/debugger/mix/asd/1")] + self._setup("probe_snapshot_log_mixed", "/debugger/mix/asd/1") @bug(library="python", reason="DEBUG-2710") def test_mix_probe(self): - self.assert_all_states_not_error() - self.assert_all_probes_are_installed() - self.assert_all_weblog_responses_ok() - - expected_snapshots = [ - "logfb5a-1974-4cdb-b1dd-77dba2method", - "logfb5a-1974-4cdb-b1dd-77dba2f1line", - ] - - _validate_snapshots(expected_snapshots) - - -def _validate_snapshots(expected_snapshots): - def __get_snapshot_map(): - agent_logs_endpoint_requests = list(interfaces.agent.get_data(base._LOGS_PATH)) - snapshot_hash = {} - - for request in agent_logs_endpoint_requests: - content = request["request"]["content"] - if content: - for item in content: - snapshot = item.get("debugger", {}).get("snapshot") or item.get("debugger.snapshot") - if snapshot: - - probe_id = snapshot["probe"]["id"] - snapshot_hash[probe_id] = snapshot - - return snapshot_hash - - def check_snapshot(expected_id, snapshot_status_map): - if expected_id not in snapshot_status_map: - raise ValueError("Snapshot " + expected_id + " was not received.") - - snapshot_map = __get_snapshot_map() - for expected_snapshot in expected_snapshots: - check_snapshot(expected_snapshot, snapshot_map) - - -def _validate_spans(expected_spans): - def __get_span_map(): - agent_logs_endpoint_requests = list(interfaces.agent.get_data(base._TRACES_PATH)) - span_hash = {} - for request in agent_logs_endpoint_requests: - content = request["request"]["content"] - if content: - for payload in content["tracerPayloads"]: - for chunk in payload["chunks"]: - for span in chunk["spans"]: - if span["name"] == "dd.dynamic.span": - span_hash[span["meta"]["debugger.probeid"]] = span - else: - for key, value in span["meta"].items(): - if key.startswith("_dd.di"): - span_hash[value] = span["meta"][key.split(".")[2]] - - return span_hash - - def check_trace(expected_id, trace_map): - if expected_id not in trace_map: - raise ValueError("Trace " + expected_id + " was not received.") - - span_map = __get_span_map() - for expected_trace in expected_spans: - check_trace(expected_trace, span_map) + self._assert() + self._validate_snapshots() diff --git a/tests/debugger/test_debugger_probe_status.py b/tests/debugger/test_debugger_probe_status.py index b4300094ca..1dd24034bd 100644 --- a/tests/debugger/test_debugger_probe_status.py +++ b/tests/debugger/test_debugger_probe_status.py @@ -2,41 +2,74 @@ # This product includes software developed at Datadog (https://www.datadoghq.com/). # Copyright 2021 Datadog, Inc. -import tests.debugger.utils as base +import tests.debugger.utils as debugger -from utils import weblog, scenarios, features, remote_config as rc, bug, context, missing_feature +from utils import scenarios, features, bug, missing_feature, context @features.debugger @scenarios.debugger_probes_status -class Test_Debugger_Probe_Statuses(base._Base_Debugger_Test): - version = 0 - expected_status_map = {} +class Test_Debugger_Probe_Statuses(debugger._Base_Debugger_Test): + expected_diagnostics = {} - def _setup(self, probes): - Test_Debugger_Probe_Statuses.version += 1 - self.rc_state = rc.send_debugger_command(probes=probes, version=Test_Debugger_Probe_Statuses.version) + ############ setup ############ + def _setup(self, probes_name: str): + ### prepare probes + probes = debugger.read_probes(probes_name) + self.set_probes(probes) + ### set expected + for probe in self.probe_definitions: + if probe["id"].endswith("installed"): + self.expected_diagnostics[probe["id"]] = "INSTALLED" + else: + self.expected_diagnostics[probe["id"]] = "RECEIVED" + + ### send requests + self.send_rc_probes() + + ########### assert ############ def _assert(self): - self.assert_all_states_not_error() - self._validate_probe_status(self.expected_status_map) + self.collect() - def setup_probe_status_log(self): - message_map, probes = self._get_probes("probe_status_log") - self.expected_status_map = message_map + self.assert_rc_state_not_error() + self._validate_diagnostics() + + def _validate_diagnostics(self): + def _check_probe_status(expected_id, expected_status): + if expected_id not in self.probe_diagnostics: + return f"Probe {expected_id} was not received." + + actual_status = self.probe_diagnostics[expected_id]["status"] + if actual_status != expected_status and not ( + expected_status == "INSTALLED" and actual_status == "EMITTING" + ): + return f"Received probe {expected_id} with status {actual_status}. Expected {expected_status}" - self._setup(probes) + return None + + assert self.probe_diagnostics, "Probes were not received" + + errors = [] + for expected_id, expected_status in self.expected_diagnostics.items(): + error_message = _check_probe_status(expected_id, expected_status) + if error_message is not None: + errors.append(error_message) + + assert not errors, f"Probe status errors:\n" + "\n".join(errors) + + ############ log probe ############ + def setup_probe_status_log(self): + self._setup("probe_status_log") @bug(context.library == "python@2.16.0", reason="DEBUG-3127") @bug(context.library == "python@2.16.1", reason="DEBUG-3127") def test_probe_status_log(self): self._assert() + ############ metric probe ############ def setup_probe_status_metric(self): - message_map, probes = self._get_probes("probe_status_metric") - self.expected_status_map = message_map - - self._setup(probes) + self._setup("probe_status_metric") @bug(context.library == "python@2.16.0", reason="DEBUG-3127") @bug(context.library == "python@2.16.1", reason="DEBUG-3127") @@ -44,61 +77,20 @@ def setup_probe_status_metric(self): def test_probe_status_metric(self): self._assert() + ############ span probe ############ def setup_probe_status_span(self): - message_map, probes = self._get_probes("probe_status_span") - self.expected_status_map = message_map - - self._setup(probes) + self._setup("probe_status_span") @missing_feature(context.library == "ruby", reason="Not yet implemented") def test_probe_status_span(self): self._assert() + ############ span decoration probe ############ def setup_probe_status_spandecoration(self): - message_map, probes = self._get_probes("probe_status_spandecoration") - self.expected_status_map = message_map - - self._setup(probes) + self._setup("probe_status_spandecoration") @bug(context.library == "python@2.16.0", reason="DEBUG-3127") @bug(context.library == "python@2.16.1", reason="DEBUG-3127") @missing_feature(context.library == "ruby", reason="Not yet implemented") def test_probe_status_spandecoration(self): self._assert() - - def _get_probes(self, probes_name: str): - expected_status_map = {} - - probes = base.read_probes(probes_name) - for probe in probes: - if probe["id"].endswith("installed"): - expected_status_map[probe["id"]] = "INSTALLED" - else: - expected_status_map[probe["id"]] = "RECEIVED" - - return expected_status_map, probes - - def _validate_probe_status(self, expected_probes): - def _check_probe_status(expected_id, expected_status, probe_status_map): - if expected_id not in probe_status_map: - return f"Probe {expected_id} was not received." - - actual_status = probe_status_map[expected_id]["status"] - if actual_status != expected_status and not ( - expected_status == "INSTALLED" and actual_status == "EMITTING" - ): - return f"Received probe {expected_id} with status {actual_status}. Expected {expected_status}" - - return None - - errors = [] - probe_map = base.get_probes_map(base.read_diagnostic_data()) - - assert probe_map, "Probes were not received" - - for expected_id, expected_status in expected_probes.items(): - error_message = _check_probe_status(expected_id, expected_status, probe_map) - if error_message is not None: - errors.append(error_message) - - assert not errors, f"Probe status errors:\n" + "\n".join(errors) diff --git a/tests/debugger/utils.py b/tests/debugger/utils.py index 74305a14bc..97dcf7b606 100644 --- a/tests/debugger/utils.py +++ b/tests/debugger/utils.py @@ -10,10 +10,11 @@ from packaging import version -from utils import interfaces +from utils import interfaces, remote_config, weblog from utils.tools import logger from utils.dd_constants import RemoteConfigApplyState as ApplyState + _CONFIG_PATH = "/v0.7/config" _DEBUGGER_PATH = "/api/v2/debugger" _LOGS_PATH = "/api/v2/logs" @@ -22,16 +23,6 @@ _CUR_DIR = os.path.dirname(os.path.abspath(__file__)) -def get_tracer(): - config = list(interfaces.library.get_data(_CONFIG_PATH)) - - if config: - return config[0]["request"]["content"]["client"]["client_tracer"] - else: - logger.error("Config was not found") - return {"language": "not_defined", "tracer_version": "v0.0.0"} - - def read_probes(test_name: str): with open(os.path.join(_CUR_DIR, "probes/", test_name + ".json"), "r", encoding="utf-8") as f: return json.load(f) @@ -42,145 +33,402 @@ def generate_probe_id(probe_type: str): def extract_probe_ids(probes): - return [probe["id"] for probe in probes] - - -def read_diagnostic_data(): - tracer = get_tracer() - - tracer_version = version.parse(re.sub(r"[^0-9.].*$", "", tracer["tracer_version"])) - if tracer["language"] == "java": - if tracer_version > version.parse("1.27.0"): - path = _DEBUGGER_PATH - else: - path = _LOGS_PATH - elif tracer["language"] == "dotnet": - if tracer_version > version.parse("2.49.0"): - path = _DEBUGGER_PATH - else: - path = _LOGS_PATH - elif tracer["language"] == "python": - path = _DEBUGGER_PATH - elif tracer["language"] == "ruby": - path = _DEBUGGER_PATH - else: - path = _LOGS_PATH - - return list(interfaces.agent.get_data(path)) - - -def get_probes_map(data_set): - probe_hash = {} - - def _process_debugger(debugger): - if "diagnostics" in debugger: - diagnostics = debugger["diagnostics"] - - probe_id = diagnostics["probeId"] - status = diagnostics["status"] - - if probe_id in probe_hash: - current_status = probe_hash[probe_id]["status"] - if current_status == "RECEIVED": - probe_hash[probe_id]["status"] = status - elif current_status == "INSTALLED" and status in ["INSTALLED", "EMITTING"]: - probe_hash[probe_id]["status"] = status - elif current_status == "EMITTING" and status == "EMITTING": - probe_hash[probe_id]["status"] = status - else: - probe_hash[probe_id] = diagnostics - - for data in data_set: - contents = data["request"].get("content", []) or [] # Ensures contents is a list - for content in contents: - if "content" in content: - d_contents = content["content"] - for d_content in d_contents: - if isinstance(d_content, dict): - _process_debugger(d_content["debugger"]) - else: - if "debugger" in content: - if isinstance(content, dict): - _process_debugger(content["debugger"]) + if probes: + if isinstance(probes, dict): + return list(probes.keys()) + + return [probe["id"] for probe in probes] + + return [] + + +def _get_path(test_name, suffix): + filename = test_name + "_" + _Base_Debugger_Test.tracer["language"] + "_" + suffix + ".json" + path = os.path.join(_CUR_DIR, "approvals", filename) + return path + + +def write_approval(data, test_name, suffix): + with open(_get_path(test_name, suffix), "w", encoding="utf-8") as f: + json.dump(data, f, indent=2) - return probe_hash + +def read_approval(test_name, suffix): + with open(_get_path(test_name, suffix), "r", encoding="utf-8") as f: + return json.load(f) class _Base_Debugger_Test: - weblog_responses = [] - expected_probe_ids = [] - rc_state = None - installed_ids = set() - all_probes_installed = False + tracer = None + + probe_definitions = [] + probe_ids = [] + + probe_diagnostics = {} + probe_snapshots = {} + probe_spans = {} - def wait_for_all_probes_installed(self, data): - def _all_probes_installed(self, probes_map): - if not probes_map: - logger.debug("Probes map is empty") - return False + rc_state = None + weblog_responses = [] - logger.debug(f"Look for these probes: {self.expected_probe_ids}") - for expected_id in self.expected_probe_ids: - if expected_id in probes_map: - status = probes_map[expected_id]["status"] + ###### set ##### + def set_probes(self, probes): + def _enrich_probes(probes): + def __get_probe_type(probe_id): + if probe_id.startswith("log"): + return "LOG_PROBE" + if probe_id.startswith("metric"): + return "METRIC_PROBE" + if probe_id.startswith("span"): + return "SPAN_PROBE" + if probe_id.startswith("decor"): + return "SPAN_DECORATION_PROBE" + + return "not_supported" + + language = self.get_tracer()["language"] + + for probe in probes: + probe["language"] = language + + if probe["where"]["typeName"] == "ACTUAL_TYPE_NAME": + if language == "dotnet": + probe["where"]["typeName"] = "weblog.DebuggerController" + elif language == "java": + probe["where"]["typeName"] = "DebuggerController" + probe["where"]["methodName"] = ( + probe["where"]["methodName"][0].lower() + probe["where"]["methodName"][1:] + ) + elif language == "python": + probe["where"]["typeName"] = "debugger_controller" + probe["where"]["methodName"] = re.sub( + r"([a-z])([A-Z])", r"\1_\2", probe["where"]["methodName"] + ).lower() + elif language == "ruby": + probe["where"]["typeName"] = "DebuggerController" + probe["where"]["methodName"] = re.sub( + r"([a-z])([A-Z])", r"\1_\2", probe["where"]["methodName"] + ).lower() + elif probe["where"]["sourceFile"] == "ACTUAL_SOURCE_FILE": + if language == "dotnet": + probe["where"]["sourceFile"] = "DebuggerController.cs" + elif language == "java": + probe["where"]["sourceFile"] = "DebuggerController.java" + elif language == "python": + probe["where"]["sourceFile"] = "debugger_controller.py" + elif language == "ruby": + probe["where"]["sourceFile"] = "debugger_controller.rb" + probe["type"] = __get_probe_type(probe["id"]) + + return probes + + def _extract_probe_ids(probes): + return [probe["id"] for probe in probes] + + self.probe_definitions = _enrich_probes(probes) + self.probe_ids = _extract_probe_ids(probes) + self._installed_ids = set() + + ###### send ##### + _rc_version = 0 + + def send_rc_probes(self): + _Base_Debugger_Test._rc_version += 1 + + self.rc_state = remote_config.send_debugger_command( + probes=self.probe_definitions, version=_Base_Debugger_Test._rc_version + ) + + def send_weblog_request(self, request_path: str, reset: bool = True): + if reset: + self.weblog_responses = [] + + self.weblog_responses.append(weblog.get(request_path)) + + ###### wait for ##### + _last_read = 0 + _installed_ids = set() + + def wait_for_all_probes_installed(self, timeout=30): + interfaces.agent.wait_for(self._wait_for_all_probes_installed, timeout=timeout) + + def _wait_for_all_probes_installed(self, data): + def _check_all_probes_installed(self, probe_diagnostics): + logger.debug(f"Waiting for these probes to be installed: {self.probe_ids}") + + for expected_id in self.probe_ids: + if expected_id in probe_diagnostics: + status = probe_diagnostics[expected_id]["status"] logger.debug(f"Probe {expected_id} observed status is {status}") if status == "INSTALLED": - self.installed_ids.add(expected_id) + self._installed_ids.add(expected_id) - if set(self.expected_probe_ids).issubset(self.installed_ids): + if set(self.probe_ids).issubset(self._installed_ids): logger.debug(f"Succes: found all probes") return True return False - if not self.all_probes_installed: + all_probes_installed = False + + log_number = int(re.search(r"/(\d+)__", data["log_filename"]).group(1)) + if log_number > _Base_Debugger_Test._last_read: + _Base_Debugger_Test._last_read = log_number + if data["path"] == _DEBUGGER_PATH or data["path"] == _LOGS_PATH: - self.all_probes_installed = _all_probes_installed(self, get_probes_map([data])) - return self.all_probes_installed + probe_diagnostics = self._process_diagnostics_data([data]) + logger.debug(probe_diagnostics) + + if not probe_diagnostics: + logger.debug("Probes diagnostics is empty") + return False + + all_probes_installed = _check_all_probes_installed(self, probe_diagnostics) + + return all_probes_installed + + _method_name = None + _exception_message = None + _snapshot_found = False + + def wait_for_snapshot_received(self, method_name, exception_message=None, timeout=1): + self._method_name = method_name + self._exception_message = exception_message + self._snapshot_found = False + + interfaces.agent.wait_for(self._wait_for_snapshot_received, timeout=timeout) + return self._snapshot_found + + def _wait_for_snapshot_received(self, data): + # log_number = int(re.search(r"/(\d+)__", data["log_filename"]).group(1)) + # if log_number >= self._last_read: + # self._last_read = log_number + + if data["path"] == _LOGS_PATH: + logger.debug("Reading " + data["log_filename"] + ", looking for " + self._method_name) + contents = data["request"].get("content", []) or [] + + logger.debug("len is") + logger.debug(len(contents)) + + for content in contents: + snapshot = content.get("debugger", {}).get("snapshot") or content.get("debugger.snapshot") + + if not snapshot: + continue + + if ( + "probe" not in snapshot + or "location" not in snapshot["probe"] + or "method" not in snapshot["probe"]["location"] + ): + continue + + method = snapshot["probe"]["location"]["method"] + + if not isinstance(method, str): + continue + + method = method.lower().replace("_", "") + logger.debug("Found method " + method) + + if method == self._method_name: + if self._exception_message: + exception_message = snapshot["captures"]["return"]["throwable"]["message"].lower() + logger.debug("Exception message is " + exception_message) + logger.debug("Self Exception message is " + self._exception_message) + + found = re.search(self._exception_message, exception_message) + logger.debug(found) + + if re.search(self._exception_message, exception_message): + self._snapshot_found = True + break + else: + self._snapshot_found = True + break + + logger.debug(f"Snapshot found: {self._snapshot_found}") + return self._snapshot_found + + ###### collect ##### + def collect(self): + self.get_tracer() + + self._collect_probe_diagnostics() + self._collect_snapshots() + self._collect_spans() + + def _collect_probe_diagnostics(self): + def _read_data(self): + tracer = self.get_tracer() + + tracer_version = version.parse(re.sub(r"[^0-9.].*$", "", tracer["tracer_version"])) + if tracer["language"] == "java": + if tracer_version > version.parse("1.27.0"): + path = _DEBUGGER_PATH + else: + path = _LOGS_PATH + elif tracer["language"] == "dotnet": + if tracer_version > version.parse("2.49.0"): + path = _DEBUGGER_PATH + else: + path = _LOGS_PATH + elif tracer["language"] == "python": + path = _DEBUGGER_PATH + elif tracer["language"] == "ruby": + path = _DEBUGGER_PATH + else: + path = _LOGS_PATH + + return list(interfaces.agent.get_data(path)) + + all_data = _read_data(self) + self.probe_diagnostics = self._process_diagnostics_data(all_data) + + def _process_diagnostics_data(self, datas): + probe_diagnostics = {} + + def _process_debugger(debugger): + if "diagnostics" in debugger: + diagnostics = debugger["diagnostics"] + + probe_id = diagnostics["probeId"] + status = diagnostics["status"] + + # update status + if probe_id in probe_diagnostics: + current_status = probe_diagnostics[probe_id]["status"] + if current_status == "RECEIVED": + probe_diagnostics[probe_id]["status"] = status + elif current_status == "INSTALLED" and status in ["INSTALLED", "EMITTING"]: + probe_diagnostics[probe_id]["status"] = status + elif current_status == "EMITTING" and status == "EMITTING": + probe_diagnostics[probe_id]["status"] = status + # set new status + else: + probe_diagnostics[probe_id] = diagnostics + + for data in datas: + contents = data["request"].get("content", []) or [] # Ensures contents is a list + + for content in contents: + if "content" in content: + d_contents = content["content"] + for d_content in d_contents: + if isinstance(d_content, dict): + _process_debugger(d_content["debugger"]) + else: + if "debugger" in content: + if isinstance(content, dict): + _process_debugger(content["debugger"]) + + return probe_diagnostics + + def _collect_snapshots(self): + def _get_snapshot_hash(): + agent_logs_endpoint_requests = list(interfaces.agent.get_data(_LOGS_PATH)) + snapshot_hash = {} + + for request in agent_logs_endpoint_requests: + content = request["request"]["content"] + if content: + for item in content: + snapshot = item.get("debugger", {}).get("snapshot") or item.get("debugger.snapshot") + if snapshot: + probe_id = snapshot["probe"]["id"] + if probe_id in snapshot_hash: + snapshot_hash[probe_id].append(item) + else: + snapshot_hash[probe_id] = [item] + + return snapshot_hash + + self.probe_snapshots = _get_snapshot_hash() + + def _collect_spans(self): + def _get_spans_hash(self): + agent_logs_endpoint_requests = list(interfaces.agent.get_data(_TRACES_PATH)) + span_hash = {} + + span_decoration_line_key = None + if self.get_tracer()["language"] == "dotnet": + span_decoration_line_key = "_dd.di.SpanDecorationArgsAndLocals.probe_id" + else: + span_decoration_line_key = "_dd.di.spandecorationargsandlocals.probe_id" - def assert_all_probes_are_installed(self): - if not self.all_probes_installed: - missing_probes = set(self.expected_probe_ids) - set(self.installed_ids) - assert not missing_probes, f"Not all probes are installed. Missing ids: {', '.join(missing_probes)}" + for request in agent_logs_endpoint_requests: + content = request["request"]["content"] + if content: + for payload in content["tracerPayloads"]: + for chunk in payload["chunks"]: + for span in chunk["spans"]: - def assert_all_weblog_responses_ok(self, expected_code=200): - assert len(self.weblog_responses) > 0, "No responses available." + is_span_decoration_method = span["name"] == "dd.dynamic.span" + if is_span_decoration_method: + span_hash[span["meta"]["debugger.probeid"]] = span + continue - for respone in self.weblog_responses: - logger.debug(f"Response is {respone.text}") - assert respone.status_code == expected_code + is_span_decoration_line = span_decoration_line_key in span["meta"] + if is_span_decoration_line: + span_hash[span["meta"][span_decoration_line_key]] = span + continue + + is_exception_replay = "_dd.debug.error.exception_id" in span["meta"] + if is_exception_replay: + span_hash[span["meta"]["_dd.debug.error.exception_id"]] = span + continue + + return span_hash - def assert_all_states_not_error(self): - def _get_full_id(probe_id): - if probe_id.startswith("log"): - prefix = "logProbe" - elif probe_id.startswith("metric"): - prefix = "metricProbe" - elif probe_id.startswith("span"): - prefix = "spanProbe" - elif probe_id.startswith("decor"): - prefix = "spanDecorationProbe" + self.probe_spans = _get_spans_hash(self) + + def get_tracer(self): + if not _Base_Debugger_Test.tracer: + config = list(interfaces.library.get_data(_CONFIG_PATH)) + + if config: + _Base_Debugger_Test.tracer = config[0]["request"]["content"]["client"]["client_tracer"] else: - prefix = "notSupported" + logger.error("Config was not found") + _Base_Debugger_Test.tracer = {"language": "not_defined", "tracer_version": "v0.0.0"} - return f"{prefix}_{probe_id}" + return _Base_Debugger_Test.tracer - assert self.rc_state is not None, "State cannot be None" + ###### assert ##### + def assert_rc_state_not_error(self): + assert self.rc_state, "RC states are empty" errors = [] - for id in self.expected_probe_ids: - full_id = _get_full_id(id) - logger.debug(f"Checking RC state for: {full_id}") + for probe in self.probe_definitions: + rc_id = re.sub(r"_([a-z])", lambda match: match.group(1).upper(), probe["type"].lower()) + "_" + probe["id"] + + logger.debug(f"Checking RC state for: {rc_id}") - if full_id not in self.rc_state: - errors.append(f"ID {full_id} not found in state") + if rc_id not in self.rc_state: + errors.append(f"ID {rc_id} not found in state") else: - apply_state = self.rc_state[full_id]["apply_state"] - logger.debug(f"RC stace for {full_id} is {apply_state}") + apply_state = self.rc_state[rc_id]["apply_state"] + logger.debug(f"RC stace for {rc_id} is {apply_state}") if apply_state == ApplyState.ERROR: - errors.append(f"State for {full_id} is error: {self.rc_state[full_id]['apply_error']}") + errors.append(f"State for {rc_id} is error: {self.rc_state[rc_id]['apply_error']}") assert not errors, "\n".join(errors) + + def assert_all_probes_are_installed(self): + expected = self.probe_ids + received = extract_probe_ids(self.probe_diagnostics) + + missing_probes = set(expected) - set(received) + if missing_probes: + assert not missing_probes, f"Not all probes are installed. Missing ids: {', '.join(missing_probes)}" + + def assert_all_weblog_responses_ok(self, expected_code=200): + assert len(self.weblog_responses) > 0, "No responses available." + + for respone in self.weblog_responses: + logger.debug(f"Response is {respone.text}") + assert respone.status_code == expected_code diff --git a/utils/_context/_scenarios/__init__.py b/utils/_context/_scenarios/__init__.py index 10238e7150..9522d2fc14 100644 --- a/utils/_context/_scenarios/__init__.py +++ b/utils/_context/_scenarios/__init__.py @@ -549,30 +549,12 @@ def all_endtoend_scenarios(test_object): scenario_groups=[ScenarioGroup.DEBUGGER], ) - debugger_method_probes_snapshot = EndToEndScenario( - "DEBUGGER_METHOD_PROBES_SNAPSHOT", - rc_api_enabled=True, - weblog_env={"DD_DYNAMIC_INSTRUMENTATION_ENABLED": "1", "DD_REMOTE_CONFIG_ENABLED": "true",}, - library_interface_timeout=30, - doc="Test scenario for checking if debugger successfully generates snapshots for specific method probes", - scenario_groups=[ScenarioGroup.DEBUGGER], - ) - - debugger_line_probes_snapshot = EndToEndScenario( - "DEBUGGER_LINE_PROBES_SNAPSHOT", - rc_api_enabled=True, - weblog_env={"DD_DYNAMIC_INSTRUMENTATION_ENABLED": "1", "DD_REMOTE_CONFIG_ENABLED": "true",}, - library_interface_timeout=30, - doc="Test scenario for checking if debugger successfully generates snapshots for specific line probes", - scenario_groups=[ScenarioGroup.DEBUGGER], - ) - - debugger_mix_log_probe = EndToEndScenario( - "DEBUGGER_MIX_LOG_PROBE", + debugger_probes_snapshot = EndToEndScenario( + "DEBUGGER_PROBES_SNAPSHOT", rc_api_enabled=True, weblog_env={"DD_DYNAMIC_INSTRUMENTATION_ENABLED": "1", "DD_REMOTE_CONFIG_ENABLED": "true",}, library_interface_timeout=5, - doc="Set both method and line probes at the same code", + doc="Test scenario for checking if debugger successfully generates snapshots for probes", scenario_groups=[ScenarioGroup.DEBUGGER], ) diff --git a/utils/_remote_config.py b/utils/_remote_config.py index 3486d04bb2..8a8e8c623a 100644 --- a/utils/_remote_config.py +++ b/utils/_remote_config.py @@ -161,8 +161,6 @@ def all_payload_sent(data): def build_debugger_command(probes: list, version: int): - library_name = context.scenario.library.library - def _json_to_base64(json_object): json_string = json.dumps(json_object).encode("utf-8") base64_string = base64.b64encode(json_string).decode("utf-8") @@ -171,18 +169,6 @@ def _json_to_base64(json_object): def _sha256(value): return hashlib.sha256(base64.b64decode(value)).hexdigest() - def _get_probe_type(probe_id): - if probe_id.startswith("log"): - return "logProbe" - if probe_id.startswith("metric"): - return "metricProbe" - if probe_id.startswith("span"): - return "spanProbe" - if probe_id.startswith("decor"): - return "spanDecorationProbe" - - return "not_supported" - rcm = {"targets": "", "target_files": [], "client_configs": []} signed = { @@ -211,45 +197,12 @@ def _get_probe_type(probe_id): target = {"custom": {"v": 1}, "hashes": {"sha256": ""}, "length": 0} target_file = {"path": "", "raw": ""} - probe["language"] = library_name - - if probe["where"]["typeName"] == "ACTUAL_TYPE_NAME": - if library_name == "dotnet": - probe["where"]["typeName"] = "weblog.DebuggerController" - elif library_name == "java": - probe["where"]["typeName"] = "DebuggerController" - probe["where"]["methodName"] = ( - probe["where"]["methodName"][0].lower() + probe["where"]["methodName"][1:] - ) - elif library_name == "python": - probe["where"]["typeName"] = "debugger_controller" - probe["where"]["methodName"] = re.sub( - r"([a-z])([A-Z])", r"\1_\2", probe["where"]["methodName"] - ).lower() - elif library_name == "ruby": - probe["where"]["typeName"] = "DebuggerController" - probe["where"]["methodName"] = re.sub( - r"([a-z])([A-Z])", r"\1_\2", probe["where"]["methodName"] - ).lower() - elif probe["where"]["sourceFile"] == "ACTUAL_SOURCE_FILE": - if library_name == "dotnet": - probe["where"]["sourceFile"] = "DebuggerController.cs" - elif library_name == "java": - probe["where"]["sourceFile"] = "DebuggerController.java" - elif library_name == "python": - probe["where"]["sourceFile"] = "debugger_controller.py" - elif library_name == "ruby": - probe["where"]["sourceFile"] = "debugger_controller.rb" - - logger.debug(f"RC probe is:\n{json.dumps(probe, indent=2)}") - probe_type = _get_probe_type(probe["id"]) - probe["type"] = re.sub(r"(?