shashank created CAMEL-26871:
--------------------------------
Summary: camel-core - the VirtualMachineError tests of CAMEL-26741
fail with the exchange sanitizer on
Key: CAMEL-26871
URL: https://issues.apache.org/jira/browse/CAMEL-26871
Project: Camel
Issue Type: Test
Components: camel-core
Reporter: shashank
Assignee: shashank
The camel-core suite run with the exchange sanitizer on ({{mvn test
-Psanitizer}}, the CI switch of camel-sanitizer) has 8 failures: the tests of
CAMEL-26741 that throw a {{VirtualMachineError}} ({{StackOverflowError}},
{{OutOfMemoryError}}) from a processor or a bean method, 5 in
{{ProcessorThrowsErrorTest}} and 3 in {{BeanMethodThrowsErrorTest}}. By design
such an {{Error}} is thrown on after the callback of the processor was called
(it is not set on the exchange), and these tests check exactly that. Rule R1 of
the sanitizer reports it as "process threw after calling the callback", so each
test fails with a {{SanitizerViolationError}}.
Expected: the suite passes with the sanitizer on. The tests break the rule on
purpose, so they should say so with
{{@ExpectSanitizerViolation(Violation.THREW_AFTER_CALLBACK)}}, as the other
tests of camel-core that break it on purpose do. (An alternative would be for
the sanitizer not to report a {{VirtualMachineError}} at all; the annotation
keeps the rule as it is and as the sanitizer page documents it: with an error
handler such an exchange completes without an exception and the Error is only
logged, so the report is what fails a test that runs into one by accident.)
Found by running the camel-core suite with {{-Psanitizer}} on main.
_Filed with Claude Code on behalf of allthingssecurity._
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)