[
https://issues.apache.org/jira/browse/CAMEL-24301?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Prasanth Ganesh Rao updated CAMEL-24301:
----------------------------------------
Attachment: stacktrace_Null.txt
> RouteService NPE when startup-failure exception has no message
> ---------------------------------------------------------------
>
> Key: CAMEL-24301
> URL: https://issues.apache.org/jira/browse/CAMEL-24301
> Project: Camel
> Issue Type: Bug
> Components: camel-base-engine, camel-core
> Reporter: Prasanth Ganesh Rao
> Priority: Minor
> Attachments: stacktrace_Null.txt
>
>
> When a route fails to start and the root cause exception carries no message
> (e.g. bare NullPointerException, StackOverflowError, or a wrapped
> WSDLException with no text), RouteService.warmUp() and setUp() pass
> e.getLocalizedMessage() directly to FailedToStartRouteException. That
> constructor calls Objects.requireNonNull on the message argument, so a
> secondary NPE is thrown from inside FailedToStartRouteException
> instead of the intended exception.
>
> In Camel 3.14.x this manifested as "Failed to start route X because of
> null"; the 4.x code fixed that regression but left this adjacent null-safety
> gap.
>
> *Fix (PR #25205):*
> A private extractUsefulMessage(Throwable) helper is added to RouteService
> that walks the cause chain for the first non-null, non-blank message and
> falls back to the exception's simple class name. Both warmUp() and setUp()
> now call this helper instead of getLocalizedMessage() directly.
>
> *Files changed:*
> -
> core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/RouteService.java
> -
> core/camel-core/src/test/java/org/apache/camel/impl/engine/RouteServiceWarmUpNullMessageTest.java
> (new)
>
> PR: https://github.com/apache/camel/pull/25205
--
This message was sent by Atlassian Jira
(v8.20.10#820010)