Details
-
Bug
-
Resolution: Fixed
-
Medium
-
4.0, 4.1, 4.2, 4.3, 4.4
-
4
-
Description
Downloading the atlassian news gadget can freeze the "Gadget Directory" if the JIRA server is not able to read "http://www.atlassian.com/gadgets/news.xml". The socket does not have a timeout. Here is a stack trace that shows the problem:
"http-8081-12" daemon prio=3 tid=0x005f2800 nid=0x5c runnable [0xa76fa000] java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:130) at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:127) at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:233) at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:98) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:210) at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:271) at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:227) at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:229) at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:292) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:126) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:447) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:554) at com.atlassian.jira.gadgets.system.MarketingGadgetSpecProvider$1.create(MarketingGadgetSpecProvider.java:69) at com.atlassian.jira.gadgets.system.MarketingGadgetSpecProvider$1.create(MarketingGadgetSpecProvider.java:44) at com.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:316) at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:142) at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:111) at com.atlassian.jira.gadgets.system.MarketingGadgetSpecProvider.contains(MarketingGadgetSpecProvider.java:120) at sun.reflect.GeneratedMethodAccessor330.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58) at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
This thread was in this state for over 3 hrs. The gadget directory is waiting for this thread to finish before it will return from any REST calls.
Attachments
Issue Links
- relates to
-
JRASERVER-24979 The gadget directory code will wait forever on the gadget provider and this can hang the ability to add gadgets
- Closed