Issue 6698 in pharo: Accessing MC-Repository through a http proxy fails

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

Issue 6698 in pharo: Accessing MC-Repository through a http proxy fails

pharo
Status: New
Owner: ----
Labels: Type-Bug

New issue 6698 by [hidden email]: Accessing MC-Repository through a  
http proxy fails
http://code.google.com/p/pharo/issues/detail?id=6698

Opening a monticello repository through the ui results in an error  
ZnUnknownHttpVersion. The i-net connection is slow and I see as result from  
the http request around 210 Kb.

But changing (removing beOneShoot) helps and I can browse remote  
repositories again. The problem is in Pharo 1.4 too.

===========================================================================
Changes:

MCHttpRepository>>httpClient
        "Return a new, specifically configured instance of the HTTP client for  
internal use."
       
        ^ ZnClient new
                systemPolicy;
                "beOneShot;"
                username: self user password: self password;
                yourself




===========================================================================
Stack trace:

19 September 2012 10:39:50.507 am

VM: Win32 - IX86 - 6.1 - NBCoInterpreter  
NativeBoost-CogPlugin-IgorStasenko.9 uuid:  
801decd2-0b42-fa49-bcea-d7564d516a1b Aug  3 2012
StackToRegisterMappingCogit VMMaker-oscog-IgorStasenko.162 uuid:  
e4554f9a-cc90-4826-a807-ac282b782fe4 Aug  3 2012
git://gitorious.org/cogvm/blessed.git Commit:  
aeb0705cde4b8fc57cb262dc051c5ee6dfa72a14 Date: 2012-07-26 16:38:48 +0200  
By: Igor Stasenko <[hidden email]>

Image: Pharo2.0a [Latest update: #20296]

MCRepositoryError class(Object)>>error:
        Receiver: MCRepositoryError
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                superclass: Error
                methodDict: a MethodDictionary()
                format: 142
                layout: nil
                instanceVariables: nil
                organization: a ClassOrganizer
                subclasses: nil
                name: #MCRepositoryError
                classPool: nil
                sharedPools: nil
                environment: a SystemDictionary(lots of globals)
                category: #'Monticello-Repositories'
                traitComposition: nil
                localSelectors: nil

[:exception | (exception className beginsWith: 'Zn')
                ifTrue: [MCRepositoryError error: 'Could not access ' , self  
location , ': ' , exception printString]
                ifFalse: [exception pass]] in [(client := self httpClient)
                ifFail: [:exception | (exception className beginsWith: 'Zn')
                                ifTrue: [MCRepositoryError error: 'Could not access ' , self  
location , ': ' , exception printString]
                                ifFalse: [exception pass]];
                 url: self locationWithTrailingSlash;
                 queryAt: 'C' put: 'M;O=D';
                 get.
        self assertNonBinaryResponse: client response] in  
MCHttpRepository>>loadAllFileNames
        Receiver: a MCHttpRepository(http://ss3.gemstone.com/ss/Pharo20)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                creationTemplate: nil
                storeDiffs: nil
                cache: a Dictionary('Monticello-StephaneDucasse.708.mcz'->a  
MCVersion(Monticell...etc...
                allFileNames: nil
                cacheFileNames: false
                location: 'http://ss3.gemstone.com/ss/Pharo20'
                user: ''
                password: ''
                readerCache: a Dictionary('Monticello-StephaneDucasse.708.mcz'->a  
MCMczReader )...etc...

BlockClosure>>cull:
        Receiver: [:exception | (exception className beginsWith: 'Zn')
                ifTrue: [MCRepositoryError error: '...etc...
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                outerContext: [(client := self httpClient)
                ifFail: [:exception | (exception c...etc...
                startpc: 148
                numArgs: 1

[(self tempAt: 2)
                cull: exception] in MethodContext(ContextPart)>>handleSignal:
        Receiver: BlockClosure>>on:do:
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: [[self executeWithRetriesRemaining: self numberOfRetries]
                on: Error
        ...etc...
                pc: 17
                stackp: 3
                method: (BlockClosure>>#on:do: "a CompiledMethod(784596992)")
                closureOrNil: nil
                receiver: [self executeWithRetriesRemaining: self numberOfRetries]

BlockClosure>>ensure:
        Receiver: [(self tempAt: 2)
                cull: exception]
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                outerContext: MethodContext(ContextPart)>>handleSignal:
                startpc: 98
                numArgs: 0

MethodContext(ContextPart)>>handleSignal:
        Receiver: BlockClosure>>on:do:
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: [[self executeWithRetriesRemaining: self numberOfRetries]
                on: Error
        ...etc...
                pc: 17
                stackp: 3
                method: (BlockClosure>>#on:do: "a CompiledMethod(784596992)")
                closureOrNil: nil
                receiver: [self executeWithRetriesRemaining: self numberOfRetries]

MethodContext(ContextPart)>>handleSignal:
        Receiver: BlockClosure>>on:do:
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: ZnClient>>executeWithRetriesRemaining:
                pc: 17
                stackp: 3
                method: (BlockClosure>>#on:do: "a CompiledMethod(784596992)")
                closureOrNil: nil
                receiver: [self executeWithRedirectsRemaining: self maxNumberOfRedirects]

MethodContext(ContextPart)>>handleSignal:
        Receiver: BlockClosure>>on:do:
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: ZnClient>>executeWithRetriesRemaining:
                pc: 17
                stackp: 3
                method: (BlockClosure>>#on:do: "a CompiledMethod(784596992)")
                closureOrNil: nil
                receiver: [self executeWithRedirectsRemaining: self maxNumberOfRedirects]

ZnUnknownHttpVersion(Exception)>>pass
        Receiver: ZnUnknownHttpVersion
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                messageText: nil
                tag: nil
                signaler: a ZnStatusLine
                signalContext: ZnUnknownHttpVersion(Exception)>>signal
                handlerContext: BlockClosure>>on:do:
                outerContext: nil
                version: nil

[:exception | retryCount > 0
                ifTrue: [self handleRetry: exception;
                                 executeWithRetriesRemaining: retryCount - 1]
                ifFalse: [exception pass]] in ZnClient>>executeWithRetriesRemaining:
        Receiver: a ZnClient
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                request: a ZnRequest(GET /ss/Pharo20/?C=M%3BO%3DD)
                response: nil
                connection: SocketStream[inbuf:4kb/outbuf:4kb]
                lastUsed: nil
                state: #closed
                options: a Dictionary(#enforceAcceptContentType->true  
#enforceHttpSuccess->true...etc...
                session: nil
                log: a ZnLogSupport

BlockClosure>>cull:
        Receiver: [:exception | retryCount > 0
                ifTrue: [self handleRetry: exception;
                                 executeWithRetri...etc...
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                outerContext: ZnClient>>executeWithRetriesRemaining:
                startpc: 70
                numArgs: 1

[(self tempAt: 2)
                cull: exception] in MethodContext(ContextPart)>>handleSignal:
        Receiver: BlockClosure>>on:do:
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: ZnClient>>executeWithRetriesRemaining:
                pc: 17
                stackp: 3
                method: (BlockClosure>>#on:do: "a CompiledMethod(784596992)")
                closureOrNil: nil
                receiver: [self executeWithRedirectsRemaining: self maxNumberOfRedirects]

BlockClosure>>ensure:
        Receiver: [(self tempAt: 2)
                cull: exception]
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                outerContext: MethodContext(ContextPart)>>handleSignal:
                startpc: 98
                numArgs: 0

MethodContext(ContextPart)>>handleSignal:
        Receiver: BlockClosure>>on:do:
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: ZnClient>>executeWithRetriesRemaining:
                pc: 17
                stackp: 3
                method: (BlockClosure>>#on:do: "a CompiledMethod(784596992)")
                closureOrNil: nil
                receiver: [self executeWithRedirectsRemaining: self maxNumberOfRedirects]

ZnUnknownHttpVersion(Exception)>>signal
        Receiver: ZnUnknownHttpVersion
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                messageText: nil
                tag: nil
                signaler: a ZnStatusLine
                signalContext: ZnUnknownHttpVersion(Exception)>>signal
                handlerContext: BlockClosure>>on:do:
                outerContext: nil
                version: nil

[(ZnUnknownHttpVersion version: version) signal] in ZnStatusLine>>version:
        Receiver: a ZnStatusLine
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                version: nil
                code: nil
                reason: nil

Array(Collection)>>detect:ifNone:
        Receiver: #('HTTP/1.1' 'HTTP/1.0')
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
#('HTTP/1.1' 'HTTP/1.0')

ZnStatusLine>>version:
        Receiver: a ZnStatusLine
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                version: nil
                code: nil
                reason: nil

ZnStatusLine>>readFrom:
        Receiver: a ZnStatusLine
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                version: nil
                code: nil
                reason: nil

ZnStatusLine class>>readFrom:
        Receiver: ZnStatusLine
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                superclass: Object
                methodDict: a MethodDictionary(#code->(ZnStatusLine>>#code "a  
CompiledMethod(78...etc...
                format: 136
                layout: nil
                instanceVariables: #('version' 'code' 'reason')
                organization: a ClassOrganizer
                subclasses: nil
                name: #ZnStatusLine
                classPool: nil
                sharedPools: nil
                environment: a SystemDictionary(lots of globals)
                category: #'Zinc-HTTP-Core'
                traitComposition: {}
                localSelectors: nil

ZnResponse>>readHeaderFrom:
        Receiver: <<error during printing>>
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                headers: nil
                entity: nil
                statusLine: nil

ZnResponse(ZnMessage)>>readFrom:
        Receiver: <<error during printing>>
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                headers: nil
                entity: nil
                statusLine: nil

ZnResponse class(ZnMessage class)>>readFrom:
        Receiver: ZnResponse
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                superclass: ZnMessage
                methodDict: a MethodDictionary(#addCookie:->(ZnResponse>>#addCookie: "a  
Compile...etc...
                format: 136
                layout: nil
                instanceVariables: #('statusLine')
                organization: a ClassOrganizer
                subclasses: nil
                name: #ZnResponse
                classPool: nil
                sharedPools: nil
                environment: a SystemDictionary(lots of globals)
                category: #'Zinc-HTTP-Core'
                traitComposition: {}
                localSelectors: nil

ZnClient>>executeRequestResponse
        Receiver: a ZnClient
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                request: a ZnRequest(GET /ss/Pharo20/?C=M%3BO%3DD)
                response: nil
                connection: SocketStream[inbuf:4kb/outbuf:4kb]
                lastUsed: nil
                state: #closed
                options: a Dictionary(#enforceAcceptContentType->true  
#enforceHttpSuccess->true...etc...
                session: nil
                log: a ZnLogSupport

[self executeRequestResponse] in ZnClient>>getConnectionAndExecute
        Receiver: a ZnClient
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                request: a ZnRequest(GET /ss/Pharo20/?C=M%3BO%3DD)
                response: nil
                connection: SocketStream[inbuf:4kb/outbuf:4kb]
                lastUsed: nil
                state: #closed
                options: a Dictionary(#enforceAcceptContentType->true  
#enforceHttpSuccess->true...etc...
                session: nil
                log: a ZnLogSupport

BlockClosure>>ensure:
        Receiver: [self executeRequestResponse]
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                outerContext: ZnClient>>getConnectionAndExecute
                startpc: 133
                numArgs: 0

ZnClient>>getConnectionAndExecute
        Receiver: a ZnClient
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                request: a ZnRequest(GET /ss/Pharo20/?C=M%3BO%3DD)
                response: nil
                connection: SocketStream[inbuf:4kb/outbuf:4kb]
                lastUsed: nil
                state: #closed
                options: a Dictionary(#enforceAcceptContentType->true  
#enforceHttpSuccess->true...etc...
                session: nil
                log: a ZnLogSupport

ZnClient>>executeWithRedirectsRemaining:
        Receiver: a ZnClient
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                request: a ZnRequest(GET /ss/Pharo20/?C=M%3BO%3DD)
                response: nil
                connection: SocketStream[inbuf:4kb/outbuf:4kb]
                lastUsed: nil
                state: #closed
                options: a Dictionary(#enforceAcceptContentType->true  
#enforceHttpSuccess->true...etc...
                session: nil
                log: a ZnLogSupport

[self executeWithRedirectsRemaining: self maxNumberOfRedirects] in  
ZnClient>>executeWithRetriesRemaining:
        Receiver: a ZnClient
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                request: a ZnRequest(GET /ss/Pharo20/?C=M%3BO%3DD)
                response: nil
                connection: SocketStream[inbuf:4kb/outbuf:4kb]
                lastUsed: nil
                state: #closed
                options: a Dictionary(#enforceAcceptContentType->true  
#enforceHttpSuccess->true...etc...
                session: nil
                log: a ZnLogSupport

BlockClosure>>on:do:
        Receiver: [self executeWithRedirectsRemaining: self maxNumberOfRedirects]
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                outerContext: ZnClient>>executeWithRetriesRemaining:
                startpc: 57
                numArgs: 0

ZnClient>>executeWithRetriesRemaining:
        Receiver: a ZnClient
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                request: a ZnRequest(GET /ss/Pharo20/?C=M%3BO%3DD)
                response: nil
                connection: SocketStream[inbuf:4kb/outbuf:4kb]
                lastUsed: nil
                state: #closed
                options: a Dictionary(#enforceAcceptContentType->true  
#enforceHttpSuccess->true...etc...
                session: nil
                log: a ZnLogSupport

[:exception | retryCount > 0
                ifTrue: [self handleRetry: exception;
                                 executeWithRetriesRemaining: retryCount - 1]
                ifFalse: [exception pass]] in ZnClient>>executeWithRetriesRemaining:
        Receiver: a ZnClient
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                request: a ZnRequest(GET /ss/Pharo20/?C=M%3BO%3DD)
                response: nil
                connection: SocketStream[inbuf:4kb/outbuf:4kb]
                lastUsed: nil
                state: #closed
                options: a Dictionary(#enforceAcceptContentType->true  
#enforceHttpSuccess->true...etc...
                session: nil
                log: a ZnLogSupport

BlockClosure>>cull:
        Receiver: [:exception | retryCount > 0
                ifTrue: [self handleRetry: exception;
                                 executeWithRetri...etc...
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                outerContext: ZnClient>>executeWithRetriesRemaining:
                startpc: 70
                numArgs: 1

[(self tempAt: 2)
                cull: exception] in MethodContext(ContextPart)>>handleSignal:
        Receiver: BlockClosure>>on:do:
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: ZnClient>>executeWithRetriesRemaining:
                pc: 17
                stackp: 3
                method: (BlockClosure>>#on:do: "a CompiledMethod(784596992)")
                closureOrNil: nil
                receiver: [self executeWithRedirectsRemaining: self maxNumberOfRedirects]

BlockClosure>>ensure:
        Receiver: [(self tempAt: 2)
                cull: exception]
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                outerContext: MethodContext(ContextPart)>>handleSignal:
                startpc: 98
                numArgs: 0

MethodContext(ContextPart)>>handleSignal:
        Receiver: BlockClosure>>on:do:
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: ZnClient>>executeWithRetriesRemaining:
                pc: 17
                stackp: 3
                method: (BlockClosure>>#on:do: "a CompiledMethod(784596992)")
                closureOrNil: nil
                receiver: [self executeWithRedirectsRemaining: self maxNumberOfRedirects]

ZnUnknownHttpVersion(Exception)>>signal
        Receiver: ZnUnknownHttpVersion
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                messageText: nil
                tag: nil
                signaler: a ZnStatusLine
                signalContext: ZnUnknownHttpVersion(Exception)>>signal
                handlerContext: BlockClosure>>on:do:
                outerContext: nil
                version: nil

[(ZnUnknownHttpVersion version: version) signal] in ZnStatusLine>>version:
        Receiver: a ZnStatusLine
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                version: nil
                code: nil
                reason: nil

Array(Collection)>>detect:ifNone:
        Receiver: #('HTTP/1.1' 'HTTP/1.0')
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
#('HTTP/1.1' 'HTTP/1.0')




_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 6698 in pharo: Accessing MC-Repository through a http proxy fails

pharo

Comment #1 on issue 6698 by [hidden email]: Accessing MC-Repository  
through a http proxy fails
http://code.google.com/p/pharo/issues/detail?id=6698

Hmm, #beOneShot should normally not have an influence on proxy usage.

Do all Zn tests pass with proxy settings activated ?

What kind of proxy are you using ?

I don't understand what you mean by "The i-net connection is slow and I see  
as result from the http request around 210 Kb.".

Debugging somebody else's proxy is very hard to impossible. Hopefully there  
are other Windows users with the same setup.



_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 6698 in pharo: Accessing MC-Repository through a http proxy fails

pharo

Comment #2 on issue 6698 by [hidden email]: Accessing MC-Repository  
through a http proxy fails
http://code.google.com/p/pharo/issues/detail?id=6698

I'm using a proxy cascade cntlm - coorporate firewall - i-net. In the same  
image the line ZnClient new get: 'http://www.ix.de' works as expected.

I brought fiddler into the chain to debug the http protocoll. I see the  
response from my proxy arriving 2-3 seconds later. Now I think there is a  
time-out and the response does not arrive in time. Retrying (removing  
#beOneShoot) then finds the now filled cache. If the buffer is empty  
ZnStatusLine now parses an empty buffer and signals the exception  
ZnUnknownHttpVersion.





_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 6698 in pharo: Accessing MC-Repository through a http proxy fails

pharo

Comment #3 on issue 6698 by [hidden email]: Accessing MC-Repository  
through a http proxy fails
http://code.google.com/p/pharo/issues/detail?id=6698

I think it is not a proxy problem - ZnClient new get: 'http://www.ix.de' 
works as expected.



_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 6698 in pharo: Accessing MC-Repository through a http proxy fails

pharo
Updates:
        Labels: Milestone-2.0

Comment #4 on issue 6698 by [hidden email]: Accessing MC-Repository  
through a http proxy fails
http://code.google.com/p/pharo/issues/detail?id=6698

(No comment was entered for this change.)


_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 6698 in pharo: Accessing MC-Repository through a http proxy fails

pharo

Comment #5 on issue 6698 by [hidden email]: Accessing MC-Repository  
through a http proxy fails
http://code.google.com/p/pharo/issues/detail?id=6698

Here are the test results for ZnClientTest:

27 run, 21 passes, 0 expected failures, 3 failures, 3 errors, 0 unexpected  
passes
Failures:
ZnClientTests>>#testIfFailNotFound
ZnClientTests>>#testIfFailWrongType
ZnClientTests>>#testIfFailNonExistingHost

Errors:
ZnClientTests>>#testGetSmallHTMLOneShot
ZnClientTests>>#testLogging
ZnClientTests>>#testRedirect



_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 6698 in pharo: Accessing MC-Repository through a http proxy fails

pharo

Comment #6 on issue 6698 by [hidden email]: Accessing MC-Repository  
through a http proxy fails
http://code.google.com/p/pharo/issues/detail?id=6698

I'm using the cntlm-proxy on my host to ntlm authenticate processes against  
a corporate   firewall. Having configured the proxy in my image and doing  
ZnClient new get: 'http://ss3.gemstone.com/ss/Pharo20' works just as  
expected.




_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 6698 in pharo: Accessing MC-Repository through a http proxy fails

pharo

Comment #7 on issue 6698 by [hidden email]: Accessing MC-Repository  
through a http proxy fails
http://code.google.com/p/pharo/issues/detail?id=6698

OK, I found the page about cntlm.

If I have more time, I will try to install it on a Linux machine and see  
what happens, but I won't be able to test Windows NTLM as I don't have  
access to that.


_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 6698 in pharo: Accessing MC-Repository through a http proxy fails

pharo
Updates:
        Status: Accepted
        Labels: -Milestone-2.0

Comment #8 on issue 6698 by [hidden email]: Accessing MC-Repository  
through a http proxy fails
http://code.google.com/p/pharo/issues/detail?id=6698

As this is a very special kind of proxy, I think it is not a show stopper  
for 2.0


_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker