[squeak-dev] Monticello HTTP requests failures on windows

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Sat Jan 5 20:43:09 UTC 2019


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/b46f41e1/attachment.html>


More information about the Squeak-dev mailing list