[squeak-dev] Squeaksource upload/respnse problem? (was Re: The Inbox: EToys-tpr.321.mcz)

Levente Uzonyi leves at caesar.elte.hu
Wed Mar 7 13:11:38 UTC 2018


No, it's not. Changes happen almost instantly. You can verify this by 
using another session (another tab in the browser or another image) that 
your upload/change is already on the server while your original session is 
still waiting for a response until timeout.
Also, every single upload will be timed out.

Levente

On Wed, 7 Mar 2018, Tobias Pape wrote:

> Maybe the server is just thinking very deeply ¯\_(ツ)_/¯
>
> -t
>
>
>> On 06.03.2018, at 23:10, Levente Uzonyi <leves at caesar.elte.hu> wrote:
>> 
>> It's been like that lately.
>> I'm fairly sure it's a bug in the image serving source.squeak.org, because it also happens when you use the web interface to move a package version, and wireshark only shows that the server does not respond.
>> I also checked if there are any suspicious firewall rules in place on the server, but there were none.
>> And it never happens on any other squeaksource repositories.
>> 
>> Levente
>> 
>> On Tue, 6 Mar 2018, tim Rowledge wrote:
>> 
>>> 
>>> 
>>>> On 06-03-2018, at 12:49 PM, commits at source.squeak.org wrote:
>>>> tim Rowledge uploaded a new version of EToys to project The Inbox:
>>>> http://source.squeak.org/inbox/EToys-tpr.321.mcz
>>> 
>>> Hmm, looks like squeaksource is having some sort of problem since it tells me that my commit failed. So far as I can tell from the debugger it appears to be more a case of the response not arriving to confirm an upload - it times out but in #waitForData. 
>>> 'From: tim at rowledge.org
>>> To: squeak-dev at lists.squeakfoundation.org
>>> Subject: [BUG]SocketStream>>signalTimeout
>>> 
>>> here insert explanation of what you were doing, suspect changes you''ve made and so forth.
>>> 
>>> 6 March 2018 1:20:57.691799 pm
>>> 
>>> VM: unix - Smalltalk
>>> Image: Squeak6.0alpha [latest update: #17785]
>>> 
>>> SecurityManager state:
>>> Restricted: false
>>> FileAccess: true
>>> SocketAccess: true
>>> Working Dir /home/pi/Squeak
>>> Trusted Dir /home/pi/Squeak/secure
>>> Untrusted Dir /home/pi/Squeak/My Squeak
>>> 
>>> SocketStream>>signalTimeout
>>> 	Receiver: SocketStream[inbuf:4kb/outbuf:8kb]
>>> 	Arguments and temporary variables:
>>> 	Receiver''s instance variables:
>>> 		recentlyRead: 	0
>>> 		socket: 	a Socket[connected]
>>> 		inBuffer: 	''...etc...
>>> 		outBuffer: 	''P	�t?�$5²>mK®Iö1�îR@éA�sb�iE�³=F�-Y4�»�	��S¨yåd�±��9%±ø�¤§¹...etc...
>>> 		inNextToWrite: 	1
>>> 		outNextToWrite: 	1
>>> 		lastRead: 	0
>>> 		timeout: 	45
>>> 		autoFlush: 	true
>>> 		bufferSize: 	4096
>>> 		binary: 	false
>>> 		shouldSignal: 	true
>>> 
>>> [] in SocketStream>>waitForData
>>> 	Receiver: SocketStream[inbuf:4kb/outbuf:8kb]
>>> 	Arguments and temporary variables:
>>> 	Receiver''s instance variables:
>>> 		recentlyRead: 	0
>>> 		socket: 	a Socket[connected]
>>> 		inBuffer: 	''...etc...
>>> 		outBuffer: 	''P	�t?�$5²>mK®Iö1�îR@éA�sb�iE�³=F�-Y4�»�	��S¨yåd�±��9%±ø�¤§¹...etc...
>>> 		inNextToWrite: 	1
>>> 		outNextToWrite: 	1
>>> 		lastRead: 	0
>>> 		timeout: 	45
>>> 		autoFlush: 	true
>>> 		bufferSize: 	4096
>>> 		binary: 	false
>>> 		shouldSignal: 	true
>>> 
>>> Socket>>waitForDataFor:ifClosed:ifTimedOut:
>>> 	Receiver: a Socket[connected]
>>> 	Arguments and temporary variables:
>>> 		timeout: 	45
>>> 		closedBlock: 	[closure] in SocketStream>>waitForData
>>> 		timedOutBlock: 	[closure] in SocketStream>>waitForData
>>> 		deadline: 	3697822386066
>>> 		timeLeft: 	-1
>>> 	Receiver''s instance variables:
>>> 		semaphore: 	a Semaphore()
>>> 		socketHandle: 	#[151 254 66 131 0 0 0 0 176 33 170 0]
>>> 		readSemaphore: 	a Semaphore()
>>> 		writeSemaphore: 	a Semaphore()
>>> 
>>> SocketStream>>waitForData
>>> 	Receiver: SocketStream[inbuf:4kb/outbuf:8kb]
>>> 	Arguments and temporary variables:
>>> 	Receiver''s instance variables:
>>> 		recentlyRead: 	0
>>> 		socket: 	a Socket[connected]
>>> 		inBuffer: 	''...etc...
>>> 		outBuffer: 	''P	�t?�$5²>mK®Iö1�îR@éA�sb�iE�³=F�-Y4�»�	��S¨yåd�±��9%±ø�¤§¹...etc...
>>> 		inNextToWrite: 	1
>>> 		outNextToWrite: 	1
>>> 		lastRead: 	0
>>> 		timeout: 	45
>>> 		autoFlush: 	true
>>> 		bufferSize: 	4096
>>> 		binary: 	false
>>> 		shouldSignal: 	true
>>> 
>>> SocketStream>>receiveData
>>> 	Receiver: SocketStream[inbuf:4kb/outbuf:8kb]
>>> 	Arguments and temporary variables:
>>> 	Receiver''s instance variables:
>>> 		recentlyRead: 	0
>>> 		socket: 	a Socket[connected]
>>> 		inBuffer: 	''...etc...
>>> 		outBuffer: 	''P	�t?�$5²>mK®Iö1�îR@éA�sb�iE�³=F�-Y4�»�	��S¨yåd�±��9%±ø�¤§¹...etc...
>>> 		inNextToWrite: 	1
>>> 		outNextToWrite: 	1
>>> 		lastRead: 	0
>>> 		timeout: 	45
>>> 		autoFlush: 	true
>>> 		bufferSize: 	4096
>>> 		binary: 	false
>>> 		shouldSignal: 	true
>>> 
>>> SocketStream>>upToAll:limit:
>>> 	Receiver: SocketStream[inbuf:4kb/outbuf:8kb]
>>> 	Arguments and temporary variables:
>>> 		aStringOrByteArray: 	''
>>> 
>>> ''
>>> 		nBytes: 	100000
>>> 		index: 	0
>>> 		sz: 	2
>>> 		result: 	nil
>>> 		searchedSoFar: 	0
>>> 		target: 	''
>>> 
>>> ''
>>> 	Receiver''s instance variables:
>>> 		recentlyRead: 	0
>>> 		socket: 	a Socket[connected]
>>> 		inBuffer: 	''...etc...
>>> 		outBuffer: 	''P	�t?�$5²>mK®Iö1�îR@éA�sb�iE�³=F�-Y4�»�	��S¨yåd�±��9%±ø�¤§¹...etc...
>>> 		inNextToWrite: 	1
>>> 		outNextToWrite: 	1
>>> 		lastRead: 	0
>>> 		timeout: 	45
>>> 		autoFlush: 	true
>>> 		bufferSize: 	4096
>>> 		binary: 	false
>>> 		shouldSignal: 	true
>>> 
>>> SocketStream>>upToAll:
>>> 	Receiver: SocketStream[inbuf:4kb/outbuf:8kb]
>>> 	Arguments and temporary variables:
>>> 		aStringOrByteArray: 	''
>>> 
>>> ''
>>> 	Receiver''s instance variables:
>>> 		recentlyRead: 	0
>>> 		socket: 	a Socket[connected]
>>> 		inBuffer: 	''...etc...
>>> 		outBuffer: 	''P	�t?�$5²>mK®Iö1�îR@éA�sb�iE�³=F�-Y4�»�	��S¨yåd�±��9%±ø�¤§¹...etc...
>>> 		inNextToWrite: 	1
>>> 		outNextToWrite: 	1
>>> 		lastRead: 	0
>>> 		timeout: 	45
>>> 		autoFlush: 	true
>>> 		bufferSize: 	4096
>>> 		binary: 	false
>>> 		shouldSignal: 	true
>>> 
>>> WebResponse>>readFrom:
>>> 	Receiver: <<error during printing>>
>>> 	Arguments and temporary variables:
>>> 		aStream: 	SocketStream[inbuf:4kb/outbuf:8kb]
>>> 		tokens: 	nil
>>> 	Receiver''s instance variables:
>>> 		stream: 	SocketStream[inbuf:4kb/outbuf:8kb]
>>> 		protocol: 	nil
>>> 		headers: 	nil
>>> 		content: 	nil
>>> 		request: 	WebRequest(PUT /trunk/Files-tpr.179.mcz HTTP/1.1
>>> 
>>> Content-Length: 1131...etc...
>>> 		status: 	nil
>>> 		code: 	nil
>>> 		url: 	nil
>>> 
>>> WebClient>>sendRequest:contentBlock:
>>> 	Receiver: WebClient(Connected: http://source.squeak.org)
>>> 	Arguments and temporary variables:
>>> 		request: 	WebRequest(PUT /trunk/Files-tpr.179.mcz HTTP/1.1
>>> 
>>> Content-Length: 1131...etc...
>>> 		contentBlock: 	[closure] in WebClient>>sendRequest:content:size:
>>> 		response: 	nil
>>> 		repeatRedirect: 	false
>>> 		repeatAuth: 	false
>>> 		resp: 	nil
>>> 	Receiver''s instance variables:
>>> 		flags: 	7
>>> 		server: 	''source.squeak.org''
>>> 		scheme: 	''http''
>>> 		timeout: 	45
>>> 		stream: 	SocketStream[inbuf:4kb/outbuf:8kb]
>>> 		cookies: 	an OrderedCollection()
>>> 		proxyServer: 	nil
>>> 		lastScheme: 	''http''
>>> 		lastServer: 	''source.squeak.org''
>>> 		lastPort: 	80
>>> 		maxRedirect: 	10
>>> 		redirections: 	a Dictionary()
>>> 		userAgent: 	''WebClient/1.5 (WebClient-Core-ul.113; Squeak6.0alpha-17785; unix)''
>>> 		authParams: 	an IdentityDictionary(#password->''parqparq'' #username->''tpr'' )
>>> 		proxyParams: 	an IdentityDictionary()
>>> 		accessLog: 	nil
>>> 		debugLog: 	nil
>>> 
>>> WebClient>>sendRequest:content:size:
>>> 	Receiver: WebClient(Connected: http://source.squeak.org)
>>> 	Arguments and temporary variables:
>>> 		request: 	WebRequest(PUT /trunk/Files-tpr.179.mcz HTTP/1.1
>>> 
>>> Content-Length: 1131...etc...
>>> 		contentStream: 	a ReadStream
>>> 		streamSize: 	113153
>>> 	Receiver''s instance variables:
>>> 		flags: 	7
>>> 		server: 	''source.squeak.org''
>>> 		scheme: 	''http''
>>> 		timeout: 	45
>>> 		stream: 	SocketStream[inbuf:4kb/outbuf:8kb]
>>> 		cookies: 	an OrderedCollection()
>>> 		proxyServer: 	nil
>>> 		lastScheme: 	''http''
>>> 		lastServer: 	''source.squeak.org''
>>> 		lastPort: 	80
>>> 		maxRedirect: 	10
>>> 		redirections: 	a Dictionary()
>>> 		userAgent: 	''WebClient/1.5 (WebClient-Core-ul.113; Squeak6.0alpha-17785; unix)''
>>> 		authParams: 	an IdentityDictionary(#password->''parqparq'' #username->''tpr'' )
>>> 		proxyParams: 	an IdentityDictionary()
>>> 		accessLog: 	nil
>>> 		debugLog: 	nil
>>> 
>>> WebClient>>httpPut:content:type:do:
>>> 	Receiver: WebClient(Connected: http://source.squeak.org)
>>> 	Arguments and temporary variables:
>>> 		urlString: 	''http://source.squeak.org/trunk/Files-tpr.179.mcz''
>>> 		postData: 	#[80 75 3 4 20 0 0 0 8 0 137 102 102 76 235 107 114 35 16 0 0 0 14 0 ...etc...
>>> 		contentType: 	nil
>>> 		aBlock: 	[closure] in [] in HTTPSocket class>>httpPut:to:user:passwd:
>>> 		request: 	WebRequest(PUT /trunk/Files-tpr.179.mcz HTTP/1.1
>>> 
>>> Content-Length: 1131...etc...
>>> 	Receiver''s instance variables:
>>> 		flags: 	7
>>> 		server: 	''source.squeak.org''
>>> 		scheme: 	''http''
>>> 		timeout: 	45
>>> 		stream: 	SocketStream[inbuf:4kb/outbuf:8kb]
>>> 		cookies: 	an OrderedCollection()
>>> 		proxyServer: 	nil
>>> 		lastScheme: 	''http''
>>> 		lastServer: 	''source.squeak.org''
>>> 		lastPort: 	80
>>> 		maxRedirect: 	10
>>> 		redirections: 	a Dictionary()
>>> 		userAgent: 	''WebClient/1.5 (WebClient-Core-ul.113; Squeak6.0alpha-17785; unix)''
>>> 		authParams: 	an IdentityDictionary(#password->''parqparq'' #username->''tpr'' )
>>> 		proxyParams: 	an IdentityDictionary()
>>> 		accessLog: 	nil
>>> 		debugLog: 	nil
>>> 
>>> [] in HTTPSocket class>>httpPut:to:user:passwd:
>>> 	Receiver: HTTPSocket
>>> 	Arguments and temporary variables: <<error during printing>
>>> 	Receiver''s instance variables:
>>> 		superclass: 	Object
>>> 		methodDict: 	a MethodDictionary()
>>> 		format: 	0
>>> 		instanceVariables: 	nil
>>> 		organization: 	(''as yet unclassified'')
>>>
>>> 		subclasses: 	nil
>>> 		name: 	#HTTPSocket
>>> 		classPool: 	a Dictionary(#HTTPBlabEmail->'''' #HTTPPort->80 #HTTPProxyCredentials-...etc...
>>> 		sharedPools: 	nil
>>> 		environment: 	Smalltalk
>>> 		category: 	#''Network-Protocols''
>>> 
>>> BlockClosure>>ensure:
>>> 	Receiver: [closure] in HTTPSocket class>>httpPut:to:user:passwd:
>>> 	Arguments and temporary variables:
>>> 		aBlock: 	[closure] in HTTPSocket class>>httpPut:to:user:passwd:
>>> 		complete: 	nil
>>> 		returnValue: 	nil
>>> 	Receiver''s instance variables:
>>> 		outerContext: 	HTTPSocket class>>httpPut:to:user:passwd:
>>> 		startpc: 	165
>>> 		numArgs: 	0
>>> 
>>> HTTPSocket class>>httpPut:to:user:passwd:
>>> 	Receiver: HTTPSocket
>>> 	Arguments and temporary variables:
>>> 		contents: 	#[80 75 3 4 20 0 0 0 8 0 137 102 102 76 235 107 114 35 16 0 0 0 14 0 ...etc...
>>> 		url: 	''http://source.squeak.org/trunk/Files-tpr.179.mcz''
>>> 		user: 	''tpr''
>>> 		passwd: 	''parqparq''
>>> 		urlString: 	''http://source.squeak.org/trunk/Files-tpr.179.mcz''
>>> 		xhdrs: 	''''
>>> 		client: 	WebClient(Connected: http://source.squeak.org)
>>> 		resp: 	#(nil)
>>> 	Receiver''s instance variables:
>>> 		superclass: 	Object
>>> 		methodDict: 	a MethodDictionary()
>>> 		format: 	0
>>> 		instanceVariables: 	nil
>>> 		organization: 	(''as yet unclassified'')
>>>
>>> 		subclasses: 	nil
>>> 		name: 	#HTTPSocket
>>> 		classPool: 	a Dictionary(#HTTPBlabEmail->'''' #HTTPPort->80 #HTTPProxyCredentials-...etc...
>>> 		sharedPools: 	nil
>>> 		environment: 	Smalltalk
>>> 		category: 	#''Network-Protocols''
>>> 
>>> [] in MCHttpRepository>>writeStreamForFileNamed:replace:do:
>>> 	Receiver: a MCHttpRepository(http://source.squeak.org/trunk)
>>> 	Arguments and temporary variables: <<error during printing>
>>> 	Receiver''s instance variables:
>>> 		creationTemplate: 	''MCHttpRepository
>>> 	location: ''''http://source.squeak.org/trunk...etc...
>>> 		storeDiffs: 	nil
>>> 		cache: 	a Dictionary(''Compiler-eem.373.mcz''->a MCVersion(Compiler-eem.373) ''EToy...etc...
>>> 		allFileNamesCache: 	nil
>>> 		allVersionNamesCache: 	nil
>>> 		location: 	''http://source.squeak.org/trunk''
>>> 		user: 	''tpr''
>>> 		password: 	''parqparq''
>>> 		readerCache: 	a Dictionary(''Compiler-eem.373.mcz''->a MCMczReader ''EToys-dtl.320....etc...
>>> 		indexed: 	nil
>>> 
>>> BlockClosure>>on:do:
>>> 	Receiver: [closure] in MCHttpRepository>>writeStreamForFileNamed:replace:do:
>>> 	Arguments and temporary variables:
>>> 		exceptionOrExceptionSet: 	HTTPProgress
>>> 		handlerAction: 	[closure] in [] in MCHttpRepository>>displayProgress:during:
>>> 		handlerActive: 	true
>>> 	Receiver''s instance variables:
>>> 		outerContext: 	MCHttpRepository>>writeStreamForFileNamed:replace:do:
>>> 		startpc: 	160
>>> 		numArgs: 	0
>>> 
>>> [] in MCHttpRepository>>displayProgress:during:
>>> 	Receiver: a MCHttpRepository(http://source.squeak.org/trunk)
>>> 	Arguments and temporary variables: <<error during printing>
>>> 	Receiver''s instance variables:
>>> 		creationTemplate: 	''MCHttpRepository
>>> 	location: ''''http://source.squeak.org/trunk...etc...
>>> 		storeDiffs: 	nil
>>> 		cache: 	a Dictionary(''Compiler-eem.373.mcz''->a MCVersion(Compiler-eem.373) ''EToy...etc...
>>> 		allFileNamesCache: 	nil
>>> 		allVersionNamesCache: 	nil
>>> 		location: 	''http://source.squeak.org/trunk''
>>> 		user: 	''tpr''
>>> 		password: 	''parqparq''
>>> 		readerCache: 	a Dictionary(''Compiler-eem.373.mcz''->a MCMczReader ''EToys-dtl.320....etc...
>>> 		indexed: 	nil
>>> 
>>> [] 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: 	86
>>> 		numArgs: 	0
>>> 
>>> 
>>> --- The full stack ---
>>> SocketStream>>signalTimeout
>>> [] in SocketStream>>waitForData
>>> Socket>>waitForDataFor:ifClosed:ifTimedOut:
>>> SocketStream>>waitForData
>>> SocketStream>>receiveData
>>> SocketStream>>upToAll:limit:
>>> SocketStream>>upToAll:
>>> WebResponse>>readFrom:
>>> WebClient>>sendRequest:contentBlock:
>>> WebClient>>sendRequest:content:size:
>>> WebClient>>httpPut:content:type:do:
>>> [] in HTTPSocket class>>httpPut:to:user:passwd:
>>> BlockClosure>>ensure:
>>> HTTPSocket class>>httpPut:to:user:passwd:
>>> [] in MCHttpRepository>>writeStreamForFileNamed:replace:do:
>>> 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>>writeStreamForFileNamed:replace:do:
>>> MCHttpRepository(MCFileBasedRepository)>>writeStreamForFileNamed:do:
>>> MCHttpRepository(MCFileBasedRepository)>>basicStoreVersion:
>>> MCHttpRepository(MCRepository)>>storeVersion:
>>> [] in MCWorkingCopyBrowser>>saveVersion
>>> BlockClosure>>ensure:
>>> CursorWithMask(Cursor)>>showWhile:
>>> MCWorkingCopyBrowser>>saveVersion
>>> PluggableButtonMorphPlus(PluggableButtonMorph)>>performAction
>>> PluggableButtonMorphPlus>>performAction
>>> [] in PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp:
>>> Array(SequenceableCollection)>>do:
>>> PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp:
>>> PluggableButtonMorphPlus(Morph)>>handleMouseUp:
>>> MouseButtonEvent>>sentTo:
>>> PluggableButtonMorphPlus(Morph)>>handleEvent:
>>> PluggableButtonMorphPlus(Morph)>>handleFocusEvent:
>>> MorphicEventDispatcher>>doHandlingForFocusEvent:with:
>>> MorphicEventDispatcher>>dispatchFocusEvent:with:
>>> PluggableButtonMorphPlus(Morph)>>processFocusEvent:using:
>>> PluggableButtonMorphPlus(Morph)>>processFocusEvent:
>>> [] in [] in [] in HandMorph>>sendFocusEvent:to:clear:
>>> BlockClosure>>ensure:
>>> MouseButtonEvent(MorphicEvent)>>becomeActiveDuring:
>>> [] in [] in HandMorph>>sendFocusEvent:to:clear:
>>> BlockClosure>>ensure:
>>> HandMorph>>becomeActiveDuring:
>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>> BlockClosure>>ensure:
>>> -- and more not shown --'
>>> tim
>>> --
>>> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
>>> Useful random insult:- Hid behind the door when they passed out brains.
>>> 
>>> 
>>> 
>>


More information about the Squeak-dev mailing list