Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Errors after loading websockets to Pharo 9 #74

Open
jecisc opened this issue Feb 2, 2022 · 4 comments
Open

Errors after loading websockets to Pharo 9 #74

jecisc opened this issue Feb 2, 2022 · 4 comments

Comments

@jecisc
Copy link
Contributor

jecisc commented Feb 2, 2022

Hi,

I have a project loading Zinc for the websockets.

The dependency is defined like this:

spec
		baseline: 'ZincHTTPComponents'
		with: [ spec
				loads: #('WebSocket');
				repository: 'github://svenvc/zinc:master/repository' ]

After loading this project I seem to get random errors in Pharo. I got one using Iceberg and I from the Process class.
Both errors were from Zinc classes.
I also have a missing dependency warning during the loading.

Sadly I closed the debuggers before copying the stack.
Did the loading of websockets got tested in Pharo 9?

@jecisc
Copy link
Contributor Author

jecisc commented Feb 2, 2022

Hum, I see that my repository was not up to date but at the last release because I was using the release before trying with master.

This might be resolved with the latest zinc. I'll try and reopen if it is not the case. Sorry for the noise.

@jecisc jecisc closed this as completed Feb 2, 2022
@jecisc
Copy link
Contributor Author

jecisc commented Feb 2, 2022

I'm reopening because even with the latest Zinc I get errors.

Just letting my image live cause me this error:

Process(Object)>>doesNotUnderstand: #isValid
[ 
		serverSocket isValid 
			ifFalse: [
				"will trigger #ifCurtailed: block and destroy socket"
				^ self listenLoop ].
		self serveConnectionsOn: serverSocket ] in [ [ 
		serverSocket isValid 
			ifFalse: [
				"will trigger #ifCurtailed: block and destroy socket"
				^ self listenLoop ].
		self serveConnectionsOn: serverSocket ] repeat ] in ZnMultiThreadedServer>>listenLoop in Block: [ ...
FullBlockClosure(BlockClosure)>>repeat
[ [ 
		serverSocket isValid 
			ifFalse: [
				"will trigger #ifCurtailed: block and destroy socket"
				^ self listenLoop ].
		self serveConnectionsOn: serverSocket ] repeat ] in ZnMultiThreadedServer>>listenLoop in Block: [ [ ...
FullBlockClosure(BlockClosure)>>ifCurtailed:
ZnManagingMultiThreadedServer(ZnMultiThreadedServer)>>listenLoop
[ self listenLoop ] in [ [ self listenLoop ] repeat ] in ZnSingleThreadedServer>>start in Block: [ self listenLoop ]
FullBlockClosure(BlockClosure)>>repeat
[ [ self listenLoop ] repeat ] in ZnSingleThreadedServer>>start in Block: [ [ self listenLoop ] repeat ]
[ 
			  self value.
			  Processor terminateActive ] in FullBlockClosure(BlockClosure)>>newProcess in Block: [ ...

In ZnMultiThreadedServer>>#listenLoop

@jecisc jecisc reopened this Feb 2, 2022
@svenvc
Copy link
Owner

svenvc commented Feb 2, 2022

You will have to be more specific and/or isolate the error better.

If you take a clean Pharo 9, load the latest Zinc from GitHub with the WebSocket group and run the unit tests for WebSockets, are they green or not (there could be a test that fails because a public server disappeared) ?

Are you maybe loading into an image that has live server instances ?

There are always some loading warnings because Zinc in Pharo differs too much from the latest official code, most of these are benign, but I should see them to be sure.

@SabineMa
Copy link

SabineMa commented Oct 27, 2022

Bildschirmfoto 2022-10-27 um 16 44 58

I have the same problem.

It occurs randomly and it regularly stops our pipelines to run. @svenvc do you have a workaround? I was already thinking about implementing isValid in object ...because it stops our processes...and I was not yet able to find the reason for it

Bildschirmfoto 2022-10-27 um 16 51 04

Can also not yet report more than that I load beneath a lot of other stuff this:

spec
	baseline: 'Seaside3'
	with: [ spec
			loads: #('default');
			repository: 'github://SeasideSt/Seaside:v3.4.3/repository' ] 

spec baseline: 'Voyage' with: [ 
	spec
		loads: #( 'mongo' );
		repository: 'github://pharo-nosql/voyage:1.7/mc' ] 

spec
	baseline: 'ZincHTTPComponents'
	with: [ spec repository: 'github://svenvc/zinc:v4/repository' ]
	
		spec
	baseline: 'ZTimestamp'
	with: [ spec repository: 'github://svenvc/ztimestamp:v24/repository' ]

Pharo8, occurs on all platforms unix, windows and Mac

I wonder that at that moment a server is running because it occurs at any time when loading....

after some investigation I found this :-)

https://discord.com/channels/223421264751099906/311419918631305218/708953040794812418

and I see, that I have to change my seaside loading baseline.

Just for completeness, I will not delete this comment. So when I am investigating next year I will find this :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants