RE: Tap 4.1.2 Bug found ???
Ok, I did my best to reproduce the problem - without success. Please pay attention to how you specify the id of the form to be submitted. Maybe you can post your EventListener annotation? -Original Message- From: Bastian Voigt [mailto:[EMAIL PROTECTED] Sent: Tuesday, July 10, 2007 2:28 PM To: Tapestry users Subject: Tap 4.1.2 Bug found ??? -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi, before I report a bug on this, I would like to hear some opinions since the bug is maybe difficult to describe and/or reproduce. I have written an AJAX component which makes use of the new EventListener api. This component is called VesselSuggest and is used in two different pages, called EditAlert and ImageUpload. In 4.1.1 this same component used to work, but since we upgraded to 4.1.2, the component works only on one of the two pages (actually , and on the other I get an error: org.apache.hivemind.ApplicationRuntimeException: No component found in tree for EventListener binding with a matching component id of ImageUpload/vesselSuggest.vesselSuggest. classpath:/com/vesseltracker/web/components/alerting/EditAlert .html,line13 As you might have noticed, it tries to wire a component from the page ImageUpload to the page EditAlert which is obviously wrong. Is it OK to report this as a tapestry bug, or does anyone have other suggestions? The stacktrace: org.apache.tapestry.pageload.EventConnectionVisitor.wireElemen tFormEvents(EventConnectionVisitor.java:114) org.apache.tapestry.pageload.EventConnectionVisitor.visitCompo nent(EventConnectionVisitor.java:86) $IComponentVisitor_113b0099dbd.visitComponent($IComponentVisit or_113b0099dbd.java) $IComponentVisitor_113b0099dbe.visitComponent($IComponentVisit or_113b0099dbe.java) org.apache.tapestry.pageload.ComponentTreeWalker.walkComponent Tree(ComponentTreeWalker.java:45) org.apache.tapestry.pageload.ComponentTreeWalker.walkComponent Tree(ComponentTreeWalker.java:57) org.apache.tapestry.pageload.ComponentTreeWalker.walkComponent Tree(ComponentTreeWalker.java:57) org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:655) $IPageLoader_113b0099da9.loadPage($IPageLoader_113b0099da9.java) $IPageLoader_113b0099daa.loadPage($IPageLoader_113b0099daa.java) org.apache.tapestry.pageload.PageSource.makeObject(PageSource. java:153) org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObje ct(GenericKeyedObjectPool.java:797) org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:177) $IPageSource_113b0099d24.getPage($IPageSource_113b0099d24.java) org.apache.tapestry.engine.RequestCycle.loadPage(RequestCycle. java:239) org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:226) $MyAlertsPage_103.getEditAlertPage($MyAlertsPage_103.java) com.vesseltracker.web.pages.MyAlertsPage.onAlert(MyAlertsPage.java:17) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess orImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth odAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeT argetMethod(ListenerMethodInvokerImpl.java:276) org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeL istenerMethod(ListenerMethodInvokerImpl.java:221) org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchA ndInvoke(ListenerMethodInvokerImpl.java:157) org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeL istenerMethod(ListenerMethodInvokerImpl.java:80) org.apache.tapestry.listener.SyntheticListener.actionTriggered (SyntheticListener.java:52) org.apache.tapestry.binding.ListenerMethodBinding.actionTrigge red(ListenerMethodBinding.java:77) org.apache.tapestry.listener.ListenerInvokerTerminator.invokeL istener(ListenerInvokerTerminator.java:50) $ListenerInvoker_113b0099d1a.invokeListener($ListenerInvoker_1 13b0099d1a.java) org.apache.tapestry.link.DirectLink.trigger(DirectLink.java:101) org.apache.tapestry.engine.DirectService.triggerComponent(Dire ctService.java:166) org.apache.tapestry.engine.DirectService.service(DirectService .java:142) $IEngineService_113b0099d97.service($IEngineService_113b0099d97.java) org.apache.tapestry.services.impl.EngineServiceOuterProxy.serv ice(EngineServiceOuterProxy.java:72) org.apache.tapestry.engine.AbstractEngine.service(AbstractEngi ne.java:237) org.apache.tapestry.services.impl.InvokeEngineTerminator.servi ce(InvokeEngineTerminator.java:54) $WebRequestServicer_113b0099d6c.service($WebRequestServicer_11 3b0099d6c.java) $WebRequestServicer_113b0099d68.service($WebRequestServicer_11 3b0099d68.java) org.apache.tapestry.services.impl.WebRequestServicerPipelineBr idge.service(WebRequestServicerPipelineBridge.java:61) $ServletRequestServicer_113b0099d4e.service($ServletRequestSer vicer_113b0099d4e.java)
Re: Tap 4.1.2 Bug found ???
This is too much for me to digest, has anything important been added to that JIRA issue that is still missing? On 7/11/07, Bastian Voigt [EMAIL PROTECTED] wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Sorry, I have to correct my last post: The for loop is _NOT_ nested in the form! Component HTML: - --- form jwcid=@Form - input field /form span jwcid=@For -- iterate over ajax search results span jwcid=@RenderBlock block=ognl:block1 / span jwcid=@RenderBlock block=ognl:block2 / span jwcid=@RenderBlock block=ognl:block3 / /span - -- Bastian Voigt Neumünstersche Straße 4 20251 Hamburg telefon +49 - 40 - 67957171 mobil +49 - 179 - 4826359 - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGlPaT9+lAHD7HULYRArHSAJ97gPartnzwSTF2LTq/5oXNl5VrEgCggtEr 8UWGtY3KiRtmBnSTQH7+cyA= =cE6B -END PGP SIGNATURE- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
Re: Tap 4.1.2 Bug found ???
I'll try and set up a similarly structured test-case this weekend. If I can find a bug, I'll post it. 2007/7/13, Jesse Kuhnert [EMAIL PROTECTED]: This is too much for me to digest, has anything important been added to that JIRA issue that is still missing? On 7/11/07, Bastian Voigt [EMAIL PROTECTED] wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Sorry, I have to correct my last post: The for loop is _NOT_ nested in the form! Component HTML: - --- form jwcid=@Form - input field /form span jwcid=@For -- iterate over ajax search results span jwcid=@RenderBlock block=ognl:block1 / span jwcid=@RenderBlock block=ognl:block2 / span jwcid=@RenderBlock block=ognl:block3 / /span - -- Bastian Voigt Neumünstersche Straße 4 20251 Hamburg telefon +49 - 40 - 67957171 mobil +49 - 179 - 4826359 - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGlPaT9+lAHD7HULYRArHSAJ97gPartnzwSTF2LTq/5oXNl5VrEgCggtEr 8UWGtY3KiRtmBnSTQH7+cyA= =cE6B -END PGP SIGNATURE- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- Marcus Schulte http://marcus-schulte.blogspot.com
RE: Tap 4.1.2 Bug found ???
Bastian, please have a look at https://issues.apache.org/jira/browse/TAPESTRY-1556 . Maybe you can temporarily work around this by toying with your form-id and their specification on the EventListener annotation. Maybe you can add your problem with source-code, if possible, to that issue. That would definitively be helpful! Marcus -Original Message- From: Marcus Schulte [mailto:[EMAIL PROTECTED] Sent: Tuesday, July 10, 2007 8:41 PM To: Tapestry users Subject: Re: Tap 4.1.2 Bug found ??? I think I've seen an issue connected to EventListener-wiring being fixed. I'll look it up tomorrow if the problem persists. 2007/7/10, Bastian Voigt [EMAIL PROTECTED]: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi, before I report a bug on this, I would like to hear some opinions since the bug is maybe difficult to describe and/or reproduce. I have written an AJAX component which makes use of the new EventListener api. This component is called VesselSuggest and is used in two different pages, called EditAlert and ImageUpload. In 4.1.1 this same component used to work, but since we upgraded to 4.1.2, the component works only on one of the two pages (actually , and on the other I get an error: org.apache.hivemind.ApplicationRuntimeException: No component found in tree for EventListener binding with a matching component id of ImageUpload/vesselSuggest.vesselSuggest. classpath:/com/vesseltracker/web/components/alerting/EditAlert.html,li ne13 As you might have noticed, it tries to wire a component from the page ImageUpload to the page EditAlert which is obviously wrong. Is it OK to report this as a tapestry bug, or does anyone have other suggestions? The stacktrace: org.apache.tapestry.pageload.EventConnectionVisitor.wireElementFormEve nts( EventConnectionVisitor.java:114) org.apache.tapestry.pageload.EventConnectionVisitor.visitComponent( EventConnectionVisitor.java:86) $IComponentVisitor_113b0099dbd.visitComponent($IComponentVisitor_113b0 099dbd.java) $IComponentVisitor_113b0099dbe.visitComponent($IComponentVisitor_113b0 099dbe.java) org.apache.tapestry.pageload.ComponentTreeWalker.walkComponentTree( ComponentTreeWalker.java:45) org.apache.tapestry.pageload.ComponentTreeWalker.walkComponentTree( ComponentTreeWalker.java:57) org.apache.tapestry.pageload.ComponentTreeWalker.walkComponentTree( ComponentTreeWalker.java:57) org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:655) $IPageLoader_113b0099da9.loadPage($IPageLoader_113b0099da9.java) $IPageLoader_113b0099daa.loadPage($IPageLoader_113b0099daa.java) org.apache.tapestry.pageload.PageSource.makeObject(PageSource.java:153 ) org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject( GenericKeyedObjectPool.java:797) org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:177) $IPageSource_113b0099d24.getPage($IPageSource_113b0099d24.java) org.apache.tapestry.engine.RequestCycle.loadPage(RequestCycle.java:239 ) org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:226) $MyAlertsPage_103.getEditAlertPage($MyAlertsPage_103.java) com.vesseltracker.web.pages.MyAlertsPage.onAlert(MyAlertsPage.java:17) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j ava :39) sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMet hod( ListenerMethodInvokerImpl.java:276) org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerM ethod (ListenerMethodInvokerImpl.java:221) org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke ( ListenerMethodInvokerImpl.java:157) org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerM ethod (ListenerMethodInvokerImpl.java:80) org.apache.tapestry.listener.SyntheticListener.actionTriggered( SyntheticListener.java:52) org.apache.tapestry.binding.ListenerMethodBinding.actionTriggered( ListenerMethodBinding.java:77) org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener( ListenerInvokerTerminator.java:50) $ListenerInvoker_113b0099d1a.invokeListener($ListenerInvoker_113b0099d 1a.java) org.apache.tapestry.link.DirectLink.trigger(DirectLink.java:101) org.apache.tapestry.engine.DirectService.triggerComponent( DirectService.java:166) org.apache.tapestry.engine.DirectService.service(DirectService.java:14 2) $IEngineService_113b0099d97.service($IEngineService_113b0099d97.java) org.apache.tapestry.services.impl.EngineServiceOuterProxy.service( EngineServiceOuterProxy.java:72) org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java: 237
Re: Tap 4.1.2 Bug found ???
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 [EMAIL PROTECTED] wrote: Bastian, please have a look at https://issues.apache.org/jira/browse/TAPESTRY-1556 . Maybe you can temporarily work around this by toying with your form-id and their specification on the EventListener annotation. I have temporarily worked around this bug by duplicating my component class. Maybe you can add your problem with source-code, if possible, to that issue. That would definitively be helpful! Hmm, it might be difficult to reproduce this bug in a testing application, but I will try if I find the time. - -- Bastian Voigt Neumünstersche Straße 4 20251 Hamburg telefon +49 - 40 - 67957171 mobil +49 - 179 - 4826359 -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGlKVG9+lAHD7HULYRArDLAJoDU0itEWHLwEbZicVH0in0tT6j1ACcCP9G 1yZLAKNDF+ynVQSt5o+dsd8= =4cgs -END PGP SIGNATURE- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tap 4.1.2 Bug found ???
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 As I see in JIRA, this bug should be fixed in 4.1.3 As it is quite a critical bug to us, what can we do to fix it? Would it make sense to patch against 4.1.2? How can I make such a patch? Regards Bastian Voigt Bastian Voigt wrote: [EMAIL PROTECTED] wrote: Bastian, please have a look at https://issues.apache.org/jira/browse/TAPESTRY-1556 . Maybe you can temporarily work around this by toying with your form-id and their specification on the EventListener annotation. I have temporarily worked around this bug by duplicating my component class. Maybe you can add your problem with source-code, if possible, to that issue. That would definitively be helpful! Hmm, it might be difficult to reproduce this bug in a testing application, but I will try if I find the time. - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - -- Bastian Voigt Neumünstersche Straße 4 20251 Hamburg telefon +49 - 40 - 67957171 mobil +49 - 179 - 4826359 -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGlKmI9+lAHD7HULYRAmrQAJ0SXYTUtZ3Zb2cK+vU8sKwKCQJ5dwCdEHhj O5sGOd3P+7LBAi+o69GNizs= =wizN -END PGP SIGNATURE- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tap 4.1.2 Bug found ???
Once you find out what's wrong with EventConnectionVisitor, you can patch Tapestry quite easily, without even building Tapestry yourself, thanks to HiveMind. The EventConnectionVisitor is a HiveMind service, which you can override from your application by putting into your hivemodule.xml something like: implementation service-id=tapestry.page.EventConnectionVisitor invoke-factory model=pooled construct class=your.impl.of.EventConnectionVisitor set-service property=eventInvoker service-id=tapestry.event.EventInvoker/ /construct /invoke-factory /implementation -Original Message- From: Bastian Voigt [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 11, 2007 11:57 AM To: Tapestry users Subject: Re: Tap 4.1.2 Bug found ??? -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 As I see in JIRA, this bug should be fixed in 4.1.3 As it is quite a critical bug to us, what can we do to fix it? Would it make sense to patch against 4.1.2? How can I make such a patch? Regards Bastian Voigt Bastian Voigt wrote: [EMAIL PROTECTED] wrote: Bastian, please have a look at https://issues.apache.org/jira/browse/TAPESTRY-1556 . Maybe you can temporarily work around this by toying with your form-id and their specification on the EventListener annotation. I have temporarily worked around this bug by duplicating my component class. Maybe you can add your problem with source-code, if possible, to that issue. That would definitively be helpful! Hmm, it might be difficult to reproduce this bug in a testing application, but I will try if I find the time. - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - -- Bastian Voigt Neumünstersche Straße 4 20251 Hamburg telefon +49 - 40 - 67957171 mobil +49 - 179 - 4826359 -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGlKmI9+lAHD7HULYRAmrQAJ0SXYTUtZ3Zb2cK+vU8sKwKCQJ5dwCdEHhj O5sGOd3P+7LBAi+o69GNizs= =wizN -END PGP SIGNATURE- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tap 4.1.2 Bug found ???
Hmm, it might be difficult to reproduce this bug in a testing application, but I will try if I find the time. if you do need assistance with this, it would also be helpful to know the exact page/component structure of your setup. A working source-example is not strictly necessary (though it helps, of course). Especially: - are components from different pages rendered while rendering any of the relevant pages (via the @Block/@RenderBlock mechanism)? - is the form to be submitted asynchronously contained in the vesselSelect component or does it contain the component? some snippets that make this clear could really be helpful! - -- Bastian Voigt Neumünstersche Straße 4 20251 Hamburg telefon +49 - 40 - 67957171 mobil +49 - 179 - 4826359 -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGlKVG9+lAHD7HULYRArDLAJoDU0itEWHLwEbZicVH0in0tT6j1ACcCP9G 1yZLAKNDF+ynVQSt5o+dsd8= =4cgs -END PGP SIGNATURE- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tap 4.1.2 Bug found ???
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 [EMAIL PROTECTED] wrote: if you do need assistance with this, it would also be helpful to know the exact page/component structure of your setup. A working source-example is not strictly necessary (though it helps, of course). Especially: - are components from different pages rendered while rendering any of the relevant pages (via the @Block/@RenderBlock mechanism)? Yes! The VesselSuggest component contains three @RenderBlock in a @For loop. The blocks are defined by the component user (i.e. the page) and they render a custom link and/or text which is displayed inside the component for each search result that matches the search string. The @For loop is updated via the EventListener mechanism, since the set of result entities changes with each character typed in by the user. Component HTML: - --- form jwcid=@Form span jwcid=@For -- iterate over ajax search results span jwcid=@RenderBlock block=ognl:block1 / span jwcid=@RenderBlock block=ognl:block2 / span jwcid=@RenderBlock block=ognl:block3 / /span /form Page HTML: - -- span jwcid=@VesselSuggest/span span jwcid=[EMAIL PROTECTED] ... /span span jwcid=[EMAIL PROTECTED] ... /span span jwcid=[EMAIL PROTECTED] ... /span Component Java Code: - private Block getBlockByName(String name) { for (Object e:getContainer().getComponents().values()) if (e instanceof Block ((Block)e).getId().equalsIgnoreCase(name)) return (Block)e; return null; } public Block getBlock1() { return getBlockByName(block1); } public Block getBlock2() { return getBlockByName(block2); } public Block getBlock3() { return getBlockByName(block3); } - is the form to be submitted asynchronously contained in the vesselSelect component or does it contain the component? The form is contained in the component. Hope this helps!! Regards Bastian - -- Bastian Voigt Neumünstersche Straße 4 20251 Hamburg telefon +49 - 40 - 67957171 mobil +49 - 179 - 4826359 -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGlPYN9+lAHD7HULYRAjP/AJ9r5Aex/PNS5oIVyQYVL/E4cArBzgCeMTMF PSv+fsz3YFkEym+OvUXcksM= =bz95 -END PGP SIGNATURE- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tap 4.1.2 Bug found ???
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Sorry, I have to correct my last post: The for loop is _NOT_ nested in the form! Component HTML: - --- form jwcid=@Form - input field /form span jwcid=@For -- iterate over ajax search results span jwcid=@RenderBlock block=ognl:block1 / span jwcid=@RenderBlock block=ognl:block2 / span jwcid=@RenderBlock block=ognl:block3 / /span - -- Bastian Voigt Neumünstersche Straße 4 20251 Hamburg telefon +49 - 40 - 67957171 mobil +49 - 179 - 4826359 - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGlPaT9+lAHD7HULYRArHSAJ97gPartnzwSTF2LTq/5oXNl5VrEgCggtEr 8UWGtY3KiRtmBnSTQH7+cyA= =cE6B -END PGP SIGNATURE- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tap 4.1.2 Bug found ???
I think I've seen an issue connected to EventListener-wiring being fixed. I'll look it up tomorrow if the problem persists. 2007/7/10, Bastian Voigt [EMAIL PROTECTED]: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi, before I report a bug on this, I would like to hear some opinions since the bug is maybe difficult to describe and/or reproduce. I have written an AJAX component which makes use of the new EventListener api. This component is called VesselSuggest and is used in two different pages, called EditAlert and ImageUpload. In 4.1.1 this same component used to work, but since we upgraded to 4.1.2, the component works only on one of the two pages (actually , and on the other I get an error: org.apache.hivemind.ApplicationRuntimeException: No component found in tree for EventListener binding with a matching component id of ImageUpload/vesselSuggest.vesselSuggest. classpath:/com/vesseltracker/web/components/alerting/EditAlert.html,line13 As you might have noticed, it tries to wire a component from the page ImageUpload to the page EditAlert which is obviously wrong. Is it OK to report this as a tapestry bug, or does anyone have other suggestions? The stacktrace: org.apache.tapestry.pageload.EventConnectionVisitor.wireElementFormEvents( EventConnectionVisitor.java:114) org.apache.tapestry.pageload.EventConnectionVisitor.visitComponent( EventConnectionVisitor.java:86) $IComponentVisitor_113b0099dbd.visitComponent($IComponentVisitor_113b0099dbd.java) $IComponentVisitor_113b0099dbe.visitComponent($IComponentVisitor_113b0099dbe.java) org.apache.tapestry.pageload.ComponentTreeWalker.walkComponentTree( ComponentTreeWalker.java:45) org.apache.tapestry.pageload.ComponentTreeWalker.walkComponentTree( ComponentTreeWalker.java:57) org.apache.tapestry.pageload.ComponentTreeWalker.walkComponentTree( ComponentTreeWalker.java:57) org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:655) $IPageLoader_113b0099da9.loadPage($IPageLoader_113b0099da9.java) $IPageLoader_113b0099daa.loadPage($IPageLoader_113b0099daa.java) org.apache.tapestry.pageload.PageSource.makeObject(PageSource.java:153) org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject( GenericKeyedObjectPool.java:797) org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:177) $IPageSource_113b0099d24.getPage($IPageSource_113b0099d24.java) org.apache.tapestry.engine.RequestCycle.loadPage(RequestCycle.java:239) org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:226) $MyAlertsPage_103.getEditAlertPage($MyAlertsPage_103.java) com.vesseltracker.web.pages.MyAlertsPage.onAlert(MyAlertsPage.java:17) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java :39) sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMethod( ListenerMethodInvokerImpl.java:276) org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod (ListenerMethodInvokerImpl.java:221) org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke( ListenerMethodInvokerImpl.java:157) org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod (ListenerMethodInvokerImpl.java:80) org.apache.tapestry.listener.SyntheticListener.actionTriggered( SyntheticListener.java:52) org.apache.tapestry.binding.ListenerMethodBinding.actionTriggered( ListenerMethodBinding.java:77) org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener( ListenerInvokerTerminator.java:50) $ListenerInvoker_113b0099d1a.invokeListener($ListenerInvoker_113b0099d1a.java) org.apache.tapestry.link.DirectLink.trigger(DirectLink.java:101) org.apache.tapestry.engine.DirectService.triggerComponent( DirectService.java:166) org.apache.tapestry.engine.DirectService.service(DirectService.java:142) $IEngineService_113b0099d97.service($IEngineService_113b0099d97.java) org.apache.tapestry.services.impl.EngineServiceOuterProxy.service( EngineServiceOuterProxy.java:72) org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:237) org.apache.tapestry.services.impl.InvokeEngineTerminator.service( InvokeEngineTerminator.java:54) $WebRequestServicer_113b0099d6c.service($WebRequestServicer_113b0099d6c.java) $WebRequestServicer_113b0099d68.service($WebRequestServicer_113b0099d68.java) org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service (WebRequestServicerPipelineBridge.java:61) $ServletRequestServicer_113b0099d4e.service($ServletRequestServicer_113b0099d4e.java) org.apache.tapestry.request.DecodedRequestInjector.service( DecodedRequestInjector.java:55) $ServletRequestServicerFilter_113b0099d4a.service($ServletRequestServicerFilter_113b0099d4a.java) $ServletRequestServicer_113b0099d50.service($ServletRequestServicer_113b0099d50.java)