Getting a functionning unstable image

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

Getting a functionning unstable image

Nicolas Cellier
Hi guys,
Updating Pharo from the update stream failed many times and keep on
failing for me...
But maybe it's just me...

So I picked the unstable link from the web site
(http://www.pharo-project.org/pharo-download/unstable-core)
This drives me to a 13091 image.
The first thing I do is select the 'update system' menu...
Err, it fails... It seems related to broken sources...
Well the image points to which source file ? can't remember the
incantation, let just browse it...
Err, no source, I can't browse.
No matter, I set the browser to decompile mode...
Err, this does not work, I still can't browse code.
Hmm very bad starting experience, I know what unstable means, but I
was dreaming of other words like continuous development.

So ket's open an older image (my own updated 1.2) to find the incantations.
(Scanner>>#scanTokens:) fileIndex -> 1, so it seems that the source
file is corrupted.
(SourceFiles at: 1) -> MultiByteFileStream:
'/Users/nicolas/Smalltalk/Squeak/pharo/PharoV10.sources'

Well, for my previous Pharo images, this very file works !
How damned can be the file be changed and the version not incremented ?

Is it me who did something wrong ?
Or the update process somewhere did condense the sources ?
Or did someone elese messed with the sources ?
Is it a known problem ?

Any help appreciated.

Nicolas

Reply | Threaded
Open this post in threaded view
|

Re: Getting a functionning unstable image

Marcus Denker-4
Hello,



> Hi guys,
> Updating Pharo from the update stream failed many times and keep on
> failing for me...
> But maybe it's just me...
>
Updating never failied for me... (Hudson not,either).
(e.g. I can download the 13091 and it updates without error)

> So I picked the unstable link from the web site
> (http://www.pharo-project.org/pharo-download/unstable-core)
> This drives me to a 13091 image.
> The first thing I do is select the 'update system' menu...
> Err, it fails... It seems related to broken sources...
> Well the image points to which source file ? can't remember the
> incantation, let just browse it...
> Err, no source, I can't browse.
> No matter, I set the browser to decompile mode...
> Err, this does not work, I still can't browse code.
> Hmm very bad starting experience, I know what unstable means, but I
> was dreaming of other words like continuous development.
>

I have not seen that problem... I will investigate.

> So ket's open an older image (my own updated 1.2) to find the incantations.
> (Scanner>>#scanTokens:) fileIndex -> 1, so it seems that the source
> file is corrupted.
> (SourceFiles at: 1) -> MultiByteFileStream:
> '/Users/nicolas/Smalltalk/Squeak/pharo/PharoV10.sources'
>
> Well, for my previous Pharo images, this very file works !
> How damned can be the file be changed and the version not incremented ?
>

It should not be changed.

> Is it me who did something wrong ?
> Or the update process somewhere did condense the sources ?

I hope not!
> Or did someone elese messed with the sources ?
> Is it a known problem ?
>

With Igor we saw some problem when decompiling code. (remove sources).

What we should do, too is to invest into the regression tester to acutally test
things like if the changes and sources are in a good shape, if we can condense,
write new sources, all these things...


--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


Reply | Threaded
Open this post in threaded view
|

Re: Getting a functionning unstable image

Stéphane Ducasse
In reply to this post by Nicolas Cellier
Hi nicolas

this is strange because I always update all the updates from the latest unstable published by marcus
(so yes it can be long) and I never get this error. May be you have a broken sources files or something like that.
I update often multiple times especially when I integrate changes to make sure that I do not a strange changes around.
and I never get such error.
What is your OS?

Stef

On Mar 21, 2011, at 9:53 PM, Nicolas Cellier wrote:

> Hi guys,
> Updating Pharo from the update stream failed many times and keep on
> failing for me...
> But maybe it's just me...
>
> So I picked the unstable link from the web site
> (http://www.pharo-project.org/pharo-download/unstable-core)
> This drives me to a 13091 image.
> The first thing I do is select the 'update system' menu...
> Err, it fails... It seems related to broken sources...
> Well the image points to which source file ? can't remember the
> incantation, let just browse it...
> Err, no source, I can't browse.
> No matter, I set the browser to decompile mode...
> Err, this does not work, I still can't browse code.
> Hmm very bad starting experience, I know what unstable means, but I
> was dreaming of other words like continuous development.
>
> So ket's open an older image (my own updated 1.2) to find the incantations.
> (Scanner>>#scanTokens:) fileIndex -> 1, so it seems that the source
> file is corrupted.
> (SourceFiles at: 1) -> MultiByteFileStream:
> '/Users/nicolas/Smalltalk/Squeak/pharo/PharoV10.sources'
>
> Well, for my previous Pharo images, this very file works !
> How damned can be the file be changed and the version not incremented ?
>
> Is it me who did something wrong ?
> Or the update process somewhere did condense the sources ?
> Or did someone elese messed with the sources ?
> Is it a known problem ?
>
> Any help appreciated.
>
> Nicolas
>


Reply | Threaded
Open this post in threaded view
|

Re: Getting a functionning unstable image

Nicolas Cellier
I'm inquiring and it seems related to bad handling of author/timestamps.
Here:

(CompiledMethod allInstances select: [:e | e fileIndex = 1])
detectMax: [:e | e filePosition]
(ZipWriteStream class>>#regressionTestFrom: "a
CompiledMethod(353370112)") filePosition 16234210

(SourceFiles at: 1) size 16249263

So, the highest position still in the source file.
Let's see the lowest:

(CompiledMethod allInstances select: [:e | e fileIndex = 1])
detectMin: [:e | e filePosition]
(AColorSelectorMorph>>#color: "a CompiledMethod(894697472)") filePosition 468

Now, let us see what is in the source file:

(SourceFiles at: 1) position: 0; next: 468
 '''From Pharo1.0beta of ''''18 October 2009'''' [Latest update:
#10487] on 19 October 2009 at 6:18:53 pm''!
BracketSliderMorph subclass: #AColorSelectorMorph
        instanceVariableNames: ''''
        classVariableNames: ''''
        poolDictionaries: ''''
        category: ''Polymorph-Widgets''!
!AColorSelectorMorph commentStamp: ''gvc 5/18/2007 13:52'' prior: 0!
ColorComponentSelector showing an alpha gradient over a hatched background.!


!AColorSelectorMorph methodsFor: ''accessing'' stamp: ''gvc 9/3/2009 '

(SourceFiles at: 1) next: 100.
'13:43''!
color: aColor
        "Set the gradient colors."
       
        super color: aColor asNontranslucentColor.
        sel'

Yeah, that's what I get in the browser 13:43, it's not the source,
it's the time...`

In 1.2:
(AColorSelectorMorph>>#color: ) filePosition 476

(ZipWriteStream class>>#regressionTestFrom: ) filePosition 16248101

So, someone broke my pointers, or someone have a different sources.

Nicolas

2011/3/21 Stéphane Ducasse <[hidden email]>:

> Hi nicolas
>
> this is strange because I always update all the updates from the latest unstable published by marcus
> (so yes it can be long) and I never get this error. May be you have a broken sources files or something like that.
> I update often multiple times especially when I integrate changes to make sure that I do not a strange changes around.
> and I never get such error.
> What is your OS?
>
> Stef
>
> On Mar 21, 2011, at 9:53 PM, Nicolas Cellier wrote:
>
>> Hi guys,
>> Updating Pharo from the update stream failed many times and keep on
>> failing for me...
>> But maybe it's just me...
>>
>> So I picked the unstable link from the web site
>> (http://www.pharo-project.org/pharo-download/unstable-core)
>> This drives me to a 13091 image.
>> The first thing I do is select the 'update system' menu...
>> Err, it fails... It seems related to broken sources...
>> Well the image points to which source file ? can't remember the
>> incantation, let just browse it...
>> Err, no source, I can't browse.
>> No matter, I set the browser to decompile mode...
>> Err, this does not work, I still can't browse code.
>> Hmm very bad starting experience, I know what unstable means, but I
>> was dreaming of other words like continuous development.
>>
>> So ket's open an older image (my own updated 1.2) to find the incantations.
>> (Scanner>>#scanTokens:) fileIndex -> 1, so it seems that the source
>> file is corrupted.
>> (SourceFiles at: 1) -> MultiByteFileStream:
>> '/Users/nicolas/Smalltalk/Squeak/pharo/PharoV10.sources'
>>
>> Well, for my previous Pharo images, this very file works !
>> How damned can be the file be changed and the version not incremented ?
>>
>> Is it me who did something wrong ?
>> Or the update process somewhere did condense the sources ?
>> Or did someone elese messed with the sources ?
>> Is it a known problem ?
>>
>> Any help appreciated.
>>
>> Nicolas
>>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Getting a functionning unstable image

Nicolas Cellier
Hmm, I downloaded
https://gforge.inria.fr/frs/download.php/24391/PharoV10.sources.zip
and it seems different.

'From Pharo1.0beta of 16 May 2008 [Latest update: #10487] on 19
October 2009 at 4:57:33 pm'!
BracketSliderMorph subclass: #AColorSelectorMorph
        instanceVariableNames: ''
        classVariableNames: ''
        poolDictionaries: ''
        category: 'Polymorph-Widgets'!
!AColorSelectorMorph commentStamp: 'gvc 5/18/2007 13:52' prior: 0!
ColorComponentSelector showing an alpha gradient over a hatched background.!


!AColorSelectorMorph methodsFor: 'accessing' stamp: 'gvc 9/3/2009 13:43'!
color: aColor
        "Set the gradient colors."
       
        super color: aColor asNontranslucentColor.
        self fillStyle: self defaultFillStyle! !


So it was my fault finally: it's because I was too early, and started
from Pharo0.x, then applied this automated condenseSources:


Name: ScriptLoader-AdrianLienhard.1122
Author: AdrianLienhard
Time: 19 October 2009, 3:16:59 pm
UUID: 320cde37-392d-44d8-8d29-8c28bcbc552d
Ancestors: ScriptLoader-AdrianLienhard.1121

Condense sources


ScriptLoader>>update10488
        "self new update10488"
        self withUpdateLog: 'Condense sources'.
        self script566.
        Smalltalk condenseSources.
        self flushCaches.


That explains why I can never upgrade from a newer image...
I brought my 0.x image up to 1.2 by some tricky manual MC loading
and/or selective loading.
But now, things shall be easier :)

Nicolas

2011/3/21 Nicolas Cellier <[hidden email]>:

> I'm inquiring and it seems related to bad handling of author/timestamps.
> Here:
>
> (CompiledMethod allInstances select: [:e | e fileIndex = 1])
> detectMax: [:e | e filePosition]
> (ZipWriteStream class>>#regressionTestFrom: "a
> CompiledMethod(353370112)") filePosition 16234210
>
> (SourceFiles at: 1) size 16249263
>
> So, the highest position still in the source file.
> Let's see the lowest:
>
> (CompiledMethod allInstances select: [:e | e fileIndex = 1])
> detectMin: [:e | e filePosition]
> (AColorSelectorMorph>>#color: "a CompiledMethod(894697472)") filePosition 468
>
> Now, let us see what is in the source file:
>
> (SourceFiles at: 1) position: 0; next: 468
>  '''From Pharo1.0beta of ''''18 October 2009'''' [Latest update:
> #10487] on 19 October 2009 at 6:18:53 pm''!
> BracketSliderMorph subclass: #AColorSelectorMorph
>        instanceVariableNames: ''''
>        classVariableNames: ''''
>        poolDictionaries: ''''
>        category: ''Polymorph-Widgets''!
> !AColorSelectorMorph commentStamp: ''gvc 5/18/2007 13:52'' prior: 0!
> ColorComponentSelector showing an alpha gradient over a hatched background.!
>
>
> !AColorSelectorMorph methodsFor: ''accessing'' stamp: ''gvc 9/3/2009 '
>
> (SourceFiles at: 1) next: 100.
> '13:43''!
> color: aColor
>        "Set the gradient colors."
>
>        super color: aColor asNontranslucentColor.
>        sel'
>
> Yeah, that's what I get in the browser 13:43, it's not the source,
> it's the time...`
>
> In 1.2:
> (AColorSelectorMorph>>#color: ) filePosition 476
>
> (ZipWriteStream class>>#regressionTestFrom: ) filePosition 16248101
>
> So, someone broke my pointers, or someone have a different sources.
>
> Nicolas
>
> 2011/3/21 Stéphane Ducasse <[hidden email]>:
>> Hi nicolas
>>
>> this is strange because I always update all the updates from the latest unstable published by marcus
>> (so yes it can be long) and I never get this error. May be you have a broken sources files or something like that.
>> I update often multiple times especially when I integrate changes to make sure that I do not a strange changes around.
>> and I never get such error.
>> What is your OS?
>>
>> Stef
>>
>> On Mar 21, 2011, at 9:53 PM, Nicolas Cellier wrote:
>>
>>> Hi guys,
>>> Updating Pharo from the update stream failed many times and keep on
>>> failing for me...
>>> But maybe it's just me...
>>>
>>> So I picked the unstable link from the web site
>>> (http://www.pharo-project.org/pharo-download/unstable-core)
>>> This drives me to a 13091 image.
>>> The first thing I do is select the 'update system' menu...
>>> Err, it fails... It seems related to broken sources...
>>> Well the image points to which source file ? can't remember the
>>> incantation, let just browse it...
>>> Err, no source, I can't browse.
>>> No matter, I set the browser to decompile mode...
>>> Err, this does not work, I still can't browse code.
>>> Hmm very bad starting experience, I know what unstable means, but I
>>> was dreaming of other words like continuous development.
>>>
>>> So ket's open an older image (my own updated 1.2) to find the incantations.
>>> (Scanner>>#scanTokens:) fileIndex -> 1, so it seems that the source
>>> file is corrupted.
>>> (SourceFiles at: 1) -> MultiByteFileStream:
>>> '/Users/nicolas/Smalltalk/Squeak/pharo/PharoV10.sources'
>>>
>>> Well, for my previous Pharo images, this very file works !
>>> How damned can be the file be changed and the version not incremented ?
>>>
>>> Is it me who did something wrong ?
>>> Or the update process somewhere did condense the sources ?
>>> Or did someone elese messed with the sources ?
>>> Is it a known problem ?
>>>
>>> Any help appreciated.
>>>
>>> Nicolas
>>>
>>
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Getting a functionning unstable image

Marcus Denker-4
In reply to this post by Nicolas Cellier

On Mar 21, 2011, at 11:19 PM, Nicolas Cellier wrote:
>
>
> So it was my fault finally: it's because I was too early, and started
> from Pharo0.x, then applied this automated condenseSources:
>
Oh.
>
> That explains why I can never upgrade from a newer image...
> I brought my 0.x image up to 1.2 by some tricky manual MC loading
> and/or selective loading.
> But now, things shall be easier :)
>

Yes... the thing is that everythign that we do not test will not work. We
do not test updating 0.x --> 1.2. It *will* be broken.
(And there is the question if it makes sense to keep these things working.
I vote for investing into a declarative bootstrap instead, far more important)

        Marcus


--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


Reply | Threaded
Open this post in threaded view
|

Re: Getting a functionning unstable image

Stéphane Ducasse
In reply to this post by Nicolas Cellier
I tried to condense the changes and I got an wonderful syntax error that I cannot access.
So probably something was broken in the changes. But this is not a surprise. The more I read the internal
of this part of the system, the more I wonder how it could work.

Stef

On Mar 21, 2011, at 10:29 PM, Nicolas Cellier wrote:

> I'm inquiring and it seems related to bad handling of author/timestamps.
> Here:
>
> (CompiledMethod allInstances select: [:e | e fileIndex = 1])
> detectMax: [:e | e filePosition]
> (ZipWriteStream class>>#regressionTestFrom: "a
> CompiledMethod(353370112)") filePosition 16234210
>
> (SourceFiles at: 1) size 16249263
>
> So, the highest position still in the source file.
> Let's see the lowest:
>
> (CompiledMethod allInstances select: [:e | e fileIndex = 1])
> detectMin: [:e | e filePosition]
> (AColorSelectorMorph>>#color: "a CompiledMethod(894697472)") filePosition 468
>
> Now, let us see what is in the source file:
>
> (SourceFiles at: 1) position: 0; next: 468
> '''From Pharo1.0beta of ''''18 October 2009'''' [Latest update:
> #10487] on 19 October 2009 at 6:18:53 pm''!
> BracketSliderMorph subclass: #AColorSelectorMorph
> instanceVariableNames: ''''
> classVariableNames: ''''
> poolDictionaries: ''''
> category: ''Polymorph-Widgets''!
> !AColorSelectorMorph commentStamp: ''gvc 5/18/2007 13:52'' prior: 0!
> ColorComponentSelector showing an alpha gradient over a hatched background.!
>
>
> !AColorSelectorMorph methodsFor: ''accessing'' stamp: ''gvc 9/3/2009 '
>
> (SourceFiles at: 1) next: 100.
> '13:43''!
> color: aColor
> "Set the gradient colors."
>
> super color: aColor asNontranslucentColor.
> sel'
>
> Yeah, that's what I get in the browser 13:43, it's not the source,
> it's the time...`
>
> In 1.2:
> (AColorSelectorMorph>>#color: ) filePosition 476
>
> (ZipWriteStream class>>#regressionTestFrom: ) filePosition 16248101
>
> So, someone broke my pointers, or someone have a different sources.
>
> Nicolas
>
> 2011/3/21 Stéphane Ducasse <[hidden email]>:
>> Hi nicolas
>>
>> this is strange because I always update all the updates from the latest unstable published by marcus
>> (so yes it can be long) and I never get this error. May be you have a broken sources files or something like that.
>> I update often multiple times especially when I integrate changes to make sure that I do not a strange changes around.
>> and I never get such error.
>> What is your OS?
>>
>> Stef
>>
>> On Mar 21, 2011, at 9:53 PM, Nicolas Cellier wrote:
>>
>>> Hi guys,
>>> Updating Pharo from the update stream failed many times and keep on
>>> failing for me...
>>> But maybe it's just me...
>>>
>>> So I picked the unstable link from the web site
>>> (http://www.pharo-project.org/pharo-download/unstable-core)
>>> This drives me to a 13091 image.
>>> The first thing I do is select the 'update system' menu...
>>> Err, it fails... It seems related to broken sources...
>>> Well the image points to which source file ? can't remember the
>>> incantation, let just browse it...
>>> Err, no source, I can't browse.
>>> No matter, I set the browser to decompile mode...
>>> Err, this does not work, I still can't browse code.
>>> Hmm very bad starting experience, I know what unstable means, but I
>>> was dreaming of other words like continuous development.
>>>
>>> So ket's open an older image (my own updated 1.2) to find the incantations.
>>> (Scanner>>#scanTokens:) fileIndex -> 1, so it seems that the source
>>> file is corrupted.
>>> (SourceFiles at: 1) -> MultiByteFileStream:
>>> '/Users/nicolas/Smalltalk/Squeak/pharo/PharoV10.sources'
>>>
>>> Well, for my previous Pharo images, this very file works !
>>> How damned can be the file be changed and the version not incremented ?
>>>
>>> Is it me who did something wrong ?
>>> Or the update process somewhere did condense the sources ?
>>> Or did someone elese messed with the sources ?
>>> Is it a known problem ?
>>>
>>> Any help appreciated.
>>>
>>> Nicolas
>>>
>>
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: Getting a functionning unstable image

Stéphane Ducasse
In reply to this post by Marcus Denker-4
+1

Now condenses change should work too :)

>> So it was my fault finally: it's because I was too early, and started
>> from Pharo0.x, then applied this automated condenseSources:
>>
> Oh.
>>
>> That explains why I can never upgrade from a newer image...
>> I brought my 0.x image up to 1.2 by some tricky manual MC loading
>> and/or selective loading.
>> But now, things shall be easier :)
>>
>
> Yes... the thing is that everythign that we do not test will not work. We
> do not test updating 0.x --> 1.2. It *will* be broken.
> (And there is the question if it makes sense to keep these things working.
> I vote for investing into a declarative bootstrap instead, far more important)
>
> Marcus
>
>
> --
> Marcus Denker  -- http://www.marcusdenker.de
> INRIA Lille -- Nord Europe. Team RMoD.
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Getting a functionning unstable image

Marcus Denker-4
In reply to this post by Marcus Denker-4

On Mar 22, 2011, at 1:25 PM, Stéphane Ducasse wrote:

> +1
>
> Now condenses change should work too :)
>

I am slowly adopting a radical "if we don't test it, it's will brake" point of view.
I now even say: If we don't test it, it *should* be broken! Because it is dead
code and should be removed.

        Marcus


>>> So it was my fault finally: it's because I was too early, and started
>>> from Pharo0.x, then applied this automated condenseSources:
>>>
>> Oh.
>>>
>>> That explains why I can never upgrade from a newer image...
>>> I brought my 0.x image up to 1.2 by some tricky manual MC loading
>>> and/or selective loading.
>>> But now, things shall be easier :)
>>>
>>
>> Yes... the thing is that everythign that we do not test will not work. We
>> do not test updating 0.x --> 1.2. It *will* be broken.
>> (And there is the question if it makes sense to keep these things working.
>> I vote for investing into a declarative bootstrap instead, far more important)
>>
>> Marcus
>>
>>
>> --
>> Marcus Denker  -- http://www.marcusdenker.de
>> INRIA Lille -- Nord Europe. Team RMoD.
>>
>>
>
>

--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


Reply | Threaded
Open this post in threaded view
|

Re: Getting a functionning unstable image

Igor Stasenko
On 22 March 2011 13:28, Marcus Denker <[hidden email]> wrote:

>
> On Mar 22, 2011, at 1:25 PM, Stéphane Ducasse wrote:
>
>> +1
>>
>> Now condenses change should work too :)
>>
>
> I am slowly adopting a radical "if we don't test it, it's will brake" point of view.
> I now even say: If we don't test it, it *should* be broken! Because it is dead
> code and should be removed.
>

I like a systematic approach. :)

>        Marcus
>
>



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: Getting a functionning unstable image

Nicolas Cellier
2011/3/22 Igor Stasenko <[hidden email]>:

> On 22 March 2011 13:28, Marcus Denker <[hidden email]> wrote:
>>
>> On Mar 22, 2011, at 1:25 PM, Stéphane Ducasse wrote:
>>
>>> +1
>>>
>>> Now condenses change should work too :)
>>>
>>
>> I am slowly adopting a radical "if we don't test it, it's will brake" point of view.
>> I now even say: If we don't test it, it *should* be broken! Because it is dead
>> code and should be removed.
>>
>
> I like a systematic approach. :)
>

Agree,
If not maintained it won't work.
If not tested it's not maintained.
So your sentence must be true in most cases (except case of luck)

And if not maintained, the choices are
- revive
- or remove
and that is the Pharo way, Squeak being more conservative.

Nicolas

>>        Marcus
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Getting a functionning unstable image

Igor Stasenko
On 22 March 2011 19:26, Nicolas Cellier
<[hidden email]> wrote:

> 2011/3/22 Igor Stasenko <[hidden email]>:
>> On 22 March 2011 13:28, Marcus Denker <[hidden email]> wrote:
>>>
>>> On Mar 22, 2011, at 1:25 PM, Stéphane Ducasse wrote:
>>>
>>>> +1
>>>>
>>>> Now condenses change should work too :)
>>>>
>>>
>>> I am slowly adopting a radical "if we don't test it, it's will brake" point of view.
>>> I now even say: If we don't test it, it *should* be broken! Because it is dead
>>> code and should be removed.
>>>
>>
>> I like a systematic approach. :)
>>
>
> Agree,
> If not maintained it won't work.
> If not tested it's not maintained.
> So your sentence must be true in most cases (except case of luck)
>
> And if not maintained, the choices are
> - revive
> - or remove
> and that is the Pharo way, Squeak being more conservative.
>

It is a realistic approach. Obviously there is not much resources in
Pharo task forces to spend them on something which nobody
maintains/cares anymore.
It is better to focus energy on something that everybody needs and
make sure it works well.


> Nicolas
>



--
Best regards,
Igor Stasenko AKA sig.