groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paolo Di Tommaso <paolo.ditomm...@gmail.com>
Subject Re: Joint build exception
Date Wed, 21 Oct 2015 07:24:50 GMT
Hi Jochen,


Thanks a lot for pointing out that. You were right, there's was a problem
with the session object. More precisely it was created by another test and
erroneously retained (as a singleton reference) in that test causing it to
fail.


Cheers,
Paolo





On Tue, Oct 20, 2015 at 9:54 AM, Jochen Theodorou <blackdrag@gmx.org> wrote:

> On 19.10.2015 22:58, Paolo Di Tommaso wrote:
>
>> Dear all,
>>
>> I'm getting a strange exception for both 2.3.X
>> <
>> http://ci.groovy-lang.org/viewType.html?buildTypeId=JointBuilds_Nextflow_Groovy23xJointBuil
>> >
>> and 2.4.X
>> <
>> http://ci.groovy-lang.org/viewType.html?buildTypeId=JointBuilds_Nextflow_Groovy24xJointBuild>
>> Groovy
>> joint builds for the nextflow project.
>>
>> The exception reports the following stack trace:
>>
>>     org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot
>> cast object 'Mock for type 'ISession'' with class 'com.sun.proxy.$Proxy39'
>> to class 'nextflow.Session'
>>          at
>> nextflow.processor.PublishDir.createExecutor(PublishDir.groovy:298)
>>          at nextflow.processor.PublishDir.apply(PublishDir.groovy:192)
>>          at nextflow.processor.PublishDirTest.should copy output
>> files(PublishDirTest.groovy:145)
>>
>>
>> The line throwing the error is at this link:
>>
>>
>> https://github.com/nextflow-io/nextflow/blob/master/src/main/groovy/nextflow/processor/PublishDir.groovy#L298
>>
>> The problem is that I'm unable to replicate the issue on any of my usual
>> test environments (Mac/Oracle Java 7, Travis/Oracle Java 7 and 8,
>> CircleCI/OpenJDK 7)
>>
>> I'm wondering if the problem can be related to any recent change to the
>> Groovy code base.
>>
>
> Nothing comes to my mind right now. Of course you could be more sure by
> using older Groovy versions.
>
> Anyway, I don't know what kind of object is supposed to be stored in
> nextflow.Global.session, but from the trace I can make the assumption, that
> you are actually in testing (and your CI links confirm that) and that
> session has been mocked on basis of ISession. Now while Session is an
> ISession as well, doesn't mean that the mock would be a Session. Since the
> line has a type conversion using "as", I am wondering if some custom action
> is supposed to take place here. So much depends on how the mock was
> created...
>
> but I did not look deep enough into to to conclude from the spock test in
>
> https://github.com/nextflow-io/nextflow/blob/master/src/test/groovy/nextflow/processor/PublishDirTest.groovy#L145
> to the actual mocking of Global.session
>
> bye blackdrag
>
>
>

Mime
View raw message