Rickard,

The 'actual' recursion of the stack trace is;

        at 
org.qi4j.cornercase.covariantReturn.SomeLogicMixin.numbers(SomeLogicMixin.java:15)
        at 
org.qi4j.cornercase.covariantReturn.SomeLogicMixin$$EnhancerByCGLIB$$6443530a.CGLIB$numbers$1(<generated>)
        at 
org.qi4j.cornercase.covariantReturn.SomeLogicMixin$$EnhancerByCGLIB$$6443530a$$FastClassByCGLIB$$5e0d1c63.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
        at 
org.qi4j.runtime.composite.TypedMixinInvocationHandler.invoke(TypedMixinInvocationHandler.java:40)
        at 
org.qi4j.runtime.composite.CompositeMethodInstance.invoke(CompositeMethodInstance.java:59)
        at 
org.qi4j.runtime.composite.TransientInstance.invoke(TransientInstance.java:127)
        at 
org.qi4j.runtime.composite.CompositeMethodModel.invoke(CompositeMethodModel.java:148)
        at 
org.qi4j.runtime.composite.CompositeMethodsModel.invoke(CompositeMethodsModel.java:113)
        at 
org.qi4j.runtime.composite.AbstractCompositeModel.invoke(AbstractCompositeModel.java:110)
        at 
org.qi4j.runtime.composite.TransientInstance.invokeProxy(TransientInstance.java:73)
        at 
org.qi4j.runtime.composite.ThisCompositeInvoker.intercept(ThisCompositeInvoker.java:37)
        at 
org.qi4j.cornercase.covariantReturn.SomeLogicMixin$$EnhancerByCGLIB$$6443530a.numbers(<generated>)
        at 
org.qi4j.cornercase.covariantReturn.SomeLogicMixin.numbers(SomeLogicMixin.java:15)

This is in case you can spot the problem "just like that". Meanwhile,
I'll keep digging.


2009/10/2 Łukasz Zieliński <[email protected]>:
> Hello,
>  I've been reading the list for some time now and decided to give Qi4j a
> try. While playing around with services I found following issue:
> service interface is defined as:
> interface SomeLogic {
>     Collection<Integer> getNumbers();
> }
> and mixin is implemented as:
> class SomeLogicMixin implements SomeLogic {
>     public List<Integer> getNumbers() {
>         ....
>     }
> }
> When I obtain service from ServiceFinder a call to getNumbers() causes
> stackoverflow. When implementation signature matches interface everything is
> working fine.
> Using  IDEA Debug run configuration (exception from normal Run is not really
> usable) I narrowed down culprits to following lines:
> Exception in thread "main" java.lang.StackOverflowError
> at
> org.qi4j.runtime.composite.TypedMixinInvocationHandler.invoke(TypedMixinInvocationHandler.java:52)
> at
> org.qi4j.runtime.composite.CompositeMethodInstance.invoke(CompositeMethodInstance.java:59)
> I looks like invocation handler gets called over and over.
> Attached is a simple test application.
> Cheers,
>  Lukasz
> _______________________________________________
> qi4j-dev mailing list
> [email protected]
> http://lists.ops4j.org/mailman/listinfo/qi4j-dev
>
>



-- 
Niclas Hedhman, Software Developer
http://www.qi4j.org - New Energy for Java

I  live here; http://tinyurl.com/2qq9er
I  work here; http://tinyurl.com/2ymelc
I relax here; http://tinyurl.com/2cgsug

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to