-
Bug
-
Resolution: Done
-
High (View bug fix roadmap)
-
6.3.14, 6.3.15
-
6.03
-
Summary
HTTPS WebHooks fail to alert remote applications when an issue has changed in JIRA.
This is likely caused caused by the fact that JIRA uses Third Party libraries that are affected by the issue in: HTTPCORE-322.
Environment
JIRA Versions less than 6.4.0 that are using HTTPS WebHooks.
Steps to Reproduce
- Observe that External Applications are not receiving notifications
- Reviewing a Thread dump indicates threads on apache code:
"httpclient-io:thread-7" #75 daemon prio=5 os_prio=0 tid=0x0000000004c4e000 nid=0x9f3b runnable [0x00007f8e6503f000] java.lang.Thread.State: RUNNABLE at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:829) - locked <0x00007f910aecc330> (a sun.security.ssl.SSLEngineImpl) at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:781) - locked <0x00007f9320e8e9c8> (a java.lang.Object) at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624) at org.apache.http.nio.reactor.ssl.SSLIOSession.doUnwrap(SSLIOSession.java:228) at org.apache.http.nio.reactor.ssl.SSLIOSession.decryptData(SSLIOSession.java:348) at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:371) - locked <0x00007f92abfaada0> (a org.apache.http.nio.reactor.ssl.SSLIOSession) at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:118) at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:160) at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:342) at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:320) at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:280) at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106) at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:604) at java.lang.Thread.run(Thread.java:745)
- Restarting the JIRA instance temporarily 'stops' this issue.
Expected Results
When a Webhook is triggered, it is expected to publish a message over HTTPS. The debug logging in JIRA:
2015-08-12 23:31:40,968 pool-11-thread-2 DEBUG anonymous 982x3062x2 1ujddof 192.168.0.1 /secure/CommentAssignIssue.jspa [atlassian.webhooks.plugin.PublishTaskFactoryImpl$PublishTaskImpl] Posting to web hook at https://<URL>...
Actual Results
JIRA Debug logging reports the WebHook is posting a message
No network activity towards the External Service is observed.
Notes
This behavior has not been reproduced by Atlassian.
Workarounds
- Upgrade JIRA to JIRA 6.4.X version or higher where the version of httpcore-nio was increased to bumped to 4.3.2
- Restart JIRA as a temporary measure.
This needs to be further investigated in the support case to confirm if JIRA is indeed shipping with the affected code path mentioned at HTTPCORE-322