[squeak-dev] The Trunk: Tests-cmm.428.mcz

Marcel Taeumel marcel.taeumel at hpi.de
Mon Apr 20 15:05:47 UTC 2020


> Why doesn't the test timeout catch it? 

Hmm... seems to be that there is an interference between recursive printOn: and Squeak's process scheduling. The VM is not even able to signal the UserInterruptSemaphore so CMD+Dot does not work either. Memory consumption is just going up and up and up ...

Best,
Marcel
Am 19.04.2020 00:29:44 schrieb Chris Muller <asqueaker at gmail.com>:
Why doesn't the test timeout catch it?  I thought that was its primary purpose.

On Fri, Apr 17, 2020 at 4:30 AM Marcel Taeumel <marcel.taeumel at hpi.de [mailto:marcel.taeumel at hpi.de]> wrote:

The bigger issue is that we cannot interrupt recursive calls on printOn in "any case" .... :-/
Am 17.04.2020 09:34:40 schrieb Marcel Taeumel <marcel.taeumel at hpi.de [mailto:marcel.taeumel at hpi.de]>:
Thanks Fabio!

We'll take a look at this test. I think it is not a good idea to modify a test's #printString as part of a test because that #printString is used to show failing tests in tools. ;-)

Best,
Marcel
Am 16.04.2020 10:54:10 schrieb Fabio Niephaus <lists at fniephaus.com [mailto:lists at fniephaus.com]>:
Trunk builds are working again:
https://travis-ci.org/github/squeak-smalltalk/squeak-app/builds/675633268 [https://travis-ci.org/github/squeak-smalltalk/squeak-app/builds/675633268]


Bundles are at:
http://files.squeak.org/6.0alpha/Squeak6.0alpha-19582-64bit/ [http://files.squeak.org/6.0alpha/Squeak6.0alpha-19582-64bit/]

http://files.squeak.org/6.0alpha/Squeak6.0alpha-19582-32bit/ [http://files.squeak.org/6.0alpha/Squeak6.0alpha-19582-32bit/]


Fabio

On Thu, Apr 16, 2020 at 10:16 AM Fabio Niephaus <lists at fniephaus.com [mailto:lists at fniephaus.com]> wrote:

On Thu, Apr 16, 2020 at 9:46 AM Tobias Pape <Das.Linux at gmx.de [mailto:Das.Linux at gmx.de]> wrote:


> On 16.04.2020, at 09:41, Fabio Niephaus <lists at fniephaus.com [mailto:lists at fniephaus.com]> wrote:
>
> This change causes "Cannot allocate memory" errors in the 32bit VM during testing (and therefore fails trunk builds):
> https://travis-ci.org/github/squeak-smalltalk/squeak-app/jobs/675293747#L6063 [https://travis-ci.org/github/squeak-smalltalk/squeak-app/jobs/675293747#L6063]
>

> Please fix,

Well, it exposes a bug in trunk, right?
This test case merely documents this :)


If it is failing this hard, the test needs to be excluded from CI (e.g. via [1]). Our CI picks up new tests automatically, which is almost always what we want. Except when adding these kinds of tests (I'm going to exclude the test case now).

This was merged a month ago, about the time trunk 64bit broke. I wish we'd take CI more seriously.

Fabio

[1] https://github.com/squeak-smalltalk/squeak-app/blob/2541c1083bbda64a0839e3858f7517a493219de9/smalltalk-ci/Squeak64-trunk.ston#L8 [https://github.com/squeak-smalltalk/squeak-app/blob/2541c1083bbda64a0839e3858f7517a493219de9/smalltalk-ci/Squeak64-trunk.ston#L8]
 

-t

> Fabio
>
> Excerpt of stack trace:
> ........
> 0xfe9d53a8 s [] in CaseErrorTest(Object)>printStringLimitedTo:
> 0xfe9d5430 s String class(SequenceableCollection class)>streamContents:limitedTo:
> 0xfe9d5538 s CaseErrorTest(Object)>printStringLimitedTo:
> 0xfe9d5598 s CaseErrorTest(Object)>printString
> 0xfe9d55f8 s CaseErrorTest(Object)>caseError
> 0xfe9d5658 s CaseErrorTest>printOn:
> 0xfe9d56b8 s [] in CaseErrorTest(Object)>printStringLimitedTo:
> 0xfe9d5740 s String class(SequenceableCollection class)>streamContents:limitedTo:
> 0xfe9d5848 s CaseErrorTest(Object)>printStringLimitedTo:
> 0xfe9d58a8 s CaseErrorTest(Object)>printString
> 0xfe9d5908 s CaseErrorTest(Object)>caseError
> 0xfe9d5968 s CaseErrorTest>printOn:
> ........
>
> On Sat, Mar 14, 2020 at 12:09 AM <commits at source.squeak.org [mailto:commits at source.squeak.org]> wrote:
> Chris Muller uploaded a new version of Tests to project The Trunk:
> http://source.squeak.org/trunk/Tests-cmm.428.mcz [http://source.squeak.org/trunk/Tests-cmm.428.mcz]
>
> ==================== Summary ====================
>
> Name: Tests-cmm.428
> Author: cmm
> Time: 13 March 2020, 6:09:37.220407 pm
> UUID: cd4af6d7-7fed-44c1-bfe7-64a2de3cb7ee
> Ancestors: Tests-nice.427
>
> Tests for #caseError.
>
> =============== Diff against Tests-nice.427 ===============
>
> Item was added:
> + TestCase subclass: #CaseErrorTest
> +       instanceVariableNames: ''
> +       classVariableNames: ''
> +       poolDictionaries: ''
> +       category: 'Tests-Bugs'!
>
> Item was added:
> + ----- Method: CaseErrorTest>>printOn: (in category 'tests') -----
> + printOn: aStream
> +       3 caseOf:
> +               { [1] -> [aStream nextPutAll: 'option 1'].
> +               [2] -> [aStream nextPutAll: 'option 2'] }
> +       "caseError in printOn:"!
>
> Item was added:
> + ----- Method: CaseErrorTest>>testCaseError (in category 'tests') -----
> + testCaseError
> +       self
> +               should:
> +                       [2 caseOf:
> +                               { [1] -> ['option 1'] }]
> +               raise: Error!
>
> Item was added:
> + ----- Method: CaseErrorTest>>testCaseErrorInPrintOn (in category 'tests') -----
> + testCaseErrorInPrintOn
> +       self should: [ self printString ] raise: Error!
>
>
>




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200420/c50a83da/attachment.html>


More information about the Squeak-dev mailing list