[squeak-dev] Monticello HTTP requests failures on windows

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Sat Jan 5 22:18:15 UTC 2019


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/20190105/885e561c/attachment.html>


More information about the Squeak-dev mailing list