Could you add a bug report please? Eelco
On 9/11/06, Nili Adoram <[EMAIL PROTECTED]> wrote: > After a long testing cycle we've discovered the problem. > Since we work in development mode, by default Page.checkRendering() > verifies that all page components were indeed rendered. > When each component is rendered it calls Page.componentRendered(). > This method is responsible for adding the calling component to the list > of rendered components, if debug settings require that (again, true in > development mode). > > However, if during this checkRendering an AJAX request has been sent, it > turns componentUseCheck to false. > This causes to all components that were not yet check to be marked as > unredered which causes a WicketRuntimeException - "The component(s) > below failed to render..." > > This looks like a bug to me. I believe there should be some protection > on the currently checked page. > > Moreover, it seems that working in deployment mode will never reveal > this problem. > > Please advise, > Thanks, > Nili > > Nili Adoram wrote: > > Could this be a race between Ajax and synchronized rendering? > > Is it possible that Ajax has removed nodes from the DOM and the when > > Page tries to render itself it does not find the components in the markup? > > > > Tomer Mevorach wrote: > > > >> Hi, > >> My application works fine most of the time, however, sometimes an > >> exception indicating a mismatch between java and html component's > >> hierarchy is thrown. > >> I can't think of a test case that generates this exception as it is > >> thrown inconsistently. > >> can anyone please help figure out the problem. > >> > >> I must add that all of my pages are unversioned and some of the > >> components are being refreshed by ajax every 5 seconds. > >> > >> Best Regards, > >> Tomer. > >> > >> > >> Runtime exception has ocurred in Page [Page class = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, id = 2]. > >> Original cause: The component(s) below failed to render. A common > >> problem is that you have added a component in code but forgot to > >> reference it in the markup (thus the component will never be rendered). > >> 1. [MarkupContainer [Component id = feedback, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:feedback.JavascriptFeedbackPanel, isVisible = true, isVersioned = > >> false]] 2. [MarkupContainer [Component id = feedback-simple, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:feedback-simple.FeedbackPanel, isVisible = true, isVersioned = false]] > >> 3. [Component id = breadcrumbs, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:breadcrumbs.Label, isVisible = true, isVersioned = false] 4. > >> [Component id = title, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:title.Label, isVisible = true, isVersioned = false] 5. > >> [MarkupContainer [Component id = mainTabs, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:mainTabs.FiltersPanel, isVisible = true, isVersioned = false]] 6. > >> [MarkupContainer [Component id = filters, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:mainTabs:filters.FiltersPanel$FiltersListView, isVisible = true, > >> isVersioned = false]] 7. [MarkupContainer [Component id = 0, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:mainTabs:filters:0.ListItem, isVisible = true, isVersioned = false]] > >> 8. [MarkupContainer [Component id = filterLink, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:mainTabs:filters:0:filterLink.FiltersPanel$FiltersListView$1, > >> isVisible = true, isVersioned = false]] 9. [Component id = filterImage, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = > >> 2:mainTabs:filters:0:filterLink:filterImage.FiltersPanel$FiltersListView$2, > >> isVisible = true, isVersioned = false] 10. [Component id = filterCount, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = 2:mainTabs:filters:0:filterLink:filterCount.Label, isVisible = true, > >> isVersioned = false] 11. [MarkupContainer [Component id = 1, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:mainTabs:filters:1.ListItem, isVisible = true, isVersioned = false]] > >> 12. [MarkupContainer [Component id = filterLink, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:mainTabs:filters:1:filterLink.FiltersPanel$FiltersListView$1, > >> isVisible = true, isVersioned = false]] 13. [Component id = filterImage, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = > >> 2:mainTabs:filters:1:filterLink:filterImage.FiltersPanel$FiltersListView$2, > >> isVisible = true, isVersioned = false] 14. [Component id = filterCount, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = 2:mainTabs:filters:1:filterLink:filterCount.Label, isVisible = true, > >> isVersioned = false] 15. [MarkupContainer [Component id = 2, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:mainTabs:filters:2.ListItem, isVisible = true, isVersioned = false]] > >> 16. [MarkupContainer [Component id = filterLink, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:mainTabs:filters:2:filterLink.FiltersPanel$FiltersListView$1, > >> isVisible = true, isVersioned = false]] 17. [Component id = filterImage, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = > >> 2:mainTabs:filters:2:filterLink:filterImage.FiltersPanel$FiltersListView$2, > >> isVisible = true, isVersioned = false] 18. [Component id = filterCount, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = 2:mainTabs:filters:2:filterLink:filterCount.Label, isVisible = true, > >> isVersioned = false] 19. [MarkupContainer [Component id = 3, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:mainTabs:filters:3.ListItem, isVisible = true, isVersioned = false]] > >> 20. [MarkupContainer [Component id = filterLink, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:mainTabs:filters:3:filterLink.FiltersPanel$FiltersListView$1, > >> isVisible = true, isVersioned = false]] 21. [Component id = filterImage, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = > >> 2:mainTabs:filters:3:filterLink:filterImage.FiltersPanel$FiltersListView$2, > >> isVisible = true, isVersioned = false] 22. [Component id = filterCount, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = 2:mainTabs:filters:3:filterLink:filterCount.Label, isVisible = true, > >> isVersioned = false] 23. [MarkupContainer [Component id = headerPanel, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = 2:headerPanel.HeaderPanel, isVisible = true, isVersioned = false]] 24. > >> [MarkupContainer [Component id = clock, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:headerPanel:clock.Clock, isVisible = true, isVersioned = false]] 25. > >> [Component id = time, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:headerPanel:clock:time.Label, isVisible = true, isVersioned = false] > >> 26. [MarkupContainer [Component id = refresher, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:headerPanel:refresher.WebMarkupContainer, isVisible = true, > >> isVersioned = false]] 27. [MarkupContainer [Component id = refreshLink, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = 2:headerPanel:refresher:refreshLink.MultiComponentAjaxLink, isVisible > >> = true, isVersioned = false]] 28. [MarkupContainer [Component id = > >> userPanel, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:userPanel.UserPanel, isVisible = true, isVersioned = false]] 29. > >> [Component id = userName, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:userPanel:userName.Label, isVisible = true, isVersioned = false] 30. > >> [MarkupContainer [Component id = requestId, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:requestId.HiddenField, isVisible = true, isVersioned > >> = false]] 31. [MarkupContainer [Component id = requestVersion, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:requestVersion.HiddenField, isVisible = true, > >> isVersioned = false]] 32. [Component id = businessUnit, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:businessUnit.Label, isVisible = true, isVersioned = > >> false] 33. [Component id = email, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:email.Label, isVisible = true, isVersioned = false] > >> 34. [MarkupContainer [Component id = name, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:name.RequiredTextField, isVisible = true, isVersioned > >> = false]] 35. [MarkupContainer [Component id = startDateType, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType.RadioGroup, isVisible = true, > >> isVersioned = false]] 36. [MarkupContainer [Component id = > >> startDateTypes, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType:startDateTypes.ProvisioningRequestForm$3, > >> isVisible = true, isVersioned = false]] 37. [MarkupContainer [Component > >> id = 0, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType:startDateTypes:0.ListItem, isVisible = > >> true, isVersioned = false]] 38. [MarkupContainer [Component id = radio, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = 2:provisioningForm:startDateType:startDateTypes:0:radio.Radio, > >> isVisible = true, isVersioned = false]] 39. [Component id = label, page > >> = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType:startDateTypes:0:label.RadioLabel, > >> isVisible = true, isVersioned = false] 40. [Component id = br, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType:startDateTypes:0:br.RadioBreak, > >> isVisible = true, isVersioned = false] 41. [Component id = startDate, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = 2:provisioningForm:startDateType:startDateTypes:0:startDate.Label, > >> isVisible = true, isVersioned = false] 42. [Component id = > >> startDatePicker, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType:startDateTypes:0:startDatePicker.Label, > >> isVisible = true, isVersioned = false] 43. [Component id = > >> disabled_startDatePicker, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType:startDateTypes:0:disabled_startDatePicker.Label, > >> isVisible = true, isVersioned = false] 44. [MarkupContainer [Component > >> id = 1, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType:startDateTypes:1.ListItem, isVisible = > >> true, isVersioned = false]] 45. [MarkupContainer [Component id = radio, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = 2:provisioningForm:startDateType:startDateTypes:1:radio.Radio, > >> isVisible = true, isVersioned = false]] 46. [Component id = label, page > >> = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType:startDateTypes:1:label.RadioLabel, > >> isVisible = true, isVersioned = false] 47. [Component id = br, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType:startDateTypes:1:br.RadioBreak, > >> isVisible = true, isVersioned = false] 48. [MarkupContainer [Component > >> id = startDate, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType:startDateTypes:1:startDate.DateTextField, > >> isVisible = true, isVersioned = false]] 49. [MarkupContainer [Component > >> id = startDatePicker, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType:startDateTypes:1:startDatePicker.TogglingDatePicker, > >> isVisible = true, isVersioned = false]] 50. [MarkupContainer [Component > >> id = trigger, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType:startDateTypes:1:startDatePicker:trigger.DatePicker$TriggerButton, > >> isVisible = true, isVersioned = false]] 51. [Component id = script, page > >> = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType:startDateTypes:1:startDatePicker:script.DatePicker$InitScript, > >> isVisible = true, isVersioned = false] 52. [Component id = > >> disabled_startDatePicker, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:startDateType:startDateTypes:1:disabled_startDatePicker.TogglingDatePicker$1, > >> isVisible = true, isVersioned = false] 53. [MarkupContainer [Component > >> id = endDateType, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType.RadioGroup, isVisible = true, isVersioned > >> = false]] 54. [MarkupContainer [Component id = endDateTypes, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes.ProvisioningRequestForm$4, > >> isVisible = true, isVersioned = false]] 55. [MarkupContainer [Component > >> id = 0, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:0.ListItem, isVisible = > >> true, isVersioned = false]] 56. [MarkupContainer [Component id = radio, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = 2:provisioningForm:endDateType:endDateTypes:0:radio.Radio, isVisible = > >> true, isVersioned = false]] 57. [Component id = label, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:0:label.RadioLabel, > >> isVisible = true, isVersioned = false] 58. [Component id = br, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:0:br.RadioBreak, isVisible = > >> true, isVersioned = false] 59. [Component id = endDate, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:0:endDate.Label, isVisible = > >> true, isVersioned = false] 60. [Component id = endDatePicker, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:0:endDatePicker.Label, > >> isVisible = true, isVersioned = false] 61. [Component id = > >> disabled_endDatePicker, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:0:disabled_endDatePicker.Label, > >> isVisible = true, isVersioned = false] 62. [MarkupContainer [Component > >> id = 1, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:1.ListItem, isVisible = > >> true, isVersioned = false]] 63. [MarkupContainer [Component id = radio, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = 2:provisioningForm:endDateType:endDateTypes:1:radio.Radio, isVisible = > >> true, isVersioned = false]] 64. [Component id = label, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:1:label.RadioLabel, > >> isVisible = true, isVersioned = false] 65. [Component id = br, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:1:br.RadioBreak, isVisible = > >> true, isVersioned = false] 66. [MarkupContainer [Component id = endDate, > >> page = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path > >> = 2:provisioningForm:endDateType:endDateTypes:1:endDate.DateTextField, > >> isVisible = true, isVersioned = false]] 67. [MarkupContainer [Component > >> id = endDatePicker, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:1:endDatePicker.TogglingDatePicker, > >> isVisible = true, isVersioned = false]] 68. [MarkupContainer [Component > >> id = trigger, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:1:endDatePicker:trigger.DatePicker$TriggerButton, > >> isVisible = true, isVersioned = false]] 69. [Component id = script, page > >> = com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:1:endDatePicker:script.DatePicker$InitScript, > >> isVisible = true, isVersioned = false] 70. [MarkupContainer [Component > >> id = calendarSetup, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:1:endDatePicker:calendarSetup.JavaScriptReference, > >> isVisible = true, isVersioned = false]] 71. [MarkupContainer [Component > >> id = calendarLanguage, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:1:endDatePicker:calendarLanguage.JavaScriptReference, > >> isVisible = true, isVersioned = false]] 72. [MarkupContainer [Component > >> id = calendarStyle, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:1:endDatePicker:calendarStyle.StyleSheetReference, > >> isVisible = true, isVersioned = false]] 73. [Component id = > >> disabled_endDatePicker, page = > >> com.qlusters.qrm.plugins.provision.web.ProvisioningRequest, path = > >> 2:provisioningForm:endDateType:endDateTypes:1:disabled_endDatePicker.TogglingDatePicker$1, > >> isVisible = true, isVersioned = false] > >> > >> ------------------------------------------------------------------------- > >> Using Tomcat but need to do more? Need to support web services, security? > >> Get stuff done quickly with pre-integrated technology to make your job > >> easier > >> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > >> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > >> _______________________________________________ > >> Wicket-user mailing list > >> Wicket-user@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/wicket-user > >> > >> > >> > > > > ------------------------------------------------------------------------- > > Using Tomcat but need to do more? Need to support web services, security? > > Get stuff done quickly with pre-integrated technology to make your job > > easier > > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > _______________________________________________ > > Wicket-user mailing list > > Wicket-user@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Wicket-user mailing list > Wicket-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wicket-user > ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user