Hi Levente,
Sorry for my delay in replying, these tips are very helpful.
On Tue, Oct 27, 2020 at 12:59:55AM +0100, Levente Uzonyi wrote:
Hi David
On Mon, 26 Oct 2020, David T. Lewis wrote:
I do not know if it is related to the CI issues, but here is one clue:
I am maintaining a V3 "trunk" image that attempts to keep in sync with trunk except for changes that pertain to Spur object format (immediate characters, etc). As of Monticello-ul.728 I get failures in SSL connection to e.g. source.squeak.org. The failures happen with both Cog and the interpreter VM (although the specific error symptoms are different).
I can bypass the errors by reverting MCHttpRepository>>httpGet:arguments: to its prior version (stamped ul 9/20/2019).
That version adds some rewrite rules, so some http urls are converted to https. If that doesn't work, then there is a problem with the SqueakSSL plugin in your VM. Does the following print true?
| response | response := WebClient httpGet: 'https://source.squeak.org'. response code = 200
The plugin is out of date in the interpreter VM, and I get a certificate mismatch that is almost certainly related to the plugin.
With a Cog VM, I get a primitive failure in SqueakSSL>>primitiveSSLCreate.
So in both cases it is presumably a plugin issue.
Instead of reverting #httpGet:arguments: you can remove the individual http->https rewrite rules with the following snippet:
MCHttpRepository urlRewriteRules in: [ :rules | rules size // 3 timesRepeat: [ | set | set := rules removeFirst: 3. (set second beginsWith: 'https') ifFalse: [ rules addAll: set ] ] ]
Thanks for explaining, I understand it now.
But it would be better to use https for those repositories.
Yes for sure.
Thank you!
Dave
Levente
I have not had time to dig into the underlying cause of the problem, but it seems likely that any CI test for Cog that requires the use of secure sockets will fail as of Monticello-ul.728 or later. This would include any test that needs to access the source.squeak.org repository.
Dave