[
https://issues.apache.org/jira/browse/NIFI-6996?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Joe Witt resolved NIFI-6996.
----------------------------
Fix Version/s: 1.11.0
Resolution: Fixed
> ConsumeWindowsEventLog leads to a stackoverflow when subscription fails
> -----------------------------------------------------------------------
>
> Key: NIFI-6996
> URL: https://issues.apache.org/jira/browse/NIFI-6996
> Project: Apache NiFi
> Issue Type: Bug
> Components: Extensions
> Affects Versions: 1.10.0
> Reporter: Momo Adc
> Priority: Major
> Fix For: 1.11.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
>
> The ConsumeWindowsEvenLog processor causes a stack overflow when it fails to
> subscribe to a log.
> Sadly I cannot provide logs (working under an NDA).
> Since I cannot provide logs I will try to describe the flow:
> 1. isSubscribed function is called and the subscription fails (line 242)
> 2. isSubscribed calls unsubscribe function (line 250)
> 3. unsubscribe function calls isSubscribed (line 290)
> 4. repeat
>
> The second line causes the issue:
>
> {code:java}
> private boolean isSubscribed() {
> final boolean subscribed = subscriptionHandle != null &&
> subscriptionHandle.getPointer() != null;
> final boolean subscriptionFailed = evtSubscribeCallback != null
> && ((EventSubscribeXmlRenderingCallback)
> evtSubscribeCallback).isSubscriptionFailed();
> final boolean subscribing = subscribed && !subscriptionFailed;
> getLogger().debug("subscribing? {}, subscribed={},
> subscriptionFailed={}", new Object[]{subscribing, subscribed,
> subscriptionFailed});
> if (subscriptionFailed) {
> getLogger().info("Canceling a failed subscription.");
> unsubscribe();
> }
> return subscribing;
> }{code}
> If evtSubscribeCallback is null we're stuck in a stackoverflow, the
> isSubscriptionFailed function in EventSubscribeXmlRenderingCallback returns a
> boolean called subscriptionFailed which is private and set to true when it
> fails to subscribe, nowhere in the class is it set back to false.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)