smalltalkCI icon indicating copy to clipboard operation
smalltalkCI copied to clipboard

Warnings abort builds on Squeak trunk

Open j4yk opened this issue 4 years ago • 6 comments

Seems like something has changed and now builds fail when the tests signal warnings:

https://travis-ci.org/hpi-swa/Squot/builds/586848878

j4yk avatar Sep 19 '19 07:09 j4yk

I don't understand what's going on. What's the new failure that you're are seeing? I know that Metacello was recently updated plus trunk changes rapidly at the moment.

fniephaus avatar Sep 21 '19 08:09 fniephaus

The tests in this build signal Warnings, it has been like that for a while now. When you look at the build I linked to, you will see that the Trunk builds fail, while the Squeak 5.2 builds don't. The Trunk builds stop when the Warning is signalled, the Squeak 5.2 builds don't.

Maybe something has changed in Squeak trunk that prevents smalltalkCI from continuing/ignoring warnings?

j4yk avatar Sep 21 '19 09:09 j4yk

Also note that this is not related to Metacello: the issue arises while the tests are being run, so Metacello has no dealings with it anymore at this point.

j4yk avatar Sep 21 '19 09:09 j4yk

You are referring to this warning, right? I wouldn't be surprised if this is a side-effect of the recent TestCase changes that @marceltaeumel pushed. Will debug this when I have some time...

fniephaus avatar Sep 21 '19 20:09 fniephaus

Correct. But now I noticed that further tests run after the warning, but then it suddenly stops: https://travis-ci.org/hpi-swa/Squot/jobs/586848883#L453

So maybe it is not related to the warning after all... in more recent builds the VM even crashed with "Illegal instruction" or "Segmentation fault" when one of the tests ran into a timeout. But I don't know whether this is another issue or connected to this one.

j4yk avatar Sep 21 '19 21:09 j4yk

I'm running into the same issue. From what I've figured out the problem arises from a change to UnhandledWarning, which used to be implemented like this (Squeak 5.2):

  ^ ToolSet
    debugContext: self exception signalerContext
    label: 'Warning'
    contents: self exception messageText , '\\Select Proceed to continue, or close this window to cancel the operation.' withCRs

And in 5.3 looks like this:

  ^ (Smalltalk classNamed: #ToolSet)
    ifNotNil: [:ts | ts handleWarning: self exception]
    ifNil: ["Ignore like a Notification." nil]

The two methods do very different things when using CommandLineToolSet, in the former case the warning is logged and execution continues, in the latter the warning is logged and then the image is quit forcibly.

I suggest that SmalltalkCI supply its own ToolSet class for overriding the behaviour of CommandLineToolSet for warnings.

BTW, the warnings that I'm concerned with are dependency load warnings from MC that Metacello does not intercept for some reason.

theseion avatar Mar 08 '20 10:03 theseion