Hi Uli,

The VM argument doesn't help. I use tapestry 5.1.0.5 .

I tried to reproduce the bug in a empty app without luck. 
It's hard, because I don't know were I am looking for.
In my main app I can still reproduce it and I also noticed that the
exception is dependent by the method parameter type. If I use "void
getData(MyObject...o)" the exception occurs and if I change MyObject to
Integer or String it doesn't occur.

Every hint in which direction to search is welcome.

Joris

java.lang.LinkageError: loader constraint violation: when resolving
interface method
"de.ida.kv.services.VarargsTestService.bla([Lde/ida/kv/base/hibernate/MyObject;)V"
 the class loader (instance of 
org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl$PackageAwareLoader)
 of the current class, de/ida/kv/pages/Login, and the class loader (instance of 
org/mortbay/jetty/webapp/WebAppClassLoader) for resolved class, 
de/ida/kv/services/VarargsTestService, have different Class objects for the 
type [Lde/ida/kv/base/hibernate/MyObject; used in the signature
        at de.ida.kv.pages.Login.beginRender(Login.java:32)
        at de.ida.kv.pages.Login.beginRender(Login.java)
        at org.apache.tapestry5.internal.structure.ComponentPageElementImpl
$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:206)
        at org.apache.tapestry5.internal.structure.ComponentPageElementImpl
$AbstractPhase.run(ComponentPageElementImpl.java:164)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:933)
        at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access
$400(ComponentPageElementImpl.java:49)
        at org.apache.tapestry5.internal.structure.ComponentPageElementImpl
$AbstractPhase.callback(ComponentPageElementImpl.java:159)
        at org.apache.tapestry5.internal.structure.ComponentPageElementImpl
$BeginRenderPhase.render(ComponentPageElementImpl.java:211)
        at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:74)
        at
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:121)
        at
$PageRenderQueue_12a1973bcae.render($PageRenderQueue_12a1973bcae.java)
        at
$PageRenderQueue_12a1973bca5.render($PageRenderQueue_12a1973bca5.java)
        at
org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
        at org.apache.tapestry5.services.TapestryModule
$27.renderMarkup(TapestryModule.java:1748)
        at
$MarkupRenderer_12a1973bcb0.renderMarkup($MarkupRenderer_12a1973bcb0.java)
        at org.apache.tapestry5.services.TapestryModule
$26.renderMarkup(TapestryModule.java:1732)
        at
$MarkupRenderer_12a1973bcb0.renderMarkup($MarkupRenderer_12a1973bcb0.java)
        at org.apache.tapestry5.services.TapestryModule
$25.renderMarkup(TapestryModule.java:1714)
        at
$MarkupRenderer_12a1973bcb0.renderMarkup($MarkupRenderer_12a1973bcb0.java)
        at org.apache.tapestry5.services.TapestryModule
$24.renderMarkup(TapestryModule.java:1700)
        at
$MarkupRenderer_12a1973bcb0.renderMarkup($MarkupRenderer_12a1973bcb0.java)
        at org.apache.tapestry5.services.TapestryModule
$23.renderMarkup(TapestryModule.java:1681)
        at
$MarkupRenderer_12a1973bcb0.renderMarkup($MarkupRenderer_12a1973bcb0.java)
        at org.apache.tapestry5.services.TapestryModule
$22.renderMarkup(TapestryModule.java:1662)
        at
$MarkupRenderer_12a1973bcb0.renderMarkup($MarkupRenderer_12a1973bcb0.java)
        at
$MarkupRenderer_12a1973bcad.renderMarkup($MarkupRenderer_12a1973bcad.java)
        at
org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64)
        at
$PageMarkupRenderer_12a1973bcaa.renderPageMarkup($PageMarkupRenderer_12a1973bcaa.java)
        at
org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:61)
        at
$PageResponseRenderer_12a1973bc49.renderPageResponse($PageResponseRenderer_12a1973bc49.java)
        at
org.tynamo.security.ShiroExceptionHandler.handle(ShiroExceptionHandler.java:107)
        at org.tynamo.security.services.SecurityModule
$3.advise(SecurityModule.java:249)
        at
org.apache.tapestry5.ioc.internal.services.AbstractInvocation.proceed(AbstractInvocation.java:121)
        at
$RequestExceptionHandler_12a1973bc4b.handleRequestException($RequestExceptionHandler_12a1973bc4b.java)
        at
$RequestExceptionHandler_12a1973bc2f.handleRequestException($RequestExceptionHandler_12a1973bc2f.java)
        at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:42)
        at
$RequestHandler_12a1973bc31.service($RequestHandler_12a1973bc31.java)
        at org.apache.tapestry5.services.TapestryModule
$4.service(TapestryModule.java:778)
        at
$RequestHandler_12a1973bc31.service($RequestHandler_12a1973bc31.java)
        at org.apache.tapestry5.services.TapestryModule
$3.service(TapestryModule.java:767)
        at
$RequestHandler_12a1973bc31.service($RequestHandler_12a1973bc31.java)
        at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
        at
$RequestHandler_12a1973bc31.service($RequestHandler_12a1973bc31.java)
        at de.ida.kv.services.AppModule$1.service(AppModule.java:162)
        at $RequestFilter_12a1973bc2d.service($RequestFilter_12a1973bc2d.java)
        at
$RequestHandler_12a1973bc31.service($RequestHandler_12a1973bc31.java)
        at org.apache.tapestry5.internal.services.CheckForUpdatesFilter
$2.invoke(CheckForUpdatesFilter.java:90)
        at org.apache.tapestry5.internal.services.CheckForUpdatesFilter
$2.invoke(CheckForUpdatesFilter.java:81)
        at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
        at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
        at
$RequestHandler_12a1973bc31.service($RequestHandler_12a1973bc31.java)
        at
$RequestHandler_12a1973bc25.service($RequestHandler_12a1973bc25.java)
        at org.apache.tapestry5.services.TapestryModule
$HttpServletRequestHandlerTerminator.service(TapestryModule.java:197)
        at
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
        at
$HttpServletRequestHandler_12a1973bc27.service($HttpServletRequestHandler_12a1973bc27.java)
        at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
        at
$HttpServletRequestFilter_12a1973bc23.service($HttpServletRequestFilter_12a1973bc23.java)
        at
$HttpServletRequestHandler_12a1973bc27.service($HttpServletRequestHandler_12a1973bc27.java)
        at org.tynamo.security.filter.SecurityRequestFilter
$2.doFilter(SecurityRequestFilter.java:167)
        at
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:359)
        at org.apache.shiro.web.servlet.AbstractShiroFilter
$1.call(AbstractShiroFilter.java:275)
        at
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
        at
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
        at
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:343)
        at
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:272)
        at
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:83)
        at
org.tynamo.security.filter.SecurityRequestFilter.service(SecurityRequestFilter.java:162)
        at
$HttpServletRequestFilter_12a1973bc24.service($HttpServletRequestFilter_12a1973bc24.java)
        at
$HttpServletRequestHandler_12a1973bc27.service($HttpServletRequestHandler_12a1973bc27.java)
        at org.apache.tapestry5.services.TapestryModule
$2.service(TapestryModule.java:726)
        at
$HttpServletRequestHandler_12a1973bc27.service($HttpServletRequestHandler_12a1973bc27.java)
        at
$HttpServletRequestHandler_12a1973bc21.service($HttpServletRequestHandler_12a1973bc21.java)
        at
org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1084)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
        at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
        at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
        at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
        at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
        at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:828)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
        at org.mortbay.thread.BoundedThreadPool
$PoolThread.run(BoundedThreadPool.java:450)

Am Mittwoch, den 28.07.2010, 10:49 +0200 schrieb Ulrich Stärk:
> I don't think so, I can't reproduce it in 5.2.0-SNAPSHOT with a simple 
> service concatenating a 
> variable list of string arguments. When running Jetty please try to give the 
> -Dorg.mortbay.jetty.webapp.parentLoaderPriority=true VM argument. It would 
> also be helpful to know 
> which version of Tapestry you are using.
> 
> Uli
> 
> On 27.07.2010 17:58, Howard Lewis Ship wrote:
> > Interesting; probably a bug, possibly in Javassist.
> >
> > On Tue, Jul 27, 2010 at 8:44 AM, joris<jogo...@web.de>  wrote:
> >> Hi,
> >>
> >> if I implement a method with varargs in a tapestry service and try then
> >> to call it without parameters, I get the following exception:
> >>
> >> java.lang.LinkageError: loader constraint violation: when resolving
> >> interface method "..." the class loader (instance of
> >> org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl
> >> $PackageAwareLoader) of the current class, ..., and the class loader
> >> (instance of org/mortbay/jetty/webapp/WebAppClassLoader) for resolved
> >> class, ..., have different Class objects for the type ... used in the
> >> signature
> >>
> >> Example:
> >>
> >> public interface MyService{
> >>         Data getData(Permission...permissions);
> >> }
> >>
> >> public class MyPage{
> >>
> >> @Inject
> >> private MyService service;
> >>
> >> void onActivate(){
> >>         service.getData();
> >> }
> >> }
> >>
> >> It looks like the loader does not handle this special case.
> >> Is this a bug or is there a reason why it behaves like that?
> >>
> >> Joris
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >> For additional commands, e-mail: users-h...@tapestry.apache.org
> >>
> >>
> >
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to