Issue Details (XML | Word | Printable)

Key: BAM-405
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Edwin Wong [Atlassian]
Reporter: Riaz Khanmohamed
Votes: 0
Watchers: 0
Operations

Add/Edit UI Mockup to this issue
If you were logged in you would be able to see more operations.
Bamboo

Problem loading project data - main project summary

Created: 07/Nov/06 04:57 AM   Updated: 20/Nov/06 11:56 PM
Component/s: Build Artifacts
Affects Version/s: 0.5.2
Fix Version/s: 0.7.1

Time Tracking:
Not Specified

Issue Links:
Reference
 

Participants: Edwin Wong [Atlassian] and Riaz Khanmohamed
Since last comment: 2 years, 7 weeks, 1 day ago
Number of comments: 4
Labels:


 Description  « Hide
One of our build servers has two projects. Randomly when we try to view one of these projects, we get an error:

Java backtrace for programmers:
----------
freemarker.template.TemplateModelException: get(countFailingSince) failed on instance of com.atlassian.bamboo.build.BuildStatusHelper
at freemarker.ext.beans.BeanModel.get(BeanModel.java:222)
at freemarker.core.Dot._getAsTemplateModel(Dot.java:76)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.ComparisonExpression.isTrue(ComparisonExpression.java:111)
at freemarker.core.IfBlock.accept(IfBlock.java:80)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.IfBlock.accept(IfBlock.java:82)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.Macro$Context.runMacro(Macro.java:164)
at freemarker.core.Environment.visit(Environment.java:537)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:128)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.IfBlock.accept(IfBlock.java:82)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.Environment.process(Environment.java:176)
at freemarker.template.Template.process(Template.java:232)
at com.opensymphony.webwork.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:130)
at com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:101)
at com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:312)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:207)
at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:84)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:84)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:171)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.atlassian.bamboo.ww2.interceptors.BasePermissionCheckInterceptor.intercept(BasePermissionCheckInterceptor.java:38)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.atlassian.bamboo.ww2.interceptors.StatisticsAwareInterceptor.intercept(StatisticsAwareInterceptor.java:47)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.atlassian.bamboo.ww2.interceptors.TestCaseAwareInterceptor.intercept(TestCaseAwareInterceptor.java:43)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.atlassian.bamboo.ww2.interceptors.BuildAwareInterceptor.intercept(BuildAwareInterceptor.java:72)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:100)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113)
at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:233)
at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:198)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:823)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:823)
at com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:78)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:823)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at com.atlassian.bamboo.filter.SeraphLoginFilter.doFilter(SeraphLoginFilter.java:56)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:191)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)
at com.atlassian.bamboo.filter.BambooAcegiProxyFilter.doFilter(BambooAcegiProxyFilter.java:25)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:823)
at com.atlassian.bamboo.filter.LicenseFilter.doFilter(LicenseFilter.java:71)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:823)
at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:91)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:823)
at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:823)
at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:177)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:823)
at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
at com.atlassian.spring.filter.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:29)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:823)
at com.atlassian.bamboo.filter.CompressingFilter.doFilter(CompressingFilter.java:69)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:823)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1565)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:635)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1517)
at org.mortbay.jetty.plus.PlusWebAppContext.handle(PlusWebAppContext.java:158)
at org.mortbay.http.HttpServer.service(HttpServer.java:954)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:814)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:981)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:831)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
at freemarker.ext.beans.BeanModel.invokeThroughDescriptor(BeanModel.java:271)
at freemarker.ext.beans.BeanModel.get(BeanModel.java:183)
... 111 more
Caused by: java.lang.NullPointerException
at com.atlassian.bamboo.build.BuildStatusHelper.getCountFailingSince(BuildStatusHelper.java:144)
... 118 more



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Riaz Khanmohamed added a comment - 07/Nov/06 04:58 AM
missed a bit:

2006-11-07 10:54:46,736 WARN [SocketListener0-1] [Bamboo] /build/viewBuildSummary!default.action?buildKey=NMJ:
get(countFailingSince) failed on instance of com.atlassian.bamboo.build.BuildStatusHelper
The problematic instruction:
----------
==> if-else [on line 48, column 13 in lib/components.ftl]
in user-directive cp.buildStatusMessage [on line 37, column 9 in viewBuildSummary.ftl]
----------


Riaz Khanmohamed added a comment - 07/Nov/06 05:08 AM
The projects file entry was slightly screwed -

<BuildResultsSummary>
<myBuildState>
<myState>Failed</myState>
</myBuildState>
<myBuildNumber>1027</myBuildNumber>
<myFailedBuildCount>1</myFailedBuildCount>
<mySuccessfulBuildCount>49</mySuccessfulBuildCount>
<myBuildTime>1162891149118</myBuildTime>
<myDuration>939572</myDuration>
<myReasonForBuild>
<myReason>Code has changed</myReason>
</myReasonForBuild>
<myChangedByAuthors>khanmohamedr</myChangedByAuthors>
<myChangePopupSummary>[changes]</myChangePopupSummary>
</BuildResultsSummary>
<BuildResultsSummary>
<myBuildState>
<myState>Successful</myState>
</myBuildState>
<myBuildNumber>1028</myBuildNumber>
<myFailedBuildCount>0</myFailedBuildCount>
<mySuccessfulBuildCount>50</mySuccessfulBuildCount>
<myBuildTime>1162894070903</myBuildTime>
<myDuration>884855</myDuration>
<myReasonForBuild>
<myReason>Manual build</myReason>
</myReasonForBuild>
</BuildResultsSummary>
<BuildResultsSummary>
<myBuildState reference="../../BuildResultsSummary[1027]/myBuildState"/>
<myBuildNumber>1029</myBuildNumber>
<myFailedBuildCount>1</myFailedBuildCount>
<mySuccessfulBuildCount>49</mySuccessfulBuildCount>
<myBuildTime>1162894966040</myBuildTime>
<myDuration>889464</myDuration>
<myReasonForBuild reference="../../BuildResultsSummary[1028]/myReasonForBuild"/>
</BuildResultsSummary>
<BuildResultsSummary>
<myBuildState reference="../../BuildResultsSummary[1027]/myBuildState"/>
<myBuildNumber>1029</myBuildNumber>
<myFailedBuildCount>0</myFailedBuildCount>
<mySuccessfulBuildCount>0</mySuccessfulBuildCount>
<myBuildTime>1162895855504</myBuildTime>
<myDuration>9719</myDuration>
<myReasonForBuild reference="../../BuildResultsSummary[1028]/myReasonForBuild"/>
<myChangedByAuthors>rasolof</myChangedByAuthors>
<myChangePopupSummary>[changes]</myChangePopupSummary>
</BuildResultsSummary>

once i changed the last two references to point to 1028 it was fine. If it's any relation, the two last builds both carried on building after a threaddeath occured on them and the app assumed they'd stopped building:

2006-11-07 10:37:45,223 FATAL [BAM::BuildPipeline::BuildExecutor] [DefaultBuildExecutor] Failed to Detect build changes
java.lang.ThreadDeath
at java.lang.Thread.stop(Unknown Source)
at com.atlassian.bamboo.container.BambooThreadedExecutor.stop(BambooThreadedExecutor.java:65)
at com.atlassian.bamboo.container.ThreadedTaskDaemon.stop(ThreadedTaskDaemon.java:57)
at com.atlassian.bamboo.container.ThreadedTaskDaemon.killActiveTask(ThreadedTaskDaemon.java:68)
at com.atlassian.bamboo.buildqueue.SimpleBuildQueue.stopTheBuild(SimpleBuildQueue.java:99)
at com.atlassian.bamboo.buildqueue.SimpleBuildQueue.remove(SimpleBuildQueue.java:73)
at com.atlassian.bamboo.event.BuildCompleteNotifier.recordTheBuildCompletion(BuildCompleteNotifier.java:98)
at com.atlassian.bamboo.event.BuildCompleteNotifier.doTask(BuildCompleteNotifier.java:83)
at com.atlassian.bamboo.container.BambooTask.run(BambooTask.java:33)
at java.lang.Thread.run(Unknown Source)

Furthermore I'd used the 'disable build' option around then to hold off building during my (failed) upgrade then let it carry on after once i'd restored. Will look through the logs to see if I can dig anything else up.


Edwin Wong [Atlassian] added a comment - 07/Nov/06 10:37 PM
Hi Riaz,

The problem we have here definitely boils down to having duplicate build 1029.
We have investigated the code in the area and it seems that the problem occured because one build 1029 was successful while another failed. As for BAM-406, we are looking to resolve this issue.

A recommendation to get around this problem might be to actually remove the duplicate 1029 build. You can even do this by removing the unwanted result from the project.xml after shutting down bamboo.

Thanks,
Edwin


Edwin Wong [Atlassian] added a comment - 20/Nov/06 11:56 PM
Riaz,

The upgrade task which ran on upgrade to v0.6 did some upgrade to all build results data in Bamboo. As part of this upgrade process, duplicate "phantom" results should be filtered out. Subsequenly, the duplicate build results problem should now be resolved.

I am marking this issue as resolved for now. Please let me know if you run across any more issues regarding this.

Thanks,
Edwin