Problems with WANoDuplicateUuidsTest and Magritte image

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Problems with WANoDuplicateUuidsTest and Magritte image

Martin Sandiford
Hi Folks,

If I download the latest Magritte 2 image from here:
http://jenkins.lukas-renggli.ch/view/Pipeline/job/Magritte%202/ and
run the WANoDuplicateUuidsTest, it runs forever.

Well at least for an hour on my Mac before I gave up :)

This doesn't happen with the Seaside 3.0.7 one-click or image, so it
seems like something is happening while loading Magritte.

Is this a known issue?

Cheers,
Martin

P.S. Thanks for the awesome framework that Seaside is!
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Problems with WANoDuplicateUuidsTest and Magritte image

Lukas Renggli
Good catch!

Normally this test is run directly after Seaside is loaded [1], where
it passes. It seems to loop on 'Magritte-Seaside' though. Looks like
the ancestry there is somehow broken :-(

+philippe.marschall

I wonder why this test duplicates the (complicated) logic to traverse
package ancestries instead of using #topologicalAncestors or
#withBreadthFirstAncestry? These two methods would work, even on the
broken 'Magritte-Seaside'.

Lukas

[1]: http://jenkins.lukas-renggli.ch/view/Pipeline/job/Seaside%203.0/lastCompletedBuild/testReport/Seaside.Tests.Pharo.Development/WANoDuplicateUuidsTest/

On 16 April 2012 01:41, Martin Sandiford <[hidden email]> wrote:

> Hi Folks,
>
> If I download the latest Magritte 2 image from here:
> http://jenkins.lukas-renggli.ch/view/Pipeline/job/Magritte%202/ and
> run the WANoDuplicateUuidsTest, it runs forever.
>
> Well at least for an hour on my Mac before I gave up :)
>
> This doesn't happen with the Seaside 3.0.7 one-click or image, so it
> seems like something is happening while loading Magritte.
>
> Is this a known issue?
>
> Cheers,
> Martin
>
> P.S. Thanks for the awesome framework that Seaside is!
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside



--
Lukas Renggli
www.lukas-renggli.ch
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Problems with WANoDuplicateUuidsTest and Magritte image

Philippe Marschall
On Mon, Apr 16, 2012 at 8:48 AM, Lukas Renggli <[hidden email]> wrote:

> Good catch!
>
> Normally this test is run directly after Seaside is loaded [1], where
> it passes. It seems to loop on 'Magritte-Seaside' though. Looks like
> the ancestry there is somehow broken :-(
>
> +philippe.marschall
>
> I wonder why this test duplicates the (complicated) logic to traverse
> package ancestries instead of using #topologicalAncestors or
> #withBreadthFirstAncestry? These two methods would work, even on the
> broken 'Magritte-Seaside'.

I'll have a look.

Cheers
Philippe
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Problems with WANoDuplicateUuidsTest and Magritte image

Lukas Renggli
I believe the following replacement would test the same with much less
code and without falling into the infinite loop trap:

testNoDuplicateUuids
        | workingCopies versionAncestries uuidsToVersion |
        workingCopies := WADevelopment allPackages
                collect: [ :each | WADevelopment workingCopyFor: each ].
        versionAncestries := workingCopies
                gather: [ :each | each ancestry breadthFirstAncestors ].
        uuidsToVersion := Dictionary new: versionAncestries size.
        versionAncestries do: [ :version |
                (uuidsToVersion includesKey: version id name)
                        ifTrue: [ self signalFailure: version name , ' and ' ,
(uuidsToVersion at: version id name) name , ' have duplicated UUIDs'
].
                uuidsToVersion at: version id name put: version ]

Lukas

On 16 April 2012 08:57, Philippe Marschall <[hidden email]> wrote:

> On Mon, Apr 16, 2012 at 8:48 AM, Lukas Renggli <[hidden email]> wrote:
>> Good catch!
>>
>> Normally this test is run directly after Seaside is loaded [1], where
>> it passes. It seems to loop on 'Magritte-Seaside' though. Looks like
>> the ancestry there is somehow broken :-(
>>
>> +philippe.marschall
>>
>> I wonder why this test duplicates the (complicated) logic to traverse
>> package ancestries instead of using #topologicalAncestors or
>> #withBreadthFirstAncestry? These two methods would work, even on the
>> broken 'Magritte-Seaside'.
>
> I'll have a look.
>
> Cheers
> Philippe



--
Lukas Renggli
www.lukas-renggli.ch
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Problems with WANoDuplicateUuidsTest and Magritte image

Lukas Renggli
This is the same problem in Seaside 3.0 and 3.1.

I've created http://code.google.com/p/seaside/issues/detail?id=721

Lukas


On 16 April 2012 09:05, Lukas Renggli <[hidden email]> wrote:

> I believe the following replacement would test the same with much less
> code and without falling into the infinite loop trap:
>
> testNoDuplicateUuids
>        | workingCopies versionAncestries uuidsToVersion |
>        workingCopies := WADevelopment allPackages
>                collect: [ :each | WADevelopment workingCopyFor: each ].
>        versionAncestries := workingCopies
>                gather: [ :each | each ancestry breadthFirstAncestors ].
>        uuidsToVersion := Dictionary new: versionAncestries size.
>        versionAncestries do: [ :version |
>                (uuidsToVersion includesKey: version id name)
>                        ifTrue: [ self signalFailure: version name , ' and ' ,
> (uuidsToVersion at: version id name) name , ' have duplicated UUIDs'
> ].
>                uuidsToVersion at: version id name put: version ]
>
> Lukas
>
> On 16 April 2012 08:57, Philippe Marschall <[hidden email]> wrote:
>> On Mon, Apr 16, 2012 at 8:48 AM, Lukas Renggli <[hidden email]> wrote:
>>> Good catch!
>>>
>>> Normally this test is run directly after Seaside is loaded [1], where
>>> it passes. It seems to loop on 'Magritte-Seaside' though. Looks like
>>> the ancestry there is somehow broken :-(
>>>
>>> +philippe.marschall
>>>
>>> I wonder why this test duplicates the (complicated) logic to traverse
>>> package ancestries instead of using #topologicalAncestors or
>>> #withBreadthFirstAncestry? These two methods would work, even on the
>>> broken 'Magritte-Seaside'.
>>
>> I'll have a look.
>>
>> Cheers
>> Philippe
>
>
>
> --
> Lukas Renggli
> www.lukas-renggli.ch



--
Lukas Renggli
www.lukas-renggli.ch
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside