[squeak-dev] Monticello HTTP requests failures on windows

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Sun Jan 6 14:30:40 UTC 2019


Oups, but VMConstruction-Plugins-OSProcessPlugin is still on the old
squeaksource.com, not yet on source.squeak.org.
So the failures are maybe expected?


Le sam. 5 janv. 2019 à 23:18, Nicolas Cellier <
nicolas.cellier.aka.nice at gmail.com> a écrit :

> Thanks Karl,
> yes i must remember to install this workaround!
> (i did the same in more peripheral MC methods, but hacking WebResponse is
> indeed more radical)
>
> Le sam. 5 janv. 2019 à 21:57, karl ramberg <karlramberg at gmail.com> a
> écrit :
>
>> This workaround works for me:
>> http://source.squeak.org/inbox/WebClient-Core-cbc.118.mcz
>>
>> Best,
>> Karl
>>
>>
>> On Sat, Jan 5, 2019 at 9:43 PM Nicolas Cellier <
>> nicolas.cellier.aka.nice at gmail.com> wrote:
>>
>>> Yes, thanks a lot for that!
>>>
>>> I have still hickups in the Win64 VM (I have to eat my own dog food),
>>> like this, but it might just be the windows VM, not the server...
>>>
>>> It's as if the socket stream failed to wait for input data and returned
>>> an empty response prematurely...
>>>
>>> 5 January 2019 9:19:38.826444 pm
>>>
>>> VM: Win32 - Smalltalk
>>> Image: Squeak5.3alpha [latest update: #18330]
>>>
>>> SecurityManager state:
>>> Restricted: false
>>> FileAccess: true
>>> SocketAccess: true
>>> Working Dir Y:\Smalltalk\opensmalltalk-vm\image
>>> Trusted Dir Y:\Smalltalk\opensmalltalk-vm\image\nicolas
>>> Untrusted Dir \\Mac\Home\Documents\My Squeak
>>>
>>> WebResponse(Object)>>error:
>>>     Receiver: <<error during printing>>
>>>     Arguments and temporary variables:
>>>         aString:     'Invalid response: '
>>>     Receiver's instance variables:
>>>         stream:     SocketStream[inbuf:4kb/outbuf:4kb]
>>>         protocol:     nil
>>>         headers:     nil
>>>         content:     nil
>>>         request:     WebRequest(GET /OSProcessPlugin/?C=M;O=D HTTP/1.1
>>> User-Agent: WebClie...etc...
>>>         status:     ''
>>>         code:     nil
>>>         url:     nil
>>>
>>> WebResponse>>readFrom:
>>>     Receiver: <<error during printing>>
>>>     Arguments and temporary variables:
>>>         aStream:     SocketStream[inbuf:4kb/outbuf:4kb]
>>>         tokens:     an OrderedCollection()
>>>     Receiver's instance variables:
>>>         stream:     SocketStream[inbuf:4kb/outbuf:4kb]
>>>         protocol:     nil
>>>         headers:     nil
>>>         content:     nil
>>>         request:     WebRequest(GET /OSProcessPlugin/?C=M;O=D HTTP/1.1
>>> User-Agent: WebClie...etc...
>>>         status:     ''
>>>         code:     nil
>>>         url:     nil
>>>
>>> WebClient>>sendRequest:contentBlock:
>>>     Receiver: WebClient(http://www.squeaksource.com)
>>>     Arguments and temporary variables:
>>>         request:     WebRequest(GET /OSProcessPlugin/?C=M;O=D HTTP/1.1
>>> User-Agent: WebClie...etc...
>>>         contentBlock:     [closure] in
>>> WebClient>>sendRequest:content:size:
>>>         response:     nil
>>>         repeatRedirect:     false
>>>         repeatAuth:     false
>>>         resp:     nil
>>>     Receiver's instance variables:
>>>         flags:     7
>>>         server:     'www.squeaksource.com'
>>>         scheme:     'http'
>>>         timeout:     45
>>>         stream:     SocketStream[inbuf:4kb/outbuf:4kb]
>>>         cookies:     an OrderedCollection()
>>>         proxyServer:     nil
>>>         lastScheme:     'http'
>>>         lastServer:     'www.squeaksource.com'
>>>         lastPort:     80
>>>         maxRedirect:     10
>>>         redirections:     a Dictionary()
>>>         userAgent:     'WebClient/1.5 (WebClient-Core-pre.117;
>>> Squeak5.3alpha-18330; Win32)...etc...
>>>         authParams:     an IdentityDictionary(#password->XXXX
>>> #username->'nice' )
>>>         proxyParams:     an IdentityDictionary()
>>>         accessLog:     nil
>>>         debugLog:     nil
>>>
>>> WebClient>>sendRequest:content:size:
>>>     Receiver: WebClient(http://www.squeaksource.com)
>>>     Arguments and temporary variables:
>>>         request:     WebRequest(GET /OSProcessPlugin/?C=M;O=D HTTP/1.1
>>> User-Agent: WebClie...etc...
>>>         contentStream:     nil
>>>         streamSize:     0
>>>     Receiver's instance variables:
>>>         flags:     7
>>>         server:     'www.squeaksource.com'
>>>         scheme:     'http'
>>>         timeout:     45
>>>         stream:     SocketStream[inbuf:4kb/outbuf:4kb]
>>>         cookies:     an OrderedCollection()
>>>         proxyServer:     nil
>>>         lastScheme:     'http'
>>>         lastServer:     'www.squeaksource.com'
>>>         lastPort:     80
>>>         maxRedirect:     10
>>>         redirections:     a Dictionary()
>>>         userAgent:     'WebClient/1.5 (WebClient-Core-pre.117;
>>> Squeak5.3alpha-18330; Win32)...etc...
>>>         authParams:     an IdentityDictionary(#password->XXXX
>>> #username->'nice' )
>>>         proxyParams:     an IdentityDictionary()
>>>         accessLog:     nil
>>>         debugLog:     nil
>>>
>>> WebClient>>sendRequest:
>>>     Receiver: WebClient(http://www.squeaksource.com)
>>>     Arguments and temporary variables:
>>>         request:     WebRequest(GET /OSProcessPlugin/?C=M;O=D HTTP/1.1
>>> User-Agent: WebClie...etc...
>>>     Receiver's instance variables:
>>>         flags:     7
>>>         server:     'www.squeaksource.com'
>>>         scheme:     'http'
>>>         timeout:     45
>>>         stream:     SocketStream[inbuf:4kb/outbuf:4kb]
>>>         cookies:     an OrderedCollection()
>>>         proxyServer:     nil
>>>         lastScheme:     'http'
>>>         lastServer:     'www.squeaksource.com'
>>>         lastPort:     80
>>>         maxRedirect:     10
>>>         redirections:     a Dictionary()
>>>         userAgent:     'WebClient/1.5 (WebClient-Core-pre.117;
>>> Squeak5.3alpha-18330; Win32)...etc...
>>>         authParams:     an IdentityDictionary(#password->XXXX
>>> #username->'nice' )
>>>         proxyParams:     an IdentityDictionary()
>>>         accessLog:     nil
>>>         debugLog:     nil
>>>
>>> WebClient>>httpGet:do:
>>>     Receiver: WebClient(http://www.squeaksource.com)
>>>     Arguments and temporary variables:
>>>         urlString:     '
>>> http://www.squeaksource.com/OSProcessPlugin/?C=M;O=D'
>>>         aBlock:     [closure] in MCHttpRepository>>httpGet:arguments:
>>>         request:     WebRequest(GET /OSProcessPlugin/?C=M;O=D HTTP/1.1
>>> User-Agent: WebClie...etc...
>>>         ua:     'WebClient/1.5 (WebClient-Core-pre.117;
>>> Squeak5.3alpha-18330; Win32)'
>>>         decoders:     'gzip'
>>>     Receiver's instance variables:
>>>         flags:     7
>>>         server:     'www.squeaksource.com'
>>>         scheme:     'http'
>>>         timeout:     45
>>>         stream:     SocketStream[inbuf:4kb/outbuf:4kb]
>>>         cookies:     an OrderedCollection()
>>>         proxyServer:     nil
>>>         lastScheme:     'http'
>>>         lastServer:     'www.squeaksource.com'
>>>         lastPort:     80
>>>         maxRedirect:     10
>>>         redirections:     a Dictionary()
>>>         userAgent:     'WebClient/1.5 (WebClient-Core-pre.117;
>>> Squeak5.3alpha-18330; Win32)...etc...
>>>         authParams:     an IdentityDictionary(#password->XXXX
>>> #username->'nice' )
>>>         proxyParams:     an IdentityDictionary()
>>>         accessLog:     nil
>>>         debugLog:     nil
>>>
>>> MCHttpRepository>>httpGet:arguments:
>>>     Receiver: a MCHttpRepository(
>>> http://www.squeaksource.com/OSProcessPlugin)
>>>     Arguments and temporary variables:
>>>         url:     'http://www.squeaksource.com/OSProcessPlugin/?C=M;O=D'
>>>         arguments:     nil
>>>         progress:     [closure] in MCHttpRepository>>httpGet:arguments:
>>>         urlString:     '
>>> http://www.squeaksource.com/OSProcessPlugin/?C=M;O=D'
>>>         client:     WebClient(http://www.squeaksource.com)
>>>         response:     nil
>>>         result:     nil
>>>         queryString:     nil
>>>     Receiver's instance variables:
>>>         creationTemplate:     nil
>>>         storeDiffs:     nil
>>>         cache:     a
>>> Dictionary('VMConstruction-Plugins-OSProcessPlugin.oscog-nice.62.mcz'-...etc...
>>>         allFileNamesCache:     nil
>>>         allVersionNamesCache:     nil
>>>         location:     'http://www.squeaksource.com/OSProcessPlugin'
>>>         user:     'nice'
>>>         password:     XXXX
>>>         readerCache:     a
>>> Dictionary('VMConstruction-Plugins-OSProcessPlugin.oscog-Alistai...etc...
>>>         indexed:     nil
>>>         webClient:     WebClient(Connected: http://www.squeaksource.com)
>>>
>>> [] in MCHttpRepository>>allFileNames
>>>     Receiver: a MCHttpRepository(
>>> http://www.squeaksource.com/OSProcessPlugin)
>>>     Arguments and temporary variables:
>>> <<error during printing>
>>>     Receiver's instance variables:
>>>         creationTemplate:     nil
>>>         storeDiffs:     nil
>>>         cache:     a
>>> Dictionary('VMConstruction-Plugins-OSProcessPlugin.oscog-nice.62.mcz'-...etc...
>>>         allFileNamesCache:     nil
>>>         allVersionNamesCache:     nil
>>>         location:     'http://www.squeaksource.com/OSProcessPlugin'
>>>         user:     'nice'
>>>         password:     XXXX
>>>         readerCache:     a
>>> Dictionary('VMConstruction-Plugins-OSProcessPlugin.oscog-Alistai...etc...
>>>         indexed:     nil
>>>         webClient:     WebClient(Connected: http://www.squeaksource.com)
>>>
>>> BlockClosure>>on:do:
>>>     Receiver: [closure] in MCHttpRepository>>allFileNames
>>>     Arguments and temporary variables:
>>>         exceptionOrExceptionSet:     HTTPProgress
>>>         handlerAction:     [closure] in [] in
>>> MCHttpRepository>>displayProgress:during:
>>>         handlerActive:     true
>>>     Receiver's instance variables:
>>>         outerContext:     MCHttpRepository>>allFileNames
>>>         startpc:     106
>>>         numArgs:     0
>>>
>>> [] in MCHttpRepository>>displayProgress:during:
>>>     Receiver: a MCHttpRepository(
>>> http://www.squeaksource.com/OSProcessPlugin)
>>>     Arguments and temporary variables:
>>> <<error during printing>
>>>     Receiver's instance variables:
>>>         creationTemplate:     nil
>>>         storeDiffs:     nil
>>>         cache:     a
>>> Dictionary('VMConstruction-Plugins-OSProcessPlugin.oscog-nice.62.mcz'-...etc...
>>>         allFileNamesCache:     nil
>>>         allVersionNamesCache:     nil
>>>         location:     'http://www.squeaksource.com/OSProcessPlugin'
>>>         user:     'nice'
>>>         password:     XXXX
>>>         readerCache:     a
>>> Dictionary('VMConstruction-Plugins-OSProcessPlugin.oscog-Alistai...etc...
>>>         indexed:     nil
>>>         webClient:     WebClient(Connected: http://www.squeaksource.com)
>>>
>>> [] in [] in MorphicUIManager>>displayProgress:at:from:to:during:
>>>     Receiver: a MorphicUIManager
>>>     Arguments and temporary variables:
>>> <<error during printing>
>>>     Receiver's instance variables:
>>>         builderClass:     MorphicToolBuilder
>>>
>>> BlockClosure>>on:do:
>>>     Receiver: [closure] in [] in
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>>     Arguments and temporary variables:
>>>         exceptionOrExceptionSet:     ProgressNotification
>>>         handlerAction:     [closure] in [] in
>>> MorphicUIManager>>displayProgress:at:from:to:during:...etc...
>>>         handlerActive:     true
>>>     Receiver's instance variables:
>>>         outerContext:     [] in
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>>         startpc:     146
>>>         numArgs:     0
>>>
>>> [] in MorphicUIManager>>displayProgress:at:from:to:during:
>>>     Receiver: a MorphicUIManager
>>>     Arguments and temporary variables:
>>> <<error during printing>
>>>     Receiver's instance variables:
>>>         builderClass:     MorphicToolBuilder
>>>
>>> BlockClosure>>ensure:
>>>     Receiver: [closure] in
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>>     Arguments and temporary variables:
>>>         aBlock:     [closure] in
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>>         complete:     nil
>>>         returnValue:     nil
>>>     Receiver's instance variables:
>>>         outerContext:
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>>         startpc:     139
>>>         numArgs:     0
>>>
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>>     Receiver: a MorphicUIManager
>>>     Arguments and temporary variables:
>>>         titleString:     'Updating
>>> http://www.squeaksource.com/OSProcessPlugin'
>>>         aPoint:     549 at 373
>>>         minVal:     0.0
>>>         maxVal:     1.0
>>>         workBlock:     [closure] in
>>> MCHttpRepository>>displayProgress:during:
>>>         progress:     [closure] in
>>> SystemProgressMorph>>position:label:min:max:
>>>         result:     #(nil)
>>>     Receiver's instance variables:
>>>         builderClass:     MorphicToolBuilder
>>>
>>> ProgressInitiationException>>defaultResumeValue
>>>     Receiver: ProgressInitiationException:
>>>     Arguments and temporary variables:
>>>
>>>     Receiver's instance variables:
>>>         messageText:     nil
>>>         tag:     nil
>>>         signalContext:     ProgressInitiationException(Exception)>>signal
>>>         handlerContext:     nil
>>>         outerContext:     nil
>>>         workBlock:     [closure] in
>>> MCHttpRepository>>displayProgress:during:
>>>         maxVal:     1.0
>>>         minVal:     0.0
>>>         aPoint:     549 at 373
>>>         progressTitle:     'Updating
>>> http://www.squeaksource.com/OSProcessPlugin'
>>>
>>> ProgressInitiationException(Exception)>>resume
>>>     Receiver: ProgressInitiationException:
>>>     Arguments and temporary variables:
>>>
>>>     Receiver's instance variables:
>>>         messageText:     nil
>>>         tag:     nil
>>>         signalContext:     ProgressInitiationException(Exception)>>signal
>>>         handlerContext:     nil
>>>         outerContext:     nil
>>>         workBlock:     [closure] in
>>> MCHttpRepository>>displayProgress:during:
>>>         maxVal:     1.0
>>>         minVal:     0.0
>>>         aPoint:     549 at 373
>>>         progressTitle:     'Updating
>>> http://www.squeaksource.com/OSProcessPlugin'
>>>
>>> ProgressInitiationException>>defaultAction
>>>     Receiver: ProgressInitiationException:
>>>     Arguments and temporary variables:
>>>
>>>     Receiver's instance variables:
>>>         messageText:     nil
>>>         tag:     nil
>>>         signalContext:     ProgressInitiationException(Exception)>>signal
>>>         handlerContext:     nil
>>>         outerContext:     nil
>>>         workBlock:     [closure] in
>>> MCHttpRepository>>displayProgress:during:
>>>         maxVal:     1.0
>>>         minVal:     0.0
>>>         aPoint:     549 at 373
>>>         progressTitle:     'Updating
>>> http://www.squeaksource.com/OSProcessPlugin'
>>>
>>> UndefinedObject>>handleSignal:
>>>     Receiver: nil
>>>     Arguments and temporary variables:
>>>         exception:     ProgressInitiationException:
>>>     Receiver's instance variables:
>>> nil
>>>
>>>
>>> --- The full stack ---
>>> WebResponse(Object)>>error:
>>> WebResponse>>readFrom:
>>> WebClient>>sendRequest:contentBlock:
>>> WebClient>>sendRequest:content:size:
>>> WebClient>>sendRequest:
>>> WebClient>>httpGet:do:
>>> MCHttpRepository>>httpGet:arguments:
>>> [] in MCHttpRepository>>allFileNames
>>> BlockClosure>>on:do:
>>> [] in MCHttpRepository>>displayProgress:during:
>>> [] in [] in MorphicUIManager>>displayProgress:at:from:to:during:
>>> BlockClosure>>on:do:
>>> [] in MorphicUIManager>>displayProgress:at:from:to:during:
>>> BlockClosure>>ensure:
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>> ProgressInitiationException>>defaultResumeValue
>>> ProgressInitiationException(Exception)>>resume
>>> ProgressInitiationException>>defaultAction
>>> UndefinedObject>>handleSignal:
>>>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>> ProgressInitiationException(Exception)>>signal
>>> ProgressInitiationException>>display:at:from:to:during:
>>> ProgressInitiationException class>>display:at:from:to:during:
>>> ByteString(String)>>displayProgressAt:from:to:during:
>>> ByteString(String)>>displayProgressFrom:to:during:
>>> MCHttpRepository>>displayProgress:during:
>>> MCHttpRepository>>allFileNames
>>> MCHttpRepository(MCFileBasedRepository)>>notifyList
>>> MCHttpRepository(MCRepository)>>sendNotificationsForVersion:
>>> MCHttpRepository(MCRepository)>>storeVersion:
>>> [] in MCWorkingCopyBrowser>>saveVersion
>>> BlockClosure>>ensure:
>>> CursorWithMask(Cursor)>>showWhile:
>>> MCWorkingCopyBrowser>>saveVersion
>>> PluggableButtonMorphPlus(PluggableButtonMorph)>>performAction
>>> -- and more not shown --
>>>
>>> Le sam. 5 janv. 2019 à 03:40, David T. Lewis <lewis at mail.msen.com> a
>>> écrit :
>>>
>>>> On Fri, Jan 04, 2019 at 04:42:53PM -0800, Eliot Miranda wrote:
>>>> > Hi Chris,
>>>> >
>>>> > On Sat, Nov 24, 2018 at 9:03 PM Chris Muller <ma.chris.m at gmail.com>
>>>> wrote:
>>>> >
>>>> > > Well, I've been running the latest code and VM every day on my
>>>> laptop
>>>> > > as a Personal Squeaksource server and using it for all of my
>>>> > > development these last weeks.
>>>> > >
>>>> > > It went so smoothly I also decided push on it by downloading the
>>>> > > entire squeaksource.com (17GB!) and starting it locally using this
>>>> > > same new code, but with different Repository combination more
>>>> suitable
>>>> > > to that application (ImagePersistence + FileSystem).  That exposed a
>>>> > > couple of minor bugs which are now fixed and committed to the /ss
>>>> > > repository.  I'm going to bang on it one more time but I believe
>>>> that
>>>> > > guy is ready to upgrade too!
>>>> > >
>>>> > > If you happened to try Personal SqueakSource and have any negative
>>>> > > feedback, please let me know soon, otherwise I'll start thinking
>>>> about
>>>> > > upgrading it on the server and kissing the timeouts goodbye.
>>>> > >
>>>> >
>>>> > Thank you *SO* much!  It has been such a joy not having to deal with
>>>> > timeouts any more.  Committing feels slick and reliable.  Great work.
>>>> >
>>>>
>>>> +1000
>>>>
>>>> It is working great now. We'll do a similar update to the
>>>> squeaksource.com
>>>> server RSN to bring it up to date with modern Squeak image and VMs as
>>>> well.
>>>> That will get both services running on the same code base, and should
>>>> improve
>>>> performance and reliability as well.
>>>>
>>>> Dave
>>>>
>>>>
>>>>
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190106/3f89e117/attachment.html>


More information about the Squeak-dev mailing list